> Kuenhourg's 隨手記事簿: FTP自動化語法

2013年11月6日 星期三

FTP自動化語法

FTP 自動化語法說明ftp /?:
FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:recvbuf
fer] [-b:asyncbuffers] [-w:windowsize] [host]
  -v                不顯示遠端伺服器回應。
  -n                初始連線時不自動登入。
  -i                傳輸多個檔案時關閉互動式提示。
  -d                啟用偵錯功能。
  -g                停用檔案名稱萬用字元 (請參閱 GLOB 命令)。
  -s:filename 指定內含 FTP 命令的文字檔; 將會在 FTP 啟動之後自動執行該命令。
  -a                繫結資料連線時使用任何本機介面。
  -A               匿名登入。
  -x:send sockbuf 覆寫預設的 SO_SNDBUF 大小 8192。
  -r:recv sockbuf 覆寫預設的 SO_RCVBUF 大小 8192。
  -b:async count  覆寫預設的非同步計數 3
  -w:windowsize   覆寫預設的傳輸緩衝區大小 65535。
  host            指定要連線的遠端主機之主機名稱或 IP 位址。

注意:  - mget 和 mput 命令使用 y/n/q 代表是/否/結束。
           - 使用 Control-C 來中止命令。
===============================================================================
範例說明1:
ftp -s:ACTION

ACTION 檔案內容:
ftp                                  ← 執行ftp程式
open 61.67.176.209      ← 開始目的IP位置
guest                              ← 帳號    
12345678                      ← 密碼(傳輸時以明碼,安全堪虞)   
bi                                   ← 切換成 binary 模式
prompt off                     ← 將提示關閉
lcd D:\CARD\DATA    ←切換本機端的目錄夾
mput "*.txt"                   ← 多檔案上載
close                              ←  斷線
quit                                ←  離開
===============================================================================
範例說明2:
FTP Server: 172.16.10.170
User: guest
Password: 12345678
ftp>
鍵入命令連接FTP伺服器:
ftp> 172.16.10.170
稍等片刻,螢幕提示連接成功:
ftp> connected to 172.16.10.170
上傳檔,比如要把c:\sql.bak傳至伺服器的根目錄中,可以鍵入:
ftp> put c:\sql.bak (上傳)
當螢幕提示你已經傳輸完畢,可以鍵入相關命令查看:
ftp> dir
下載,假設要把伺服器\bak目錄中的所有.rar檔下傳至本機Local中,輸入指令:
ftp> cd bak
ftp> mget *.rar
上傳與下載工作完畢,鍵入bye中斷連接。
ftp> bye
===============================================================================
FTP程式常用的參數命令:1. open:與伺服器相連接;
2. send(put):上傳文件;
3. get:下載檔案;
4. mget:下載多個檔;
5. cd:切換目錄;
6. dir:查看目前的目錄下的文件;
7. del:刪除檔;
8. bye:中斷與伺服器的連接。
===============================================================================
如果想瞭解更多,可以鍵入
ftp> help 或是?    查看命令集:
ascii: 設定以ASCII方式傳送檔(缺省值)
bell: 每完成一次檔傳送並訊息提示
binary: 設定以二進位方式傳送檔
bye: 終止主機FTP進程,並退出FTP管理方式
case: 當為ON時,用mget命令拷貝的檔案名到本地機器中,全部轉換為小寫字母
cd: 同DOS的cd命令
cdup: 回上一層目錄
chmod: 改變遠端主機的檔許可權
close: 終止遠端的FTP程序,返回到FTP命令狀態,所有的巨集定義都被刪除
delete: 刪除遠端伺服器中的檔案
dir [remote-directory] [local-file]: 列出當前遠端主機目錄中的檔.如果有本地檔,就將結果寫至本地檔
get [remote-file] [local-file]: 從遠端主機中傳送至本地主機中
help [command]: 輸出命令的解釋
lcd: 改變當前本地主機的工作目錄,如果缺省,就轉到當前使用者的HOME目錄
ls [remote-directory] [local-file]: 同dir
macdef: 定義巨集命令
mdelete [remote-files]: 刪除一批檔
mget [remote-files]: 從遠端主機接收一批檔至本地主機
mkdir directory-name: 在遠端主機中建立目錄
mput local-files: 將本地主機中一批檔傳送至遠端主機
open host [port]: 重新建立一個新的連接
prompt: 提示模式
put local-file [remote-file]: 將本地一個檔傳送至遠端伺服器中
pwd: 列出當前遠端主機目錄
quit: 同bye
recv remote-file [local-file]: 同get
rename [from] [to]: 改變遠端主機中的檔案名
rmdir directory-name: 刪除遠端主機中的目錄
send local-file [remote-file]: 同put
status: 顯示當前FTP的狀態
system: 顯示遠端主機系統類型