2011年10月22日 星期六

[Linux 命令] ftp : 網路檔案傳輸

 屬性 : 網路相關 - 連線與路由 
語法 : ftp [參數] [hostname]
參數 | 功能
-e | 關閉歷史指令的紀錄
-g | 關閉檔名的自動抓取 (使用 tab 鍵)
-i | 關閉交談選項
-n | 避免自動登陸
-p | 使用 passive mode (被動模式) 來進行檔案傳輸.
-v | 顯示完整資訊

使用 ftp 登入後可使用的指令 :
指令 | 功能
! | 執行本機上的命令
ascii | 設定傳輸的模式為 ascii
binary | 設定傳輸模式為 binary
bye | 結束連線並結束 ftp 指令
cd | 切換目錄
cdup | 切換到遠端的上一層目錄
close | 關閉連線, 但不結束 ftp 指令
delete | 刪除遠端的檔案
get | 下載檔案
hash | 傳輸檔案時顯示 #, 以便了解傳輸進度
lcd | 切換本機的目錄
ls | 列出遠端目錄下的檔案
mdelete | 刪除多個檔案
mget | 下載多個檔案
mkdir | 新增遠端目錄
mput | 上傳多個檔案
newer | 當遠端檔案較新時, 才下載檔案
open | 開啟連線.
prompt | 關閉交談模式
put | 上傳檔案
pwd | 顯示目前的路徑
quit | 離開

執行範例 :
* 使用 ftp 上傳一個名為 abc 的檔案
john@tda-client:~$ ftp 192.168.244.2 <連接 FTP Server>
Connected to 192.168.244.2.
220 (vsFTPd 2.3.2)
Name (192.168.244.2:john): john <輸入 FTP 帳號>
331 Please specify the password.
Password: <輸入密碼>
login as: john
john@192.168.0.105's password: *******
...
ftp> put abc <上傳本地端檔案 abc>
local: abc remote: abc
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
11 bytes sent in 0.00 secs (26.1 kB/s)

ftp>

* 使用 ftp, 並透過自動登入的方式上傳資料.
首先新增一個名為 .netrc 的檔案, 內容如下 :
machine 192.168.244.2
login john
password 8477810

如上所示, 登入主機為 192.168.244.2, 登入名稱為 john. 接著如下操作 :
john@tda-client:~$ chmod 600 .netrc <將 .netrc 權限設為 600>
john@tda-client:~$ ftp -i < <使用 -i 關閉交談模式, 並直到 EOF 才結束>
open 192.168.244.2
put ipt
bye
EOF <結束輸入, 並執行輸入內容>

補充說明 :
ftp 是常用的抓取檔案指令, 搭配 .netrc 可免除帳號密碼的詢問, 方便我們使用 shell script 自動抓取檔案.
FileZilla - The free FTP solution
FileZilla, the free FTP solution. Both a client and a server are available. FileZilla is open source software distributed free of charge under the terms of the GNU General Public License...

Linux / Unix Command: ftp
Ftp is the user interface to the Internet standard File Transfer Protocol. The program allows a user to transfer files to and from a remote network site.
This message was edited 10 times. Last update was at 23/10/2011 11:34:03

1 則留言:

[Git 常見問題] error: The following untracked working tree files would be overwritten by merge

  Source From  Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 #   git clean -d -fx 方案2: 今天在服务器上  gi...