如何在命令列中使用 ftp 命令上傳和下載檔案

piny發表於2021-09-09

本文中,介紹在 Linux shell 中如何使用 ftp 命令。包括如何連線 FTP 伺服器,上傳或下載檔案以及建立資料夾。儘管現在有許多不錯的 FTP 桌面應用,但是在伺服器、SSH、遠端會話中命令列 ftp 命令還是有很多應用的。比如。需要伺服器從 ftp 倉庫拉取備份。

步驟 1: 建立 FTP 連線

想要連線 FTP 伺服器,在命令上中先輸入ftp然後空格跟上 FTP 伺服器的域名 'domain.com' 或者 IP 地址

例如:

ftp domain.com

ftp 192.168.0.1

ftp user@ftpdomain.com

注意: 本例中使用匿名伺服器。

替換下面例子中 IP 或域名為你的伺服器地址。

FTP 登入

步驟 2: 使用使用者名稱密碼登入

絕大多數的 FTP 伺服器是使用密碼保護的,因此這些 FTP 伺服器會詢問'username'和'password'.

如果你連線到被稱作匿名 FTP 伺服器(LCTT 譯註:即,並不需要你有真實的使用者資訊即可使用的 FTP 伺服器稱之為匿名 FTP 伺服器),可以嘗試anonymous作為使用者名稱以及使用空密碼:

Name: anonymous
Password:

之後,終端會返回如下的資訊:

230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

登入成功。

FTP 登入成功

步驟 3: 目錄操作

FTP 命令可以列出、移動和建立資料夾,如同我們在本地使用我們的電腦一樣。ls可以列印目錄列表,cd可以改變目錄,mkdir可以建立資料夾。

使用安全設定列出目錄

ftp> ls

伺服器將返回:

200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
directory list
....
....
226 Directory send OK.

列印目錄

改變目錄:

改變目錄可以輸入:

ftp> cd directory

伺服器將會返回:

250 Directory succesfully changed.

FTP中改變目錄

步驟 4: 使用 FTP 下載檔案

在下載一個檔案之前,我們首先需要使用lcd命令設定本地接受目錄位置。

lcd /home/user/yourdirectoryname

如果你不指定下載目錄,檔案將會下載到你登入 FTP 時候的工作目錄。

現在,我們可以使用命令 get 來下載檔案,比如:

get file

檔案會儲存在使用lcd命令設定的目錄位置。

伺服器返回訊息:

local: file remote: file
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for file (xxx bytes).
226 File send OK.
XXX bytes received in x.xx secs (x.xxx MB/s).

使用FTP下載檔案

下載多個檔案可以使用萬用字元及 mget 命令。例如,下面這個例子我打算下載所有以 .xls 結尾的檔案。

mget *.xls

步驟 5: 使用 FTP 上傳檔案

完成 FTP 連線後,FTP 同樣可以上傳檔案

使用 put命令上傳檔案:

put file

當檔案不再當前本地目錄下的時候,可以使用絕對路徑:

put /path/file

同樣,可以上傳多個檔案:

mput *.xls

步驟 6: 關閉 FTP 連線

完成FTP工作後,為了安全起見需要關閉連線。有三個命令可以關閉連線:

bye
exit
quit

任意一個命令可以斷開FTP伺服器連線並返回:

221 Goodbye

需要更多幫助,在使用 ftp 命令連線到伺服器後,可以使用help獲得更多幫助。


via: https://www.howtoforge.com/tutorial/how-to-use-ftp-on-the-linux-shell/

譯者:VicYu 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章