閱讀105 返回首頁    go 中電雲集


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

  上一篇:go MySQL 備份和恢複(包括MyISAM 和 Innodb)
  下一篇:go mysql創建新用戶的命令