ftp命令用來設置文件系統相關功能。ftp服務器在網上較爲常見,Linux ftp命令的功能是用命令的方式來控制在本地機和遠程機之間傳送文件,這裏詳細介紹Linux ftp命令的一些常用的命令,相信掌握了這些使用Linux進行ftp操做將會很是容易。html
ftp(選項)(參數)
-d:詳細顯示指令執行過程,便於排錯或分析程序執行的狀況; -i:關閉互動模式,不詢問任何問題; -g:關閉本地主機文件名稱支持特殊字符的擴充特性; -n:不使用自動登陸; -v:顯示指令執行過程。
主機:指定要鏈接的FTP服務器的主機名或ip地址。linux
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 子系統退出到外殼。
詳解:shell
格式:ftp [hostname| ip-address]
a)在linux命令行下輸入:服務器
b)服務器詢問你用戶名和密碼,分別輸入用戶名和相應密碼,待認證經過便可。app
2. 下載文件ui
下載文件一般用get和mget這兩條命令。
a) get
格式:get [remote-file] [local-file]
將文件從遠端主機中傳送至本地主機中。
如要獲取遠程服務器上/usr/your/1.htm,則spa
b) mget
格式:mget [remote-files]
從遠端主機接收一批文件至本地主機。
如要獲取服務器上/usr/your/下的全部文件,則操作系統
此時每下載一個文件,都會有提示。若是要除掉提示,則在mget *.* 命令前先執行:prompt off.net
注意:文件都下載到了linux主機的當前目錄下。好比,在 /usr/my下運行的ftp命令,則文件都下載到了/usr/my下。命令行
3.上傳文件
a) put
格式:put local-file [remote-file]
將本地一個文件傳送至遠端主機中。
如要把本地的1.htm傳送到遠端主機/usr/your,並更名爲2.htm
b) mput
格式:mput local-files
將本地主機中一批文件傳送至遠端主機。
如要把本地當前目錄下全部html文件上傳到服務器/usr/your/ 下
注意:上傳文件都來自於主機的當前目錄下。好比,在 /usr/my下運行的ftp命令,則只有在/usr/my下的文件linux纔會上傳到服務器/usr/your 下。
4. 斷開鏈接
bye:中斷與服務器的鏈接。
命令介紹:
1.FTP> ! 從 ftp子系統退出到外殼。
2.FTP> ? 顯示 ftp命令說明。? 與 help相同。
格式:? [command]
說明:[command]指定須要幫助的命令名稱。若是沒有指定 command,ftp將顯示所有命令的列表。
3.FTP> append 使用當前文件類型設置將本地文件附加到遠程計算機上的文件。
格式:append local-file [remote-file]
說明:local-file 指定要添加的本地文件。
remote-file 指定要添加 local-file的遠程計算機上的文件。若是省略了 remote-file,本地文件名將被用做遠程文件名。
4.FTP> ascii 將文件傳送類型設置爲默認的 ASCII。
說明:FTP 支持兩種文件傳送類型,ASCII碼和二進制圖像。在傳送文本文件時應該使用ASCII。
5.FTP> bell 切換響鈴以在每一個文件傳送命令完成後響鈴。默認狀況下,鈴聲是關閉的。
6.FTP> binary(或bi)將文件傳送類型設置爲二進制。
7.FTP> bye(或by)結束與遠程計算機的 FTP會話並退出 ftp。
8.FTP> cd 更改遠程計算機上的工做目錄。
格式:cd remote-directory
說明:remote-directory 指定要更改的遠程計算機上的目錄。
9.FTP> close 結束與遠程服務器的 FTP會話並返回命令解釋程序。
FTP> debug 切換調試。當調試打開時,發送到遠程計算機的每一個命令都打印,前面是字符串「>」。默認狀況下,調試是關閉的。
10.FTP> delete 刪除遠程計算機上的文件。
格式:delete remote-file
說明:remote-file 指定要刪除的文件。
11.FTP> dir 顯示遠程目錄文件和子目錄列表。
格式:dir [remote-directory] [local-file]
說明:remote-directory 指定要查看其列表的目錄。若是沒有指定目錄,將使用遠程計算機中的當前工做目錄。Local-file指定要存儲列表的本地文件。若是沒有指定,輸出將顯示在屏幕上。
12.FTP> disconnect從遠程計算機斷開,保留 ftp 提示。
13.FTP> get 使用當前文件轉換類型將遠程文件複製到本地計算機。
格式:get remote-file [local-file]
說明:remote-file 指定要複製的遠程文件。
Local-file 指定要在本地計算機上使用的名稱。若是沒有指定,文件將命名爲 remote-file。
14.FTP >glob 切換文件名組合。組合容許在內部文件或路徑名中使用通配符(*和?)。默認狀況下,組合是打開的。
15.FTP >hash切換已傳輸的每一個數據塊的數字簽名 (#) 打印。數據塊的大小是2048字節。默認狀況下,散列符號打印是關閉的。
16.FTP >help顯示 ftp 命令說明。
格式:help [command]
說明:command 指定須要有關說明的命令的名稱。若是沒有指定 command,ftp將顯示所有命令的列表。
17.FTP >lcd 更改本地計算機上的工做目錄。默認狀況下,工做目錄是啓動 ftp的目錄。
格式:lcd [directory]
說明:directory 指定要更改的本地計算機上的目錄。若是沒有指定directory,將顯示本地計算機中當前的工做目錄。
18.FTP >literal 將參數逐字發送到遠程 FTP服務器。將返回單個的 FTP 回覆代碼。
格式:literal argument [ ...]
說明:argument 指定要發送到 FTP服務器的參數。
19.FTP >ls 顯示遠程目錄文件和子目錄的縮寫列表。
格式:ls [remote-directory] [local-file]
說明:remote-directory 指定要查看其列表的目錄。若是沒有指定目錄,將使用遠程計算機中的當前工做目錄。 local-file指定要存儲列表的本地文件。若是沒有指定,輸出將顯示在屏幕上。
20.FTP >mdelete 刪除遠程計算機上的文件。
格式:mdelete remote-files [ ...]
說明:remote-files 指定要刪除的遠程文件。
21.FTP >mdir顯示遠程目錄文件和子目錄列表。可使用 mdir 指定多個文件。
格式:mdir remote-files [ ...] local-file
說明:remote-files 指定要查看列表的目錄。必須指定 remote-files。請鍵入 -使用遠程計算機上的當前工做目錄。
local-file 指定要還原列表的本地文件。請鍵入-在屏幕上顯示列表。
22.FTP >mget 使用當前文件傳送類型將遠程文件複製到本地計算機。
格式:mget remote-files [ ...]
說明:remote-files 指定要複製到本地計算機的遠程文件。
23.FTP >mkdir 建立遠程目錄。
格式:mkdir directory
說明:directory 指定新的遠程目錄的名稱。
24.FTP >mls 顯示遠程目錄文件和子目錄的縮寫列表。
格式:mls remote-files [ ...] local-file
說明:remote-files 指定要查看列表的文件。必須指定 remote-files;
請鍵入- 使用遠程計算機上的當前工做目錄。
local-file 指定要存儲列表的本地文件。請鍵入 -以在屏幕上顯示列表。
25.FTP >mput 使用當前文件傳送類型將本地文件複製到遠程計算機上。
格式:mput local-files [ ...]
說明:local-files 指定要複製到遠程計算機的本地文件
26.FTP >open 與指定的 FTP服務器鏈接。
格式:open computer [port]
說明:computer 指定要鏈接的遠程計算機。能夠經過 IP地址或計算機名稱指定計算機(DNS 或主機文件必須可用)。若是自動登陸打開(默認),ftp還將嘗試自動將用戶登陸到 FTP 服務器port指定用來聯繫 FTP 服務器的端口號。
27.FTP >prompt 切換提示。若是關閉提示時 mget及 mput 傳送全部文件,Ftp在多文件傳送過程當中將提示容許您有選擇地檢索或存儲文件。默認狀況下,提示是
打開的。
28.FTP >put 使用當前文件傳送類型將本地文件複製到遠程計算機上。
格式:put local-file [remote-file]
說明:local-file 指定要複製的本地文件。
remote-file 指定要在遠程計算機上使用的名稱。若是沒有指定,文件將命名爲 local-file。
29.FTP >pwd 顯示遠程計算機上的當前目錄。
30.FTP >quit 結束與遠程計算機的 FTP 會話並退出 ftp。
31.FTP >quote 將參數逐字發送到遠程 FTP服務器。將返回單個的 FTP 回覆代碼。
Quote 與 literal相同。
格式:quote argument [ ...]
說明:argument 指定要發送到 FTP服務器的參數。
32.FTP >recv使用當前文件傳送類型將遠程文件複製到本地計算機。Recv 與 get相同。
格式:recv remote-file [local-file]
說明:remote-file 指定要複製的遠程文件。
local-file 指定要在本地計算機上使用的名稱。若是沒有指定,文件將命名爲 remote-file。
33.FTP >remotehelp顯示遠程命令幫助。
格式:remotehelp [command]
說明:command 指定須要幫助的命令的名稱。若是沒有指定 command,ftp將顯示所有遠程命令的列表。
34.FTP >rename重命名遠程文件。
格式:rename filename newfilename
說明:filename 指定要重命名的文件。 newfilename指定新的文件名。
35.FTP >rmdir 刪除遠程目錄。
格式:rmdir directory
說明:directory 指定要刪除的遠程目錄的名稱。
36.FTP >send 使用當前文件傳送類型將本地文件複製到遠程計算機上。Send與put 相同。
格式:send local-file [remote-file]
說明:local-file 指定要複製的本地文件。 remote-file指定要在遠程計算機上使用的名稱。若是沒有指定,文件將命名爲 local-file。
37.FTP >status 顯示 FTP 鏈接和切換的當前狀態。
38.FTP >trace 切換數據包跟蹤。Trace在運行 ftp 命令時顯示每一個數據包的路由。
39.FTP >type 設置或顯示文件傳送類型。
格式:type [type-name]
說明:type-name 指定文件傳送類型。默認設置爲 ascii。若是沒有指定type-name,將顯示當前的類型。
40.FTP >user 指定遠程計算機的用戶。
格式:user username [password] [account]
說明:user-name 指定登陸到遠程計算機所使用的用戶名。password指定 user-name 的密碼。若是沒有指定,但必須指定,ftp會提示輸入密碼。
account 指定登陸到遠程計算機所使用的賬戶。若是沒有指定account,可是須要指定,ftp會提示您輸入賬戶。
41.FTP >verbose 切換 verbose模式。若是打開,將顯示全部 ftp 響應。在文件傳送完成後,將同時顯示與傳送效率有關的統計信息。默認狀況下,verbose是打開的。
附錄:ftp命令表
FTP採用客戶端/服務器模型,客戶端和服務器使用TCP創建鏈接。在服務器端,FTP有兩個預分配的的端口號,分別爲20和21.其中,端口20用於發送和接受FTP數據(ASCII碼或二進制文件),該數據端口只在傳輸數據是打開,並在傳輸結束時關閉。端口21用於發送和接受FTP的控制信息,FTP服務器經過偵聽這個端口來判斷是否有ftp客戶端的鏈接請求,FTP會話創建後,端口21的鏈接在會話期間始終保持打開狀態。
在客戶端,當發出請求時動態分配端口號,選擇範圍爲1024~65535.當一個FTP會話開始後,客戶端程序打開一個控制端口(如1038),該端鏈接到服務器上的21端口,接受和發送控制信命令;須要傳輸數據時,客戶端再打開第二個端口(如1039),鏈接到服務器上的20端口。每當開始傳輸文件時,客戶端程序會打開一個新的數據端口,在文件傳輸完畢後,再自動釋放該端口。
該命令的語法格式以下所示:
ftp [-v] [-d] [–i] [-n] [-g] [-k realm] [-x] [-u] [host]
ftp命令主要選項說明 選項 說明 -d 啓動調試模式 -u 關閉自動認證 -e 不記錄歷史指令 -i 關閉交互模式 -x 在成功認證以後,協商密鑰 -n 關閉自動登陸功能 -p 傳輸文件模式爲被動模式 -v 程序運行時,顯示詳細的處理信息 -k realm 使用Kerberos v4認證時,從realm中獲得信息 host FTP服務器的主機名/IP地址
在客戶端訪問FTP時,若是沒有在命令行給出服務器的主機名或IP,則客戶端將出現「ftp>」提示符,等待用戶輸入ftp內部命令
常見ftp內部命令及其說明
內部命令 說明
ls 顯示服務器上的目錄
get 從服務器下載指定文件到客戶端
put 從客戶端傳送指定文件到服務器
open 鏈接ftp服務器
quit 斷開鏈接並退出ftp服務器
cd directory 改變服務器的當前目錄爲directory
lcd directory 改變本地的當前目錄爲directory
bye 退出ftp命令狀態
ascii 設置文件傳輸方式爲ASCII模式
binary 設置文件傳輸方式爲二進制模式
! 執行本地主機命令
cd 切換遠端ftp服務器上的目錄
cdup 上一層目錄
close 在不結束ftp進程的狀況下,關閉與ftp服務器的鏈接
delete 刪除遠端ftp服務器上的文件
get 下載
hash 顯示#表示下載進度
mdelete 刪除文件,模糊匹配
mget 下載文件,模糊匹配
mput 上傳文件,模糊匹配
mkdir 在遠端ftp服務器上,創建文件夾
newer 下載時,檢測是否是新文件
prompt 關閉交互模式
put 上傳
pwd 顯示當前目錄
ftp使用的內部命令以下(中括號表示可選項):
1.![cmd[args]]:在本地機中執行交互shell,exit回到ftp環境,如:!ls*.zip. 2.$ macro-ame[args]:執行宏定義macro-name. 3.account[password]:提供登陸遠程系統成功後訪問系統資源所需的補充口令。 4.append local-file[remote-file]:將本地文件追加到遠程系統主機,若未指定遠程系統文件名,則使用本地文件名。 5.ascii:使用ascii類型傳輸方式。 6.bell:每一個命令執行完畢後計算機響鈴一次。 7.bin:使用二進制文件傳輸方式。 8.bye:退出ftp會話過程。 9.case:在使用mget時,將遠程主機文件名中的大寫轉爲小寫字母。 10.cd remote-dir:進入遠程主機目錄。 11.cdup:進入遠程主機目錄的父目錄。 12.chmod mode file-name:將遠程主機文件file-name的存取方式設置爲mode,如:chmod 777 a.out。 13.close:中斷與遠程服務器的ftp會話(與open對應)。 14.cr:使用asscii方式傳輸文件時,將回車換行轉換爲回行。 15.delete remote-file:刪除遠程主機文件。 16.debug[debug-value]:設置調試方式,顯示發送至遠程主機的每條命令,如:deb up 3,若設爲0,表示取消debug。 17.dir[remote-dir][local-file]:顯示遠程主機目錄,並將結果存入本地文件local-file。 18.disconnection:同close。 19.form format:將文件傳輸方式設置爲format,缺省爲file方式。 20.get remote-file[local-file]:將遠程主機的文件remote-file傳至本地硬盤的local-file。 21.glob:設置mdelete,mget,mput的文件名擴展,缺省時不擴展文件名,同命令行的-g參數。 22.hash:每傳輸1024字節,顯示一個hash符號(#)。 23.help[cmd]:顯示ftp內部命令cmd的幫助信息,如:help get。 24.idle[seconds]:將遠程服務器的休眠計時器設爲[seconds]秒。 25.image:設置二進制傳輸方式(同binary)。 26.lcd[dir]:將本地工做目錄切換至dir。 27.ls[remote-dir][local-file]:顯示遠程目錄remote-dir,並存入本地文件local-file。 28.macdef macro-name:定義一個宏,遇到macdef下的空行時,宏定義結束。 29.mdelete[remote-file]:刪除遠程主機文件。 30.mdir remote-files local-file:與dir相似,但可指定多個遠程文件,如:mdir *.o.*.zipoutfile 31.mget remote-files:傳輸多個遠程文件。 32.mkdir dir-name:在遠程主機中建一目錄。 33.mls remote-file local-file:同nlist,但可指定多個文件名。 34.mode[modename]:將文件傳輸方式設置爲modename,缺省爲stream方式。 35.modtime file-name:顯示遠程主機文件的最後修改時間。 36.mput local-file:將多個文件傳輸至遠程主機。 37.newer file-name:若是遠程機中file-name的修改時間比本地硬盤同名文件的時間更近,則重傳該文件。 38.nlist[remote-dir][local-file]:顯示遠程主機目錄的文件清單,並存入本地硬盤的local-file。 39.nmap[inpattern outpattern]:設置文件名映射機制,使得文件傳輸時,文件中的某些字符相互轉換,如:nmap $1.$2.$3[$1,$2].[$2,$3],則傳輸文件a1.a2.a3時,文件名變爲a1,a2。該命令特別適用於遠程主機爲非UNIX機的狀況。 40.ntrans[inchars[outchars]]:設置文件名字符的翻譯機制,如ntrans 1R,則文件名LLL將變爲RRR。 41.open host[port]:創建指定ftp服務器鏈接,可指定鏈接端口。 42.passive:進入被動傳輸方式。 43.prompt:設置多個文件傳輸時的交互提示。 44.proxy ftp-cmd:在次要控制鏈接中,執行一條ftp命令,該命令容許鏈接兩個ftp服務器,以在兩個服務器間傳輸文件。第一條ftp命令必須爲open,以首先創建兩個服務器間的鏈接。 45.put local-file[remote-file]:將本地文件local-file傳送至遠程主機。 46.pwd:顯示遠程主機的當前工做目錄。 47.quit:同bye,退出ftp會話。 48.quote arg1,arg2…:將參數逐字發至遠程ftp服務器,如:quote syst. 49.recv remote-file[local-file]:同get。 50.reget remote-file[local-file]:相似於get,但若local-file存在,則從上次傳輸中斷處續傳。 51.rhelp[cmd-name]:請求得到遠程主機的幫助。 52.rstatus[file-name]:若未指定文件名,則顯示遠程主機的狀態,不然顯示文件狀態。 53.rename[from][to]:更改遠程主機文件名。 54.reset:清除回答隊列。 55.restart marker:從指定的標誌marker處,從新開始get或put,如:restart 130。 56.rmdir dir-name:刪除遠程主機目錄。 57.runique:設置文件名惟一性存儲,若文件存在,則在原文件後加後綴..1,.2等。 58.send local-file[remote-file]:同put。 59.sendport:設置PORT命令的使用。 60.site arg1,arg2…:將參數做爲SITE命令逐字發送至遠程ftp主機。 61.size file-name:顯示遠程主機文件大小,如:site idle 7200。 62.status:顯示當前ftp狀態。 63.struct[struct-name]:將文件傳輸結構設置爲struct-name,缺省時使用stream結構。 64.sunique:將遠程主機文件名存儲設置爲惟一(與runique對應)。 65.system:顯示遠程主機的操做系統類型。 66.tenex:將文件傳輸類型設置爲TENEX機的所需的類型。 67.tick:設置傳輸時的字節計數器。 68.trace:設置包跟蹤。 69.type[type-name]:設置文件傳輸類型爲type-name,缺省爲ascii,如:type binary,設置二進制傳輸方式。 70.umask[newmask]:將遠程服務器的缺省umask設置爲newmask,如:umask 3。 71.user user-name[password][account]:向遠程主機代表本身的身份,須要口令時,必須輸入口令,如:user anonymous my@email。 72.verbose:同命令行的-v參數,即設置詳盡報告方式,ftp服務器的全部響應都將顯示給用戶,缺省爲on. 73.?[cmd]:同help。
附表:
ascii |
爲文本文件設置傳輸方式爲ascii |
bell |
命令完成時響鈴 |
binary |
設置傳輸方式爲二進制,這是缺省設置 |
bye |
終止ftp會話,並退出 |
cd dir_name |
切換遠程主機上目錄 |
cdup |
切換遠程主機上目錄至上一級目錄 |
close |
終止到遠程主機的ftp會話 |
delete file_name |
刪除遠程主機中的文件 |
dir |
顯示遠程主機上目錄列表 |
get file_name |
下載一個文件 |
hash |
每傳輸必定數量數據打印`#' |
lcd dir_name |
切換本地工做目錄 |
ls |
列表遠程主機目錄中的信息 |
mdelete file_names |
刪除多個文件 |
mget file_names |
下載多個文件 |
mkdir dir_name |
在遠程主機上建立目錄 |
mput file_names |
上傳多個文件 |
open site_name |
鏈接到遠程tftp |
prompt |
設置多個文件傳輸時的交互提示 |
put file_name |
上傳一個文件 |
pwd |
顯示遠程主機當前工做目錄 |
quit |
終止ftp會話並退出 |
rename old_name new_name |
重命名文件 |
rmdir dir_name |
刪除遠程主機上的某個目錄 |
size file_name |
顯示遠程主機上某個文件的大小 |
status |
顯示當前狀態 |
system |
顯示遠程主機操做系統類型 |
tenex |
將文件傳輸類型設置爲tenex機所需的類型 |
user |
向遠程主機發送用戶信息(登陸信息) |
verbose |
開關verbose方式,遠程主機全部響應都顯示給客戶 |