105
中電雲集
linux 安裝FTP工具 lftp
linux下可以直接通過FTP命令進行ftp上傳下載,不過貌似不好用.
linux下有什麼好的FTP客戶端工具用於上傳呢,我們日常中,為了數據安全,都把本地數據備份到其他服務器上,有了這個FTP上傳利器lft很是方便。
下麵我來介紹一下在linux係統centos下安裝使用lftp ,我的測試環境是centos5的VPS環境
安裝lftp ,我們采取最偷懶的辦法,想折騰的可以編譯。
yum install -y lftp
下麵我們介紹一下lftp的常用命令
首先,所有的lftp終端內的命令,都可以用
help (顯示所有可以使用的命令)
help 命令名
的方式來查看幫助信息。
1、登錄ftp
lftp 用戶名:密碼@ftp地址:傳送端口(默認21)
也可以先不帶用戶名登錄,默認是anonymous匿名用戶,然後在命令行下用login或user命令來用指定賬號登錄,密碼不顯示。
2、查看文件與改變目錄
ls
cd 對應ftp目錄
嘿嘿,很簡單吧?其實,在lftp終端中,前麵帶一個l的命令例如lcd,指的是local,就是在本機的操作,而對應的沒有這個l的,都是對ftp site的操作。還有就是要執行本地終端命令,也可以用前麵帶一個!的方式。這樣,配合起來,終端,本地的操作都很方便。
例如,查看ftp上所有名字中包含mp3的文件:
find . |grep -i mp3
3、下載
get當然是可以的,還可以
mget -c *.pdf
把所有的pdf文件以允許斷點續傳的方式下載。m代表multi
mirror aaa/
將aaa目錄整個的下載下來,子目錄也會自動複製
pget -c -n 10 file.dat
以最多10個線程以允許斷點續傳的方式下載file.dat
可以通過設置pget:default-n的值而使用默認值。
4、上傳
同樣的put,mput,都是對文件的操作,和下載類似。
mirror -R 本地目錄名
將本地目錄以迭代(包括子目錄)的方式反向上傳到ftp site。
5、模式設置。
set ftp:charset utf8
遠程ftp site用utf8編碼,對應的要設置為utf8,隻要替換utf8為utf8即可。
set file:charset utf8
本地的charset設定為utf8,如果你是utf8,相應改掉。
set ftp:passive-mode 1
使用被動模式登錄,有些site要求必須用被動模式或者主動模式才可以登錄,這個開關就是設置這個的。0代表不用被動模式。
6、書簽
其實命令行也可以有書簽,在lftp終端提示符下:
bookmark add ustc
就可以把當前正在瀏覽的ftp site用ustc作為標簽儲存起來。以後在shell終端下,直接
lftp ustc
就可以自動填好用戶名,密碼,進入對應的目錄了。
bookmark edit
會調用編輯器手動修改書簽。當然,也可以看到,這個書簽其實就是個簡單的文本文件。密碼,用戶名都可以看到。
7、配置文件
/etc/lftp.conf
一般,我會添加這幾行:
set ftp:charset utf8
set file:charset utf8
set pget:default-n 5
這樣,就不用每次進入都要打命令了。其他的set 可以自己tab然後help 來看。
8. lftp 的上傳下載的速度限製
於 lftp.conf 中加入
set net:limit-rate 10000,10000 (單位是字節)
9. lftp 缺省不會顯示 ftp 服務器的歡迎信息和錯誤信息,這在很多時候不方便,因為你有可能想知道這個服務器到底是因為沒開機連不上,還是連接數已
滿。如果是這樣,你可以在 ~/.lftprc 裏寫入一行
debug 3
下載/上傳/多線程 文件夾
lftp> mirror dir
lftp> mirror -R dir
lftp> mirror ?parallel=3 dir
糾正亂碼顯示中文及顯示登錄消息設置,修改/etc/lftp.conf,加入一段
#myset begin
set ftp:charset “utf8”
set file:charset “UTF-8″
#end
debug 3
更改本地下載目錄
ftp> lcd ldir
默認為本地當前目錄
比如改成lcd /home/user/download
隊列命令(不必等到下載完畢再輸入命令)
> queue
查看後台隊列
> jobs
加入隊列
>queue get file
>jobs
> queue start
> jobs
ctrl+z 後台運行
退出
ctrl+d
$lftp
>help lftp
可以查看lftp的更多命令,其中尤其是put, mput, 和get,mget完全對應。
例如
上傳單個html文件到服務器一級目錄下
>put localdir/index.html
上傳多個html文件到服務器一級目錄下
>mput localdir/*.html
10.
遠程文件目錄操作
cat[-b]:滾屏顯示文件的內容。
more:分屏顯示文件的內容。
zcat:滾屏顯示.gz文件的內容。
zmore:分屏顯示.gz文件的內容。
mv:文件改名。
rm[-r][-f]:刪除文件。
mrm:刪除文件(可用通配符)。
du[opts]:顯示整個目錄的容量。
find[directory]:遞歸顯示指定目錄的所有文件(用於ls?R失效時)。
11.上傳和下載
get[opts][-o]:下載文件,可以改名後存儲在本地。
mget[opts]:下載多個文件。
pget[opts][-o]:多線程下載。
regetrfile[-olfile]:下載續傳。
put[opts][-o]:上傳文件,可以改名後存儲在遠程。
mput[opts]:上傳多個文件。
reputlfile[-orfile]:上傳續傳。
12.連接會話和隊列管理
scache[]:顯示所有連接會話或切換至指定的連接會話。
queue[opts][]:將命令置於隊列等待執行。
jobs[-v]:顯示後台執行的作業。
wait[]|all:將後台進程換到前台執行(fg是wait的別名)。
killall|:刪除後台作業。
exitbg:退出lftp後,所有任務移至後台繼續執行。
13.Cache管理
cache[SUBCMD]:管理lftp的cache。
[re]ls[args]:讀取cache顯示遠程文件列表,rels不讀取cache。
[re]cls[opts][path/][pattern]:cls提供了比ls更豐富的列表功能。
[re]nlist[]:nlist隻顯示文件名(沒有顏色區分)。
14.站點鏡像
mirror[opts][remote[local]]:用於實現站點鏡像。
15.書簽管理
bookmark[SUBCMD]:用於管理書簽。
16.環境參數設置
set[opts][[]]:用戶設置lftp的環境參數。
17. shell功能
shell:shell 是 ! 的一個內建別名
用法: !
啟動 shell 或 shell 命令
當然,也可以直接輸入shell或!,這樣就可以進入當前shell中,便於執行命令。
提示: lftp的功能
支持ftp、ftps、http、https、sftp,file(可以當作文件管理器哦),fish等傳輸協議;
支持FXP(在兩個FTP服務器之間傳輸文件);
支持代理;
支持多線程傳輸;
支持傳輸隊列(queue);
支持書簽;
類似bash,它提供後台命令、nohop模式、命令曆史、命令別名、命令補齊
和作業控製支持。
支持鏡像(mirror);
lftp還有許許多多的功能,可以通過man lftp來了解。
轉自果果的部落格
最後更新:2017-01-04 22:34:37