ftp服務器在網上較爲常見,Linux ftp命令的功能是用命令的方式來控制在本地機和遠程機之間傳送文件,這裏詳細介紹Linux ftp命令的一些常用的命令,相信掌握了這些使用Linux 進行ftp操做將會很是容易。shell
Linux ftp命令的通常格式以下:bash
$ ftp 主機名/IP服務器
其中「主機名/IP」是所要鏈接的遠程機的主機名或IP地址。在命令行中,主機名屬於選項,若是指定主機名,ftp將試圖與遠程機的ftp服務程序進行鏈接;若是沒有指定主機名,ftp將給出提示符,等待用戶輸入命令:ui
$ ftp.net
ftp >命令行
此時在ftp>提示符後面輸入open命令加主機名或IP地址,將試圖鏈接指定的主機。進程
無論使用哪種方法,若是鏈接成功,須要在遠程機上登陸。用戶若是在遠程機上有賬號,就能夠經過ftp使用這一賬號並須要提供口令。在遠程機上的用戶賬號的讀寫權限決定該用戶在遠程機上能下載什麼文件和將上載文件放到哪一個目錄中。ci
若是沒有遠程機的專用登陸賬號,許多ftp站點設有可使用的特殊賬號。這個賬號的登陸名爲anonymous(也稱爲匿名ftp),當使用這一賬號時,要求輸入email地址做爲口令。rem
若是遠程系統提供匿名ftp服務,用戶使用這項服務能夠登陸到特殊的,供公開使用的目錄。通常專門提供兩個目錄:pub目錄和incoming目錄。pub目錄包含該站點供公衆使用的全部文件,incoming目錄存放上載到該站點的文件。get
一旦用戶使用ftp在遠程站點上登陸成功,將獲得「ftp>」提示符。如今能夠自由使用ftp提供的命令,能夠用 help命令取得可供使用的命令清單,也能夠在 help命令後面指定具體的命令名稱,得到這條命令的說明。
最經常使用的命令有:
FTP>ascii: 設定以ASCII方式傳送文件(缺省值)
FTP>bell: 每完成一次文件傳送,報警提示.
FTP>binary: 設定以二進制方式傳送文件.
FTP>bye: 終止主機FTP進程,並退出FTP管理方式.
FTP>case: 當爲ON時,用MGET命令拷貝的文件名到本地機器中,所有轉換爲小寫字母.
FTP>cd: 同UNIX的CD命令.
FTP>cdup: 返回上一級目錄.
FTP>chmod: 改變遠端主機的文件權限.
FTP>close: 終止遠端的FTP進程,返回到FTP命令狀態, 全部的宏定義都被刪除.
FTP>delete: 刪除遠端主機中的文件.
FTP>dir [remote-directory] [local-file] 列出當前遠端主機目錄中的文件.若是有本地文件,就將結果寫至本地文件.
FTP>get [remote-file] [local-file] 從遠端主機中傳送至本地主機中.
FTP>help [command] 輸出命令的解釋.
FTP>lcd: 改變當前本地主機的工做目錄,若是缺省,就轉到當前用戶的HOME目錄.
FTP>ls [remote-directory] [local-file] 同DIR.
FTP>macdef: 定義宏命令.
FTP>mdelete [remote-files] 刪除一批文件.
FTP>mget [remote-files] 從遠端主機接收一批文件至本地主機.
FTP>mkdir directory-name 在遠端主機中創建目錄.
FTP>mput local-files 將本地主機中一批文件傳送至遠端主機.
FTP>open host [port] 從新創建一個新的鏈接.
FTP>prompt: 交互提示模式.
FTP>put local-file [remote-file] 將本地一個文件傳送至遠端主機中.
FTP>pwd: 列出當前遠端主機目錄.
FTP>quit: 同BYE.
FTP>recv remote-file [local-file] 同GET.
FTP>rename [from] [to] 改變遠端主機中的文件名.
FTP>rmdir directory-name 刪除遠端主機中的目錄.
FTP>send local-file [remote-file] 同PUT.
FTP>status: 顯示當前FTP的狀態.
FTP>system: 顯示遠端主機系統類型.
FTP>user user-name [password] [account] 從新以別的用戶名登陸遠端主機.
FTP>? [command]: 同HELP. [command]指定須要幫助的命令名稱。若是沒有指定 command,ftp 將顯示所有命令的列表。
FTP>! 從 ftp 子系統退出到外殼。
下面簡單將ftp經常使用命令做一簡介。
◆啓動ftp會話
open命令用於打開一個與遠程主機的會話。該命令的通常格式是:
◆open 主機名/IP
若是在ftp 會話期間要與一個以上的站點鏈接,一般只用不帶參數的ftp命令。若是在會話期間只想與一臺計算機鏈接,那麼在命令行上指定遠程主機名或IP地址做爲ftp命令的參數。
◆終止ftp會話
close、disconnect、和bye命令用於終止與遠程機的會話。close和disronnect命令關閉與遠程機的鏈接,可是使用戶留在本地計算機的ftp程序中。和bye命令都關閉用戶與遠程機的鏈接,而後退出用戶機上的ftp 程序。
◆改變目錄
「cd [目錄]」命令用於在ftp會話期間改變遠程機上的目錄,lcd命令改變本地目錄,使用戶能指定查找或放置本地文件的位置。
◆遠程目錄列表
ls命令列出遠程目錄的內容,就像使用一個交互shell中的ls命令同樣。ls命令的通常格式是:
ls [目錄] [本地文件]
若是指定了目錄做爲參數,那麼ls就列出該目錄的內容。若是給出一個本地文件的名字,那麼這個目錄列表被放入本地機上您指定的這個文件中。
◆從遠程系統獲取文件
get和mget命令用於從遠程機上獲取文件。get命令的通常格式爲:
get 文件名
您還能夠給出本地文件名,這個文件名是這個要獲取的文件在您的本地機上建立時的文件名。若是您不給出一個本地文件名,那麼就使用遠程文件原來的名字。
mget命令一次獲取多個遠程文件。mget命令的通常格式爲:
mget 文件名列表
使用用空格分隔的或帶通配符的文件名列表來指定要獲取的文件,對其中的每一個文件都要求用戶確認是否傳送。
◆向遠程系統發送文件
put和mput命令用於向遠程機發送文件。Put命令的通常格式爲:
put 文件名
mput命令一次發送多個本地文件,mput命令的通常格式爲:
mput 文件名列表
使用用空格分隔的或帶通配符的文件名列表來指定要發送的文件。對其中的每一個文件都要求用戶確認是否發送。
◆改變文件傳輸模式
默認狀況下,ftp按ASCII模式傳輸文件,用戶也能夠指定其餘模式。ascii和brinary命令的功能是設置傳輸的模式。用ASCII模式傳輸文件對純文本是很是好的,但爲避免對二進制文件的破壞,用戶能夠以二進制模式傳輸文件。
◆檢查傳輸狀態
傳輸大型文件時,可能會發現讓ftp提供關於傳輸狀況的反饋信息是很是有用的。hash命令使ftp在每次傳輸完數據緩衝區中的數據後,就在屏幕上打印一個#字符。本命令在發送和接收文件時均可以使用。
◆ftp中的本地命令
當您使用ftp時,字符「!」用於向本地機上的命令shell傳送一個命令。若是用戶處在ftp會話中,須要shell作某些事,就頗有用。例如用戶要創建一個目錄來保存接收到的文件。若是輸入!mkdir new_dir,那麼Linux就在用戶當前的本地目錄中建立一個名爲new_dir 的目錄。
1. ftp自動登陸批量下載文件。
#####從ftp服務器上的/home/data 到 本地的/home/databackup####
#!/bin/bash
ftp -n<
open 192.168.1.100
user ftp01 password
binary
cd /home/data
lcd /home/databackup
prompt
mget *
close
bye
!
2. ftp自動登陸上傳文件。
####本地的/home/databackup to ftp服務器上的/home/data####
#!/bin/bash
ftp -n<
open 192.168.1.100
user ftp01 password
binary
hash
cd /home/data
lcd /home/databackup
prompt
mput *
close
bye
!
3. ftp自動登陸下載單個文件。
####ftp服務器上下載/home/data/a.sh to local /home/databackup####
#!/bin/bash
ftp -n<
open 192.168.1.100
user ftp01 password
binary
cd /home/data
lcd /home/databackup
prompt
get a.sh a.sh
close
bye
!
4. ftp自動登陸上傳單個文件。
####把本地/home/databachup/a.sh up ftp /home/databackup 下####
#!/bin/bash
ftp -n<
open 192.168.1.100
user ftp01 password
binary
cd /home/data
lcd /home/databackup
prompt
put a.sh a.sh
close
bye
!
小知識:
1. -n 不受.netrc文件的影響。(ftp默認爲讀取.netrc文件中的設定)
2. << 是使用即時文件重定向輸入。
3. !是即時文件的標誌它必須成對出現,以標識即時文件的開始和結尾。