Linux efax命令介绍
efax是一个集成的传真程序,用于Unix-like的计算机系统,由Casas Communications Engineering自1993年以来生产。该软件允许用户使用计算机、传真调制解调器和电话线发送和接收传真。它是基于命令行的,但也有几个图形用户界面可供选择。efax是开源和免费的软件,遵循GPL许可协议。它被包含在几个主要的Linux发行版中,包括Debian、Red Hat、Mandriva等。还有一个BSD版本,它是Apple Mac OS X Darwin系统的一部分。
Linux efax命令适用的Linux版本
efax命令可以在大多数Linux发行版中使用,只要安装了efax软件包和一个支持Class 1, 2或2.0传真协议的传真调制解调器。如果你的Linux发行版没有预装efax软件包,你可以使用以下命令来安装它(根据你的发行版选择合适的命令):
- Debian/Ubuntu/Mint:
sudo apt-get install efax
- Red Hat/Fedora/CentOS:
sudo yum install efax
(CentOS 7及以下) 或sudo dnf install efax
(CentOS 8及以上) - Arch/Manjaro:
sudo pacman -S efax
- openSUSE:
sudo zypper install efax
Linux efax命令的基本语法
efax命令的基本语法如下:
efax [options] [-t num [file ...]]
其中,options
是一些可选的参数,用于设置传真调制解调器、传真标题、传真字体等。-t num
是指定要发送传真的电话号码,可以使用国际格式(如+86 10 12345678)。file
是指定要发送的传真文件,可以是文本文件或者图像文件(支持pbm、pgm、ppm、tiff格式)。
Linux efax命令的常用选项说明
efax命令有很多选项,这里只列出一些常用的:
选项 | 说明 |
---|---|
-a cmd | 使用ATcmd命令来应答电话。默认是"A"。 |
-c caps | 设置本地调制解调器的能力。参见下面关于能力的部分,了解caps的格式和含义。对于Class 1,默认是1,n,0,2,0,0,0,0,其中n是调制解调器支持的最高速度。对于Class 2,默认由调制解调器决定。 |
-d dev | 使用连接到设备dev的传真调制解调器。默认是/dev/modem。 |
-f fnt | 使用字体文件fnt来生成标题。默认是一个内置的8x16字体。参见efix(1) -f选项了解字体文件格式。 |
-h hdr | 在每页顶部放置字符串hdr作为标题。hdr中的第一个%d被替换为页码,第二个(如果有)被替换为发送页数。 |
-i str -j str -k str | 向调制解调器发送ATstr命令来初始化它。-i命令在调制解调器进入传真模式之前发送,-j命令在调制解调器进入传真模式之后发送,-k命令在efax退出之前发送。唯一的默认值是一个挂断(ATH)命令,在退出之前只有在没有其他-k选项时才发送。可以使用多个选项。 |
-l id | 设置本地标识字符串为id。id应该是本地电话号码的国际格式(例如+1 800 555 1212)。这会传递给远程传真机。有些传真机可能不接受除了数字、空格和'+'之外的字符。 |
-o opt | 使用选项opt来适应非标准的传真调制解调器协议。参见下面的调制解调器要求部分了解更多细节。选项有: 0 强制使用Class 2.0传真调制解调器命令。调制解调器必须支持Class 2.0。 2 强制使用Class 2传真调制解调器命令。调制解调器必须支持Class 2。 1 强制使用Class 1传真调制解调器命令。调制解调器必须支持Class 1。 默认情况下,efax会查询调制解调器,并使用上述三个类别中第一个被调制解调器支持的类别。 a 使用软件自适应应答方法。如果第一次尝试应答电话没有在8秒内建立数据连接,电话会暂时挂断并再次以传真模式应答(参见下面的“接受传真和数据电话”部分)。 e 忽略调制解调器初始化命令中的错误。 f 使用“虚拟流控”。efax会尝试估计调制解调器发送缓冲区中的字节数,并根据需要暂停以避免填满它。假设调制解调器的缓冲区至少能容纳96个字节。这个特性在Class 2调制解调器上不能正常工作,因为它们会在扫描线上添加冗余填充。只有在配置流控有问题时才使用这个选项。 h 使用硬件(RTS/CTS)和软件(XON/XOFF)流控。 |
-Q n | 设置错误计数为n。如果n个连续的传真页发送失败,efax会放弃发送剩余的页并退出。默认是3。 |
-r file | 接收传真并将其保存到文件file中。如果file是一个目录,那么每个传真都会保存到该目录中,文件名是接收时间和传真号码的组合。 |
-v type | 设置信息类型为type。type是一个数字,表示要显示的信息级别,从0(最少)到5(最多)。默认是1。 |
Linux efax命令的实例
以下是一些efax命令的实例:
- 发送一个文本文件test.txt到电话号码+86 10 12345678:
[linux@bashcommandnotfound.cn ~]$ efax -t +861012345678 test.txt
- 发送一个图像文件test.tiff到电话号码+86 10 12345678,并设置标题为"From: Alice":
[linux@bashcommandnotfound.cn ~]$ efax -h "From: Alice" -t +861012345678 test.tiff
- 接收传真并将其保存到当前目录下,文件名为recv.tiff:
[linux@bashcommandnotfound.cn ~]$ efax -r recv.tiff
- 接收传真并将其保存到fax目录下,文件名由接收时间和传真号码决定:
[linux@bashcommandnotfound.cn ~]$ efax -r fax
- 使用/dev/ttyS0设备作为传真调制解调器,并设置本地标识为+86 10 87654321:
[linux@bashcommandnotfound.cn ~]$ efax -d /dev/ttyS0 -l +861087654321
- 发送多个文件到同一个电话号码,可以使用通配符或者列出文件名,用空格分隔:
[linux@bashcommandnotfound.cn ~]$ efax -t +861012345678 *.txt
[linux@bashcommandnotfound.cn ~]$ efax -t +861012345678 test1.txt test2.txt test3.txt
- 发送多个文件到不同的电话号码,可以使用-t选项多次,每次指定一个电话号码和一个或多个文件名:
[linux@bashcommandnotfound.cn ~]$ efax -t +861012345678 test1.txt -t +861087654321 test2.txt test3.txt
- 使用自定义的字体文件和标题来发送传真,字体文件可以用efix命令生成,标题可以包含日期和时间等变量:
[linux@bashcommandnotfound.cn ~]$ efax -f myfont.fnt -h "From: Alice %d/%m/%y %H:%M" -t +861012345678 test.txt
- 使用-o选项来强制使用Class 1传真协议,并设置本地调制解调器的能力为支持最高14400 bps的传输速度:
[linux@bashcommandnotfound.cn ~]$ efax -o 1 -c 1,5,0,2,0,0,0,0 -t +861012345678 test.txt
Linux efax命令的快捷键
在efax命令运行时,可以使用以下快捷键来控制传真的发送或接收:
快捷键 | 说明 |
---|---|
Ctrl-C | 终止当前的传真操作并退出efax。 |
Ctrl-Z | 暂停当前的传真操作。 |
Ctrl-Q | 恢复暂停的传真操作。 |
Ctrl-S | 跳过当前的传真页。 |
Ctrl-R | 重发当前的传真页。 |
Linux efax命令的注意事项
- efax命令需要root权限或者dialout组的成员才能访问传真设备。
- efax命令只能发送或接收一次传真,如果要连续发送或接收多个传真,可以使用efix命令或者图形界面。
评论区