Linux命令之ftp


ftp [-pinegvd] [host] pftp [-inegvd] [host]

用戶通過ftp這個程序來使用Internet上的標准文件傳輸協議(FTP)。本程序允許用戶向遠端網站發送文件,或從遠端網站接收文件。

注意:CentOS7中需要自己安裝此程序。

(1).參數選項

參數選項可以在命令行啟動ftp時指定,也可以在ftp命令解釋模式下輸入

-p 使用被動模式進行數據傳輸。
-I 進行多個文件傳輸時關掉交互式的確認提示
-n 一般在啟動ftp時,ftp會試着進行自動登錄,本選項關閉這個功能。否則,ftp命令會搜索home目錄下.netrc文件中遠端主機上的用戶賬戶。如果.netrc文件中用戶賬戶不存在,會提示輸入遠端主機的登錄名(省略為用戶在本地機器上的賬戶),如有需要還是提示輸入密碼。
-e 如果被編譯成ftp可執行格式,本選項會關掉命令編輯和歷史命名功能
-g 關掉文件名匹配功能
-v 顯示詳細選項。本選項使得ftp顯示遠端服務器的所有響應,並在數據傳輸完成后顯示傳輸數據的統計信息。
-d 打開debug模式,詳細顯示命令執行過程

(2).主動模式與被動模式

主動模式英文為PORT,工作原理:FTP客戶端連接到FTP服務器的21端口發送用戶名和密碼登錄,登錄成功后要list列表或者讀取數據時,客戶端隨機開放一個端口(1024以上),發送 PORT命令到FTP服務器,告訴服務器客戶端采用主動模式並開放端口;FTP服務器收到PORT主動模式命令和端口號后,通過服務器的20端口和客戶端開放的端口連接,發送數據,原理如下圖:

 

被動模式英文為 PASV,是Passive的縮寫,工作原理:FTP客戶端連接到FTP服務器的21端口,發送用戶名和密碼登錄,登錄成功后要list列表或者讀取數據時,發送PASV命令到FTP服務器, 服務器在本地隨機開放一個端口(1024以上),然后把開放的端口告訴客戶端, 客戶端再連接到服務器開放的端口進行數據傳輸,原理如下圖:

 

參考:https://www.cnblogs.com/mawanglin2008/articles/3607767.html

(3).常用的內部命令

ftp有72個內部命令,在命令解釋模式下運行(’ftp>’)

ls [remote-directory] [local-file] 顯示遠端機器目錄下的文件列表。具體如何顯示與遠端系統有關。例如,大多數UNIX系統顯示shell命令ls –l的輸出。如果不指定remote-directory則顯示遠端機器當前目錄的內容。如果prompt狀態為on,ftp會提示用戶確認最右一個參數是用來存放ls顯示結果的本地文件。如果不指定local-file,或者local-file指定為’-’,則結果顯示到用戶終端上。可以在命令中用引號指定附加參數。例如,如果余元系統為UNIX,則ls “-rt /usr”這台命令會顯示遠端機器/usr這個目錄下的文件,顯示結果按創建時間由遠到近排序。
cd remote-directory 改變遠端機器上的當前目錄到remote-directory
lcd [directory] 改變本地的當前工作目錄。如果不指定參數directory,則切換到用戶的home目錄
close 終止當前的ftp連接,回到命令解釋模式下。所有定義的宏都會被清除
hash 轉換hash狀態,即是否顯示數據傳輸進度。如果hash狀態為on,么傳送玩一個1024字節的數據塊顯示一個#。
get remote-file [local-file] 把遠端機器上的文件remote-file取回到本地。如果不指定本地文件名,則遠端文件名在經過case,ntrans和nmap轉換后,作為本地文件名使用。文件傳輸過程中會用到當前的type,from,mode和structure狀態。
mget remote-files 匹配參數remote-files中指定的遠端文件名,對匹配結果里的每個文件都執行一個get命令。文件被傳輸到本地機器的當前目錄,你可以使用’lcd directory’命令改變本地機器的本地當前目錄,也可以用’! mkdir directory’命令新建本地目錄
put local-file [remote-file] 將本地文件傳至遠端主機。如果不指定參數remote-file,則根據當前的ntrans和nmap狀態,本地文件名警告適當的轉換后,作為遠端文件名使用。在文件傳輸過程找那個會用到當前的type,format,mode和structure狀態。
mput local-files 匹配參數中指定的文件名,對匹配幾個里的每個文件都執行一個put命令。
bye 終止與當前FTP服務器的連接,退出ftp。文件結束符(CTRL+D用同樣的功能)
quit 同bye

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM