ftp命令和自動上下傳的指令碼例子

2021-05-02 12:08:43 字數 4067 閱讀 2791

附錄:

ftp的命令列格式為:

ftp -v -d -i -n -g [主機名] ,其中

-v 顯示遠端伺服器的所有響應資訊;

-n 限制ftp的自動登入,即不使用;.n etrc檔案;

-d 使用除錯方式;

-g 取消全域性檔名。

ftp使用的內部命令如下(中括號表示可選項):

1.![cmd[args]]:在本地機中執行互動shell,exit回到ftp環境,如:!ls*.zip

2.$ macro-ame[args]: 執行巨集定義macro-name。

3.account[password]: 提供登入遠端系統成功後訪問系統資源所需的補充口令。

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]:顯示遠端主機目錄,並將結果存入本地檔案

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]]:設定檔名字元的翻譯機制,如ntrans1r,則檔名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.

ftp -n

user $ $

binprompt

cd $/tmp/

lcd $/

put $.z

#rename $/tmp/$ $/data/$

byeeof

自動上傳FTP伺服器的shell指令碼

目的 幫別人寫的乙個自動ftp指令碼,涵蓋md5校驗 上傳 備份三個功能 bin sh host b.2222.org 上傳的主機 user gsftp 使用者 password slslsl1111 密碼,這三項均可修改 cd gsftp 獲取md5檔案資訊,並判斷是否存在,不存在則退出指令碼 u...

linux ftp 命令詳解和自動上傳指令碼實現

ftp ascii 設定以ascii方式傳送檔案 預設值 ftp bell 每完成一次檔案傳送,報警提示.ftp binary 設定以二進位制方式傳送檔案.ftp bye 終止主機ftp程序,並退出ftp管理方式.ftp case 當為on時,用mget命令拷貝的檔名到本地機器中,全部轉換為小寫字母...

使用expect和ssh遠端執行命令的指令碼

usr bin expect f exp version exit 5.0 if set cmd lindex argv 0 set password lindex argv 1 eval spawn cmd set timeout 30 while re enter passphrase for ...