lftp 是一個(gè)功能強(qiáng)大的下載工具,它支持訪問(wèn)文件的協(xié)議: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在編譯的時(shí)候包含openssl庫(kù))。llftp的界面非常想一個(gè)shell: 有命令補(bǔ)全,歷史記錄,允許多個(gè)后臺(tái)任務(wù)執(zhí)行等功能,使用起來(lái)非常方便。它還有書(shū)簽、排隊(duì)、鏡像、斷點(diǎn)續(xù)傳、多進(jìn)程下載等功能。
lftp命令是一款優(yōu)秀的文件客戶(hù)端程序,它支持ftp、SETP、HTTP和FTPs等多種文件傳輸協(xié)議。lftp支持tab自動(dòng)補(bǔ)全,記不得命令雙擊tab鍵,就可以看到可能的選項(xiàng)了。
語(yǔ)法
lftp(選項(xiàng))(參數(shù))
選項(xiàng)
-f:指定lftp指令要執(zhí)行的腳本文件;
-c:執(zhí)行指定的命令后退出;
--help:顯示幫助信息;
--version:顯示指令的版本號(hào)。
參數(shù)
站點(diǎn):要訪問(wèn)的站點(diǎn)的ip地址或者域名。
實(shí)例
登錄ftp
lftp 用戶(hù)名:密碼@ftp地址:傳送端口(默認(rèn)21)
也可以先不帶用戶(hù)名登錄,然后在接口界面下用login命令來(lái)用指定賬號(hào)登錄,密碼不顯示。
查看文件與改變目錄
ls
cd 對(duì)應(yīng)ftp目錄
下載
get當(dāng)然是可以的,還可以:
mget -c *.pdf #把所有的pdf文件以允許斷點(diǎn)續(xù)傳的方式下載。
mirror aaa/ #將aaa目錄整個(gè)的下載下來(lái),子目錄也會(huì)自動(dòng)復(fù)制。
pget -c -n 10 file.dat #以最多10個(gè)線(xiàn)程以允許斷點(diǎn)續(xù)傳的方式下載file.dat,可以通過(guò)設(shè)置pget:default-n的值而使用默認(rèn)值。
上傳
同樣的put、mput都是對(duì)文件的操作,和下載類(lèi)似。
mirror -R 本地目錄名
將本地目錄以迭代(包括子目錄)的方式反向上傳到ftp site。
模式設(shè)置
set ftp:charset gbk
遠(yuǎn)程ftp site用gbk編碼,對(duì)應(yīng)的要設(shè)置為utf8,只要替換gbk為utf8即可。
set file:charset utf8
本地的charset設(shè)定為utf8,如果你是gbk,相應(yīng)改掉。
set ftp:passive-mode 1
使用被動(dòng)模式登錄,有些site要求必須用被動(dòng)模式或者主動(dòng)模式才可以登錄,這個(gè)開(kāi)關(guān)就是設(shè)置這個(gè)的。0代表不用被動(dòng)模式。
書(shū)簽
其實(shí)命令行也可以有書(shū)簽,在lftp終端提示符下:
bookmark add ustc
就可以把當(dāng)前正在瀏覽的ftp site用ustc作為標(biāo)簽儲(chǔ)存起來(lái)。以后在shell終端下,直接lftp ustc就可以自動(dòng)填好用戶(hù)名和密碼,進(jìn)入對(duì)應(yīng)的目錄了。
bookmark edit
會(huì)調(diào)用編輯器手動(dòng)修改書(shū)簽。當(dāng)然,也可以看到,這個(gè)書(shū)簽其實(shí)就是個(gè)簡(jiǎn)單的文本文件。密碼,用戶(hù)名都可以看到。
配置文件
vim /etc/lftp.conf
一般,我會(huì)添加這幾行:
set ftp:charset gbk
set file:charset utf8
set pget:default-n 5
這樣,就不用每次進(jìn)入都要打命令了。其他的set可以自己tab然后help來(lái)看。