分類
有關FTP(客戶端,伺服器搭建這裡不講)有很多,大體分為命令列和GUI圖形介面的軟體。
1,圖形介面的有
gftp
gnome下ftp客戶端
crossftp
基於Java的穩定ftp客戶端和同步工具。優良的中文/Unicode支援。
Kftpgrabber
KDE下ftp客戶端,支援編碼選擇。對中文支援較好
filezilla
對中文支援好
krusader
也可以透過瀏覽器輸入ftp://ip使用
如果有喜歡的可以透過apt-get或 apt
2,CLI(命令列)主要有ftp 和 lftp
(1)ftp
1. 連接ftp伺服器
ftp 10.18.34.115
b)伺服器詢問你使用者名稱和口令,分別輸入yint和對應密碼,待認證通過即可。
或使用下面的格式
ftp - -i -n IP_ADDRESSESS
ftp -i -n 172.17.17.17 user PUB 123456 也可以自己寫個腳本自動登入。cyq@cyq-desktop:~/桌面/shell$ cat ftp.sh
#!/bin/sh
ftp -i -n 172.17.17.17
user PUB 123456!
這樣就可以自動登入了。
2. 下載檔案
如要取得伺服器上E:/rose/下的所有檔案,則 ftp> cd /rose ftp> mget *.* 。例如,在 /root/yint下執行的ftp指令,則檔案都下載到了/root/yint下。 3.上傳檔案 a) put 格式:put local-file [remote-file]〜 將本地一個檔案只傳送到遠端的主機。端主機E:/rose,改名為333.bmp ftp> put 1.bmp /rose/333.bmp (回車) b)將本地主機接合為本地主機」中將主機〦鎀一批檔案傳送至遠端主機. 如要把本地當前目錄下所有bmp檔案上傳到伺服器E:/rose 下 ftp> cd /rose (回程車) 注意:上傳檔案都來自於主機的目前目錄下。例如,在 /root/yint下執行的ftp指令,則只有在/root/yint下的檔案linux才會上傳到伺服器E:/rose 下。 4. 斷開連線 bye:中斷與伺服器的連線。 ftp> bye (回車)(2)lftp在用lftp訪問國內一些ftp伺服器時,常看到的中文是亂碼,這是由於伺服器和本地編碼不一致造成的。 解決方法:在主目錄下新建一個檔案~/.lftprc或~/.lftp/rc例如我在終端輸入:gedit ~/.lftprc #在目前目錄下建立.lf 然後在彈出的對話框中輸入以下內容:debug 3set ftp:charset GBKset file:charset UTF-8
ftp:charset UTF-8"
#alias gbk " set ftp:charset GBK"
上面的這幾行的意思是
如果對於經常使用不同編碼的 ftp server 的朋友,或經常使用不同的選項的,可以設定一些別名,這樣會方便很多。例如:
我經常訪問 gbk 編碼的 ftp, 還有 utf8 編碼的,那麼我在 ~/.lftp 中這樣寫
代碼:
-8alias utf8 set ftp:charset UTF-8; set file:charset UTF-8
那麼當我造訪一個 utf8 站點的時候,如果發現亂碼,只要在 lftp 的命令提示符號下方輸入 utf8 就可以將編碼調整正常。同理,如果訪問 gbk 的發現亂碼就輸入 gbk, 馬上正常。
下面講解使用lftp
1、登入ftp
程式碼:
lftp 用戶名:密碼@ftp位址:
也可以先不帶用戶名登錄,然後在介面介面下用login指令來用指定帳號登錄,密碼不顯示。
lftp user@site:port
cd cd 對應ftp目錄
在lf 中對應ftp目錄
例如,查看ftp上所有的以mp3為副檔名的檔案:
lcd 成功, 本地目錄=/home/cyq
lftp test@172.17.17.17:/>
代碼: mget -c *.pdf
把所有的pdf檔以允許斷點續傳的方式下載。 m代表multi
碼:
mirror aaa/
將aaa目錄整個的下載下來,子目錄也會自動複製
碼最多10個執行緒以允許斷點續傳的方式下載file.dat
可以透過設定pget:default-n的值而使用預設值。 4、上傳同樣的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代表不用被動模式。
6、書籤
其實命令行也可以有書籤,在lftp終端提示符下:代碼:bookmark add ustc bookmark add ustc起來。以後在shell終端下,直接
代碼:
/etc/lftp.conf
一般,幾行我會加入幾行: 引用:set ftp:charset gbgets.58 這樣,就不用每次進入都要打指令了。其他的set 可以自己tab然後help 來看。
顯示遠端檔案清單(ils 顯示本機檔案清單)。 # l 的意思是local ils比較特殊
刪除遠端目錄。
pwd
顯示目前遠端所在目錄(lpwd 顯示本機目錄)。
du
計算遠端目錄的大小
set net:limit-rate 10000,10000
限制上傳下載各為10KB/s
!
執行本地 shell的指令(由於lftp 沒有 lls, 故可用 !ls 來取代)
lcd
切換本地目錄
設定書籤。 exit退出ftp 更多Linux之ftp指令使用相關文章請關注PHP中文網!