lftp是linux下的乙個ftp工具,支援ftp, ftps, http, https, hftp, fish, sftp, file, bittorrent等協議(支援https 和 ftps,必須編譯時和 openssl library 一起編譯)。lftp 內建了 shell-like 的命令格式, 允許在背景同時執行多個命令(&)。所有背景執行的工作都是在同乙個程式中(process), 能將前景執行的命令放到背景執行(ctrl-z), 或從背景拿回前景執行(wait 或 fg), 甚至還可以經由上個命令的傳回值來決定目前這個命令是否要執行(&& ||)。在結束 lftp 時, 如果還有程式執行中, lftp會將自己切換到no hup模式並放到背景執行,因此不必擔心正在執行的任務會結束。
1、配置
在用lftp訪問國內一些ftp伺服器時,往往看到的中文是亂碼,這是由於伺服器和本地編碼不一致造成的。我們只要在主目錄下新建乙個檔案~/.lftprc或者~/.lftp/rc,並在其中加入以下內容:
debug 3
set ftp:charset gbk
set file:charset utf-8
#set ftp:passtive-mode no
#alias utf8 " set ftp:charset utf-8"
#alias gbk " set ftp:charset gbk"
2、登入伺服器
//顯示書籤
cb@127:~$ lftp -c bookmark list
net
lingbooks
zdhz 23.65.2.16
cb@127:~$ lftp zdhz
lftp 23.65.2.16:~> user cb
口令:
//同時登入多個ftp伺服器,使用slot設定別名,並在它們之間切換
lftp [email protected]:~> slot zdhz
lftp zdhz [email protected]:~> slot net
lftp net [email protected]:~> open ftp.net
cd 成功, 當前目錄=/
lftp net ftp.net:/> slot zdhz
lftp zdhz [email protected]:~> slot net
lftp net ftp.net:/>
lftp zdhz [email protected]:/> cd working/
lftp zdhz [email protected]:/working> lcd ~/tmp/
lcd 成功, 本地目錄=/home/cb/tmp
lftp zdhz [email protected]:/working> get kaiti.rar
1782318 位元組 已傳輸
lftp [email protected]:/ebook> mget 十天學會php.rar 程式設計實踐.rar -o ~/tmp/
8004043 位元組, 在 2 秒中傳輸完畢 (3.72m/s)
總共傳輸 2 個檔案
4、上傳
//指定上傳的目標目錄需要每個檔案之後用-o選項(小寫),否則上傳到伺服器的當前目錄
lftp zdhz [email protected]:/> put source1.pdf -o ebook/ source2.pdf -o ebook/ linux命令大全.chm
52866871 位元組, 在 5 秒中傳輸完畢 (11.09m/s)
總共傳輸 3 個檔案
//使用萬用字元上傳多個檔案,注意:使用-o引數指定上傳的基目錄,要大寫
lftp zdhz [email protected]:/> mput source*.pdf -o ebook/
52511692 位元組, 在 4 秒中傳輸完畢 (11.14m/s)
總共傳輸 2 個檔案
//映象上傳整個目錄,可用於同步
lftp zdhz [email protected]:/> mirror -r ~/ebook/linux/lfs/ ebook/
全部: 15 個目錄,137 個檔案, 0 個符號鏈結
新建: 137 個檔案, 0 個符號鏈結
4456290 位元組, 在 6 秒中傳輸完畢 (688.9k/s)
lftp zdhz [email protected]:/> ls ebook/
total 0
drw-rw-rw- 1 user group 0 sep 28 16:50 .
drw-rw-rw- 1 user group 0 sep 28 16:50 ..
drw-rw-rw- 1 user group 0 sep 28 16:50 lfs
5、刪除伺服器上檔案
//刪除多個檔案
lftp zdhz [email protected]:/> rm ebook/source1.pdf linux命令大全.chm
rm 成功, 刪除 2 個檔案
//刪除整個目錄
lftp zdhz [email protected]:/> rm -r ebook/
rm 成功, 刪除 `ebook/'
//刪除某個目錄下的多個檔案
lftp zdhz [email protected]:/> mrm ebook/*.pdf
rm 成功, 刪除 2 個檔案
6、任務佇列
lftp [email protected]:/pub/iso> jobs
0 queue (ftp://
queue is stopped.
lftp [email protected]:/pub/iso> queue get rettcd.iso
lftp [email protected]:/pub/iso> jobs
0 queue (ftp://
queue is stopped.
commands queued:
1. get rettcd.iso
lftp [email protected]:/pub/iso> queue mirror linux/
lftp [email protected]:/pub/iso> jobs
0 queue (ftp://
queue is stopped.
commands queued:
1. get rettcd.iso
2. mirror linux/
lftp [email protected]:/pub/iso> queue start
lftp [email protected]:/pub/iso> jobs
0 queue (ftp://
now executing: 1 get rettcd.iso
commands queued:
1. mirror linux/
1 get rettcd.iso
'rettcd.iso' at 4772864 (9%) 3.00m/s eta:14s receiving data
$ lftp -c 'mirror -c -n -p -n=4 ~/tmp/'
小結:常用命令:cd, lcd, get, mget, put, mput, mirror, rm, mrm, pget, queue, jobs
mget, mput, mrm可使用萬用字元*匹配多個檔案
預設mirror:set-permissions on,則mirror
會拷貝檔案和目錄的(原有)許可權,否則(off)利用檔案系統建立檔案和目錄的規則重新設定檔案目錄的許可權(檔案666 &
umask,目錄777 &
umask);和-p(或—no-perms)將該變數設定為off是等效的;建議在~/.lftprc中將該變數設定為off狀態:set
mirror:set-permission off
lftp命令 非常詳細的lftp指令
lftp的意思是用lftp登入到ftp伺服器上 lftp ip p port u user,password e commands bye 下面介紹下ftp裡面常用的指令 用法 1 lftp username password 127.0.0.1 21 回車 2 lftp username 127....
lftp使用感覺
發現lftp比ftp 都是客戶端 要強勁多了,使用後發現,ftp裡的reget命令,是需要這個檔案之前必須就存在的,另外ftp的斷點重傳不是自動,需要手工操作。而使用lftp裡的mget c txt這樣的命令是可以自動重連的 目前就只測試過網路斷開後,過一會就重連上去,不知道長時間的斷網是否還會繼續...
lftp使用詳解
剛進入linux殿堂的lftp的我,決定好好將此命令的資料整理如下,以便學習.設定 lftprc 不用慌,這是由於伺服器和本地編碼不一致造成的。我們只要在主目錄下新建乙個檔案 lftprc或者 lftp rc 每次使用lftp時候其都載入 並在其中加入以下內容 debug 3 set ftp cha...