1. ncftp介紹
ncftp與傳統的ftp相比,主要有以下改進或變化:詳細內容見其官方網站:http://www.ncftp.com/
(1) 子目錄下載,採用遞迴的方法,下載整個目錄及其子目錄。
(2) 支援斷點續傳。一次傳輸沒有完成,下次可以接著傳輸未完成的檔案。
(3) 匿名ftp自動登入。目前大部分ftp網站都可以匿名登入,ncftp可以自動登入(預設)。
(4) 支援通過防火牆傳輸和Proxy 伺服器。
(5) 支援書籤功能,可以將某個位置存在書籤中方便以後直接跳轉。
(6) 可以顯示下載進度。
(7) 顯示傳輸速率。
(8) 檔案清單自動滿頁暫停。當ls檔案清單超過一屏,ncftp會自動暫停,等待任意鍵繼續。
(9) 預設是以binary方式傳輸資料。
(10) 支援檔案名稱自動完成。例如伺服器上有檔案download.list,您只要輸入get down<TAB>,系統可以自動填滿檔案名稱為download.list。
(11) 自動記憶網站的離開時的目錄,下次登入會自動進入那個目錄。
2. 編譯安裝:
# wget
ftp://ftp.ncftp.com/ncftp/ncftp-3.2.3-src.tar.gz
# tar zxvf ncftp-3.2.3-src.tar.gz
# cd ncftp-3.2.3/
# ./configure --prefix=/usr/local/ncftp
# make && make install
3. ncftp命令參數
(1) ncftpput命令參數
可以實現在shell指令碼中自動連接上傳資料。
-u ftp帳戶
-p ftp密碼
-P ftp連接埠號碼
-m 在傳之前嘗試在目錄位置建立目錄(用於傳目錄的情況)
-R 遞規傳子目錄
# ncftpput -u FTP帳號 -p FTP密碼 -P FTP連接埠 -m -R <FTP伺服器IP> <遠程目錄> <本地目錄>
樣本:
將本地/etc/目錄內的所有檔案和目錄,上傳到FTP伺服器的flv/games/目錄內(如果不存在flv/games/目錄則自動建立)。
# /usr/local/ncftp/bin/ncftpput -u koumm -p koumm -P 21 -m -R 192.168.162.137 flv/games/ /etc/*
(2) ncftp命令參數
ascii cat get lookup mkdir pwd set
bgget cd help lpage open quit show
bgput chmod jobs lpwd page quote site
bgstart close lcd lrename passive rename type
binary debug lchmod lrm pdir rhelp umask
bookmark dir lls lrmdir pls rm version
bookmarks edit lmkdir ls put rmdir
命令說明:
ncftp的基本命令和普通ftp一樣,可以輸入help獲得命令列表。對於所有的命令,都可以使用help <命令>的格式獲得詳細協助。l開頭的就是對本地執行的命令,其它的就是對登入的ftp服務類別目錄的操作命令。
增加的本地檔案系統的操作命令:
lls: 列出本地目前的目錄檔案;
lmkdir : 本地建立目錄;
lrename: 本地檔案改名;
lpwd: 顯示當前本地路 徑;
lchmod: 改變本地檔案許可權;
lpage: 顯示本地檔案內容;
lrm: 刪除本地檔案;
lrmdir: 刪除本地目錄。
樣本1: 不用使用者登陸的話就是匿名登陸
ncftp 192.168.162.138
ncftp / >
樣本2: 上傳
命令說明:lcd到本地的目的目錄,put -R 目錄名
ncftp 192.168.162.138
ncftp / >lcd /data
ncftp / > lls
abc/ bak/ ddd/
ncftp / >put -R abc
ncftp / > put -h
Usage: put [-flags] file1 [file2...]
Flags:
-z : Send the local file file1, and name the remote copy to file2.
-f : Force overwrite (do not try to auto-resume transfers).
-a : Send files using ASCII mode.
-A : Append entire local file to the remote file.
-R : Recursive. Useful for sending whole directories.
ncftp / >
說明: 經測試,上傳命令對目錄的遞規支援比較好,子目錄及其檔案都能傳,下載就不行了,只能目前的目錄下的檔案一級目錄及檔案進行下載,子目錄就不行了。
(3) ncftpget
格式:
ncftpget -u 帳號 -p 密碼 遠程伺服器IP 上傳的目錄 本地上傳檔案
樣本:
# ncftpget -u anonymous 218.108.*.* /data /pub/ftp.gz