Linux cu命令介绍
cu命令是call up的缩写,用来连接到另一个Unix系统,并作为一个拨入终端。它也可以进行简单的文件传输,但没有错误检查。cu命令除了选项之外,只接受一个参数。如果参数是字符串"dir",cu会直接连接到端口。这只能由有写入端口权限的用户使用,因为它允许重新编程调制解调器。否则,如果参数以数字开头,它会被认为是要拨打的电话号码。否则,它会被认为是要连接的系统名称。-z或--system选项可以用来指定以数字开头的系统名称,-c或--phone选项可以用来指定不以数字开头的电话号码。cu命令在UUCP(Unix-to-Unix copy)配置文件中查找要使用的端口。如果给出了一个简单的系统名称,它会选择适合该系统的端口。-p, --port, -l, --line, -s和--speed选项可以用来控制端口选择。当与远程系统建立连接时,cu会分成两个进程。一个从端口读取并写入终端,另一个从终端读取并写入端口。cu提供了一些在会话中可以使用的命令。这些命令都以一个转义字符开头,初始值为~(波浪号)。转义字符只在行首被识别。要在行首发送一个转义字符到远程系统,必须输入两次。所有的命令都是单个字符或以%(百分号)开头的单词。
适用的Linux版本
cu命令是Linux系统内置的一个shell命令,几乎所有的Linux发行版都支持它,无需安装。不过,不同的shell可能会有一些细微的差别,比如bash和zsh就有一些不同的选项和功能。本文主要以bash为例进行讲解,如果你使用的是其他的shell,请参考相应的文档。
Linux cu命令的基本用法
cu命令的语法格式如下:
cu [选项] [系统 | 电话 | "dir"]
其中,[选项]是可选的,用来指定一些额外的功能;[系统 | 电话 | "dir"]是要连接到的目标,可以是系统名称、电话号码或"dir"字符串。
Linux cu命令的常用选项说明
cu命令有以下几个常用的选项:
选项 | 说明 |
---|---|
-c, --phone | 指定要拨打的电话号码 |
-l, --line | 指定要使用的设备或端口 |
-p, --port | 指定要使用的端口名称 |
-s, --speed | 指定要使用的波特率 |
-z, --system | 指定要连接到的系统名称 |
Linux cu命令的实例
下面给出一些使用cu命令的实例,以及相应的解释:
# 连接到本地端口/dev/ttyS0
cu dir /dev/ttyS0
# 连接到远程系统foo,并指定波特率为9600
cu -s 9600 foo
# 连接到电话号码123456789,并指定设备为/dev/ttyUSB0
cu -l /dev/ttyUSB0 123456789
# 在会话中发送文件file.txt到远程系统
~> file.txt
# 在会话中从远程系统接收文件file.txt,并保存为local.txt
~< local.txt cat file.txt
# 在会话中运行远程命令ls,并显示输出
~$ ls
# 在会话中暂停cu,并进入本地shell
~z
Linux cu命令注意事项
- cu命令只能连接到已经存在的系统或电话号码,如果指定的目标不存在,则会报错。如果想要创建一个新的系统或电话号码并连接到它,可以使用其他的工具或命令。
- cu命令只能连接到有权限访问的系统或电话号码,如果指定的目标没有相应的读取或写入权限,则会报错。如果想要连接到没有权限的目标,可以使用sudo命令和cu命令结合,或者使用其他的工具或命令。
- cu命令可以使用通配符(wildcard)来匹配系统名称或电话号码,比如cu 1*可以连接到以1开头的第一个系统或电话号码。不过,这种方式可能会导致一些意外的结果,比如如果有多个以1开头的系统或电话号码,或者有一个以1开头的文件。为了避免这种情况,建议使用tab键来自动补全系统名称或电话号码,或者使用双引号或单引号来包围系统名称或电话号码。
- cu命令可以使用环境变量(environment variable)来表示系统名称或电话号码,比如cu $FOO可以连接到环境变量FOO所表示的系统或电话号码。不过,这种方式可能会受到环境变量的影响,比如如果环境变量被修改或删除,则会导致cu命令失效。为了避免这种情况,建议使用实际的系统名称或电话号码,或者使用set命令或export命令来设置或导出环境变量。
评论区