FTP網絡主機間檔案傳輸指令
- 簡介
- 使用方法
-
- 指令
-
- 登入ftp伺服器
- 進入ftp協定後的常用Linux指令均可正常使用
- dir指令
- 指定檔案傳輸類型
- get
- mget
- put
- 關閉與ftp登入後建立的連接配接
-
- 保留ftp協定,僅與目前下載下傳檔案的伺服器關閉FTP會話,可繼續使用ftp協定與其他檔案伺服器建立FTP對話
- 結束與伺服器的FTP會話并退出FTP環境
- 待補
- 示例
- 使用FTP指令遠端下載下傳檔案遇到的問題
-
- 提示`Consider using PASV`
-
- FTP中的兩種模式
簡介
使用方法
在本地主機(Windows系統)中使用指令從遠端主機(Linux系統)下載下傳檔案到本地,如下所示。
注意事項有二:
- 若本地主機(Windows系統)與遠端主機(Linux系統)所處兩個區域網路,則需使用VNP先保證兩個區域網路間網絡暢通。
- 要是用
和cd
來調整目前ftp目前路徑和遠端(另一端)路徑。待進行ftp檔案傳輸兩端的位置lcd
、cd
完成後,再進行lcd
。mget
指令
以此官方文檔為标準,建議大家直接看此文檔。
登入ftp伺服器
想要【遠端伺服器下載下傳或向遠端伺服器上傳】檔案,需要先登入已安裝有ftp服務的遠端伺服器。
C:\Users\Administrator>ftp 198.126.1.1 //ftp建立連接配接
Connected to 198.126.1.1
220 (vsFTPd 3.0.3)
User (198.126.1.1:(none)): ljh //輸入要登入的該遠端主機的使用者賬号
331 Please specify the password.
Password: //輸入要登入的該遠端主機的使用者密碼
230 Login successful. //提示登入成功
ftp> //進入ftp協定
進入ftp協定後的常用Linux指令均可正常使用
比如跳轉路徑、檢視目前路徑下的檔案等等,如下所示。
ftp> cd /XXX/test/ //在遠端主機中跳轉目錄到要下載下傳的檔案所在路徑下,有部落格提到“一般情況下使用者都會被限制目錄的通路權限,隻可在目前目錄下進行操作”
250 Directory successfully changed.
ftp> ls //檢視遠端主機目前路徑下的檔案清單
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
abc.xml //遠端主機目前路徑下的檔案有“abc.xml”
226 Directory send OK.
ftp: 74 bytes received in 0.00Seconds 74.00Kbytes/sec.
dir指令
ftp>!dir //檢視目前使用ftp協定的另一端所處位置下的目錄和檔案清單,實質是檢查要傳輸的檔案是否從遠端主機傳到了另一端(本地),還可以檢查傳輸的檔案是否下載下傳到了此處。
指定檔案傳輸類型
将檔案傳送類型設定為二進制。用于傳送檔案?
ftp>binary
get
有部落格提到是用于下載下傳單個檔案,待确認。
get 要從遠端伺服器下載下傳的檔案名 下載下傳到本地之後的檔案名(此參數若空,則下載下傳到本地之後的檔案名取原名)
mget
有部落格提到是用于批量下載下傳多個檔案,待确認。
mget 要從遠端伺服器下載下傳的第一個檔案名 要從遠端伺服器下載下傳的第二個檔案名 //以此類推,将所有需要下載下傳的檔案名列在此處,批量下載下傳即可
put
put 要上傳的檔案名
關閉與ftp登入後建立的連接配接
保留ftp協定,僅與目前下載下傳檔案的伺服器關閉FTP會話,可繼續使用ftp協定與其他檔案伺服器建立FTP對話
ftp> close //保留ftp協定,但結束與目前下載下傳檔案的伺服器的FTP會話
ftp>
結束與伺服器的FTP會話并退出FTP環境
ftp> quit
C:\Users\Administrator> //回到了本機位置,如下行所示
待補
ftp> bye : 退出ftp會話過程
示例
随後,在本地主機(Windows系統)打開指令提示行,如下指令即可。
C:\Users\Administrator>ftp 198.126.1.1 //ftp建立連接配接
Connected to 198.126.1.1
220 (vsFTPd 3.0.3)
User (198.126.1.1:(none)): ljh //輸入登入該遠端主機的使用者賬号
331 Please specify the password.
Password: //輸入登入該遠端主機的使用者密碼
230 Login successful. //提示登入成功
ftp> cd /XXX/test/ //在遠端主機中跳轉目錄到要下載下傳的檔案所在路徑下,有部落格提到“一般情況下使用者都會被限制目錄的通路權限,隻可在目前目錄下進行操作”
250 Directory successfully changed.
ftp> ls //檢視遠端主機目前路徑下的檔案清單
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
abc.xml //遠端主機目前路徑下的檔案有“abc.xml”
226 Directory send OK.
ftp: 74 bytes received in 0.00Seconds 74.00Kbytes/sec.
ftp> lcd C:\Users\peter\ //在目前使用ftp協定的另一端(本地,非遠端主機)進行cd操作,實質是設定ftp下載下傳檔案到本地的路徑目錄,
ftp> mget 檔案全名*.xml //【将“cd到的路徑下的符合該命名規範的檔案”下載下傳到“lcd到的另一端的目前路徑”下,好像不對= =】。檔案名稱為“檔案全名”的檔案,雖然加了“*”,其實是為了防止不同作業系統間檔案名稱編碼的問題。若此方法還是不行,直接使用mget *.xml全下載下傳。
200 Switching to ASCII mode.
mget lvdsDma_20220718_112036.dat? Y //輸入“Y”或“y”确認下載下傳該檔案;輸入“N”或“n”取消下載下傳該檔案
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for abc.xml (3210788 bytes).
226 Transfer complete. //下載下傳完成,Windows系統作為接收方時,檔案預設下載下傳到了C:\Users\Administrator(目前登入賬戶)\
ftp: 321074688 bytes received in 153.15Seconds 2096.51Kbytes/sec.
ftp>!dir //檢視目前使用ftp協定的另一端所處位置下的目錄和檔案清單,實質是檢查要傳輸的檔案是否從遠端主機傳到了另一端(本地),還可以檢查傳輸的檔案是否下載下傳到了此處。
ftp>close //保留ftp協定,但結束與目前下載下傳檔案的伺服器的FTP會話
ftp>quit //退出ftp協定,回到本地位置,如下行所示
C:\Users\Administrator> //回到了本地位置,如下行所示
使用FTP指令遠端下載下傳檔案遇到的問題
提示 Consider using PASV
Consider using PASV
指令切換使用PASV模式:``。
FTP中的兩種模式
-
:即PORT
标準模式,主動模式。【需要在接上TCP 21端口後,伺服器通過自己的TCP 20來發出資料。并且需要建立一個新的連接配接來傳送檔案。而PORT的指令包含一些用戶端沒用的資料,是以有了PASv的出現。——其意思類似于使用了TCP協定,使用固定端口建立持久連接配接?】standard
-
PASV
:Passive的簡寫,被動模式。PASV模式就擁有PORT模式的優點及去掉一些PORT的缺點。PASV運作方式就是當伺服器接收到PASV指令時,就會自動從端口1024到5000中随機選擇,而且還會使用同一個端口來傳送資料,不用建立新的連接配接。
兩種模式詳見