lftp

lftp命令是一款优秀的文件客户端程序,它支持ftp、SETP、HTTP和FTPs等多种文件传输协议。lftp支持tab自动补全,记不得命令双击tab键,就可以看到可能的选项了。

语法

lftp(选项)(参数)

选项

-f:指定lftp指令要执行的脚本文件;
-c:执行指定的命令后退出;
--help:显示帮助信息;
--version:显示指令的版本号。

参数

站点:要访问的站点的ip地址或者域名。

实例

登录ftp

lftp 用户名:密码@ftp地址:传送端口(默认21)

也可以先不带用户名登录,然后在接口界面下用login命令来用指定账号登录,密码不显示。

查看文件与改变目录

ls
cd 对应ftp目录

下载

get当然是可以的,还可以:

mget -c *.pdf    #把所有的pdf文件以允许断点续传的方式下载。
mirror aaa/      #将aaa目录整个的下载下来,子目录也会自动复制。
pget -c -n 10 file.dat   #以最多10个线程以允许断点续传的方式下载file.dat,可以通过设置pget:default-n的值而使用默认值。

上传

同样的put、mput都是对文件的操作,和下载类似。

mirror -R 本地目录名

将本地目录以迭代(包括子目录)的方式反向上传到ftp site。

模式设置

set ftp:charset gbk

远程ftp site用gbk编码,对应的要设置为utf8,只要替换gbk为utf8即可。

set file:charset utf8

本地的charset设定为utf8,如果你是gbk,相应改掉。

set ftp:passive-mode 1

使用被动模式登录,有些site要求必须用被动模式或者主动模式才可以登录,这个开关就是设置这个的。0代表不用被动模式。

书签

其实命令行也可以有书签,在lftp终端提示符下:

bookmark add ustc

就可以把当前正在浏览的ftp site用ustc作为标签储存起来。以后在shell终端下,直接lftp ustc就可以自动填好用户名和密码,进入对应的目录了。

bookmark edit

会调用编辑器手动修改书签。当然,也可以看到,这个书签其实就是个简单的文本文件。密码,用户名都可以看到。

配置文件

vim /etc/lftp.conf

一般,我会添加这几行:

set ftp:charset gbk
set file:charset utf8
set pget:default-n 5

这样,就不用每次进入都要打命令了。其他的set可以自己tab然后help来看。

ipcalc

ipcalc命令是一个简单的ip地址计算器,可以完成简单的IP地址计算任务。

语法

ipcalc(选项)

选项

-b:由给定的IP地址和网络掩码计算出广播地址;
-h:显示给定UP地址所对应的主机名;
-m:由给定的IP地址计算器网络掩码;
-p:显示给定的掩码或IP地址的前缀;
-n:由给定的IP地址和网络掩码计算网络地址;
-s:安静模式;
--help:显示帮助信息。

实例

[root@localhost ~]# ipcalc -p 192.168.2.1 255.255.255.0
PREFIX=24

[root@localhost ~]# ipcalc -n 192.168.2.1 255.255.255.0
NETWORK=192.168.2.0

[root@localhost ~]# ipcalc -h 127.0.0.1
hostname=localhost.localdomain

[root@localhost ~]# ipcalc -m 192.168.2.1
NETMASK=255.255.255.0

[root@localhost ~]# ipcalc -pnbm 192.168.2.1 255.255.255.0
NETMASK=255.255.255.0
PREFIX=24
BROADCAST=192.168.2.255
NETWORK=192.168.2.0

elinks

elinks命令能实现一个纯文本界面的WWW浏览器,操作方式与“lynx”类似。

语法

elinks(选项)(参数)

选项

-anonymous:是否使用匿名帐号方式;
-auto-submit:对于偶然遇到的第一个表单是否自动提交;
-config-dir:指定elinks指令运行时读取和写入自身的配置和运行状态的存放目录;
-dump:将HTML文档以纯文本的方式打印到标准输出设备;
-version:显示指令的版本信息;
-h:显示帮助信息。

参数

URL:指定要访问的URL地址。

lftpget

lftpget命令通过调用lftp指令下载指定的文件。

语法

lftpget(选项)(参数)

选项

-c:继续先前的下载;
-d:输出调试信息;
-v:输出详细信息。

参数

文件:指定要下载的文件,文件必须是合法的URL路径。

mailq

mailq命令用户显示待发送的邮件队列,显示的每一个条目包括邮件队列id、邮件大小、加入队列时间、邮件发送者和接受者。如果邮件最后一次尝试后还没有将邮件投递出去,则显示发送失败的原因。

语法

mailq(选项)

选项

-v:显示详细的信息。

实例

[root@localhost ~]# mailq -v
/var/spool/mqueue is empty
                Total requests: 0

elm

elm命令是一个E-mail客户端管理程序,它提供了纯文本交互式全屏幕界面。

语法

elm(选项)

选项

-s<邮件主题>:指定新邮件的邮件主题;
-f<目录>:开启程序时,读取指定的目录;
-h:显示帮助;
-i<文件名>:将文件内容插入送出的邮件中;
-m:进入elm后,不显示指令说明;
-v:显示elm的版本信息;
-z:若收件信箱没有邮件,则不启动elm程序。

lynx

lynx命令是纯文本模式的网页浏览器,不支持图形、音视频等多媒体信息。

语法

lynx(选项)(参数)

选项

-case:在搜索字符串时,区分大小写;
-ftp:关闭ftp功能;
-nobrowse:关闭目录浏览功能;
-noclor:关闭色彩显示模式;
-reload:更新代理服务器的缓存,只对首页有效;
--color:如果系统支持彩色模式,则激活彩色模式;
--help:显示指令的帮助信息;
--versiom:显示指令的版本信息。

参数

URL:指定要访问的网站的URL地址。

内部命令

移动命令

下方向键:页面上的下一个链接(用高亮度显示)。
上方向键:页面上的前一个链接(用高亮度显示)。
回车和右方向键:跳转到链接指向的地址。
左方向键:回到上一个页面。

滚动命令

+、Page-Down、Space、Ctrl+f:向下翻页。
-、Page-Up、b、Ctrl+b:向上翻页。
Ctrl+a:移动到当前页的最前面。
Ctrl+e:移动到当前页的最后面。
Ctrl+n:向下翻两行。
Ctrl+p:往回翻两行。
):向下翻半页。
(:往回翻半页。
#:回到当前页的 Toolbar 或 Banner。

文件操作命令

c:建立一个新文件。
d:下载选中的文件。
E:编辑选中的文件。
f:为当前文件显示一个选项菜单。
m:修改选中文件的名字或位置。
r:删除选中的文件。
t:Tag highlighted file。
u:上载一个文件到当前目录。

其他命令

?、h:帮助。
a:把当前链接加入到一个书签文件里。
c:向页面的拥有者发送意见或建议。
d:下载当前链接。
e:编辑当前文件。
g:跳转到一个用户 指定的URL或文件。
G:编辑当前页的URL,并跳转到这个URL。
i:显示文档索引。
j:执行预先定义的“短”命令。
k:显示键盘命令列表。
l:列出当前页上所有链接的地址。
m:回到首页 。
o:设置选项。
p:把当前页输出到文件,e-mail,打印机或其他地方。
q:退出。
/:在当前页内查找字符串。
s:在外部搜索输入的字符串。
n:搜索下一个。
v:查看一个书签文件。
V:跳转到访问过的地址。
x:不使用缓存。
z:停止当前传输。
[backspace]:跳转到历史页(同 V 命令)。
=:显示当前页的信息。
:查看当前页的源代码。
!:回到shell提示符下。
_:清除当前任务的所有授权信息。
*:图形链接模式的切换开关。
@:8位传输模式或CJK模式的切换开关。
[:pseudo_inlines 模式的切换开关。
]:为当前页或当前链接发送一个“head”请求。
Ctrl+r:重新装如当前页并且刷新屏幕。
Ctrl+w:刷新屏幕。
Ctrl+u:删除输入的行。
Ctrl+g:取消输入或者传送。
Ctrl+t:跟踪模式的切换开关。
;:看Lynx对当前任务的跟踪记录。
Ctrl+k:调用 Cookie Jar 页。
数字键:到后面的第 n 个链接。

mailstat

mailstat命令用来显示到达的邮件状态。

语法

mailstat(选项)(参数)

选项

-k:保持邮件日志文件的完整性,不清空日志文件;
-l:使用长格式显示邮件状态;
-m:合并任何错误信息到一行中显示;
-o:使用老的邮件日志邮件;
-t:使用简洁的格式显示邮件状态;
-s:如果没有邮件则不输出任何信息。

参数

邮件日志文件:指定要读取邮件日志文件。

mail

mail命令是命令行的电子邮件发送和接收工具。操作的界面不像elm或pine那么容易使用,但功能非常完整。

语法

mail(选项)(参数)

选项

-b<地址>:指定密件副本的收信人地址;
-c<地址>:指定副本的收信人地址;
-f<邮件文件>:读取指定邮件文件中的邮件;
-i:不显示终端发出的信息;
-I:使用互动模式;
-n:程序使用时,不使用mail.rc文件中的设置;
-N:阅读邮件时,不显示邮件的标题;
-s<邮件主题>:指定邮件的主题;
-u<用户帐号>:读取指定用户的邮件;
-v:执行时,显示详细的信息。

参数

邮件地址:收信人的电子邮箱地址。

实例

直接使用shell当编辑器

mail -s "Hello from linux.9iphp.com by shell" admin@linux.9iphp.com
hello,this is the content of mail.
welcome to linux.9iphp.com

第一行是输入的命令,-s表示邮件的主题,后面的admin@linux.9iphp.com则是邮件的接收人,输入完这行命令后回车,会进入邮件正文的编写,我们可以输入任何文字,比如上面的两行。当邮件正文输入完成后,需要按CTRL+D结束输入,此时会提示你输入Cc地址,即邮件抄送地址,没有直接回车就完成了邮件的发送。

使用管道进行邮件发送

echo "hello,this is the content of mail.welcome to linux.9iphp.com" | mail -s "Hello from linux.9iphp.com by pipe" admin@linux.9iphp.com

使用管道直接敲入这行命令即可完成邮件的发送,其中echo后的是邮件正文。

使用文件进行邮件发送

mail -s "Hello from linux.9iphp.com by file" admin@linux.9iphp.com < mail.txt

使用上面的命令后,我们就可以把mail.txt文件的内容作为邮件的内容发送给admin@linux.9iphp.com了。

使用上述三种方式都可以给外部邮箱进行邮件发送,但因为前面2中都是直接在shell中敲入邮件内容,因此无法输入中文,即使我们使用粘贴的方式输入了中文,那么收到的邮件也是乱码的。但第3种方式,我们可以在window下编辑好邮件内容后,放到linux下,再进行发送,这样就可以正常发送中文了。不过目前邮件的中文标题暂时没有找到解决办法。

因为mail程序本身就是调用sendmail来进行邮件发送的,因此我们可以在mail命令中使用sendmail的参数进行配置,比如我想使用特定的发件人发送邮件,可以使用如下命令:

mail -s "Hello from linux.9iphp.com with sender" admin@linux.9iphp.com -- -f user@linux.9iphp.com<mail.txt

上面的命令中,我们使用了– -f user@linux.9iphp.com这样的参数,这是sendmail的选项,其中-f表示邮件的发送人邮件地址。

很多情况下,我们也需要使用邮件来发送附件,在linux下使用mail命令发送附件也很简单,不过首先需要安装uuencode软件包,这个程序是对二进制文件进行编码使其适合通过邮件进行发送,在CentOS上安装该软件包如下:

yum install sharutils

安装完成后我们就可以来进行附件的发送了,使用如下命令:

uuencode test.txt test | mail -s "hello,see the attachement" admin@linux.9iphp.com<mail.txt

完成后就可以把text.txt文件作为邮件的附件发送出去了。uuencode有两个参数,第一个是要发送的文件,第二个是显示的文件名称。

这里我主要介绍的是在CentOS下使用mail发送电子邮件的一些使用方法,需要的要求是你的linux必须安装了sendmail并开启了,同时保证可以连接外网。另外,文章中提到的命令本人都经过亲自测试,保证完全可用,不过你需要将命令中的电子邮件地址换成自己的电子邮件地址。

rlogin

rlogin命令用于从当前终端登录到远程Linux主机。

语法

rlogin(选项)(参数)

选项

-8:允许输入8位字符数据;
-e脱离字符>:设置脱离字符;
-E:滤除脱离字符;
-l用户名称>:指定要登入远端主机的用户名称;
-L:使用litout模式进行远端登入阶段操作。

参数

远程主机:指定要登录的远程主机(ip地址或者域名)。