使用lftp
1、登入ftp
代碼:
lftp 使用者名稱:密碼@ftp位址:傳送埠(預設21)
##用法
(1)lftp username:password@127.0.0.1:21 回車
(2)lftp username@127.0.0.1 回車 ##預設21連接埠回車後輸入密碼
(3)lftp 127.0.0.1 回車 ##回車後login 登入
(4)lftp 回車--> open 127.0.0.1 --> login 登入
#覺得自己很像孔乙己了,茴香豆的" Hayes"有幾種寫法阿! ~真暈阿~
2、lftp中文亂碼問題
對於像我這樣的新手,登入後看到的都是中文亂碼(因為一般本地都是utf-8的編碼),怎麼半呢,用set 指令來解決
set ftp:charset gbk(或gb2312 或utf-8) ##設定ftp端的編碼格式
#set file:charset utf-8 (...同上) ##設定本機編碼格式
附:set指令的技巧(1)輸入set 查看已經設定好的指令(2)set -a 看所有可以設定的指令
3、尋找ftp端檔案
ls *.txt ##尋找目前目錄下的所有txt檔案
ls ./123/ ##列出123目錄下所有檔案
find . -name "*.txt" ##遞歸查找網站上所有的txt檔案
find ./xx -name "*.txt" ##找出xx目錄下所有的txt檔案
附1: ls第二次讀取的是本機快取,可以用rels 取代ls 或catch off / catch on 來開關catch,catch flush清空本機catch
#附2:瀏覽本機目錄的指令可用!ls, 如!ls /usr/local/bin/
4、下載檔案
下載檔案前要先設定本機的目錄,用來存放下載的檔案
lcd /home/123/web ##設定本機存放目錄預設為/home/usr
get 123.txt
下載123.txt檔案到/home/123/ web 中get -c 123.txt ##斷點續傳下載mget *.txt ##批次下載所有txt檔案mget -c *.txt ##斷點續傳mget -c ./123/aaa/*.txt ##斷點續傳、批次下載ftp端aaa目錄下的所有txt檔案pget - c -n 10 file.dat##以最多10個執行緒以允許斷點續傳的方式下載file.dat##可以透過設定set pget:default-n 5的值而使用預設值。 mirror aaa/##將aaa目錄整個的下載下來,子目錄也會自動複製本地自動建立目錄5、上傳檔案put 123.txt ##同下載mput *.txt ##相同下載mirror -R aaa/ ##相同下載6、設定被動/非被動模式set ftp:passive-mode 1 ## 1 被動0非主動多任務處理ctrl+z ##將目前進行的任務移交後台處理wait ##將背景處理任務調至前台查看jobs ##查看後台進行的任務清單kill all 或job_no ##刪除所有任務或指定的任務##將任務加入任務清單queue get 123.txtqueue put 234.txtqueue mirror aaa/ #queue ##查看任務清單jobs ##查看後台任務清單queue start ##開始任務清單queue stop ##停止任務清單其他指令 alias []定義別名alias less morealias reconnect "close; cd ."直接輸入alias 即可看到目前定義了那些別名。如果只輸入 alias name 的話, 則是取消 name 這個別名。 bookmark SUBCMD設定書籤, 可將目前站台及所在目錄設為書籤, 下次可直接進來, 不用再cd 來cd 去的bookmark add name 用來新增名稱為name 的書籤bookmark del name 刪除名稱為name 的書籤bookmark list 顯示目前有設定那些書籤(另外直接打bookmark 和bookmark list 的結果一樣)bookmark edit 打電話給編輯器修改書籤(~/.lftp/bookmarks)cd 切換遠端目錄cache SUBCMD管理lftp的cacherels []從cache 顯示遠端檔案清單rels 則不會從cache 讀取recls opts [path /]pattern從cache 中顯示遠端的檔案清單, 應該算是ls 的加強版, 有很多參數可用,應該是可用來產生各種不同>的檔案清單以供其他程式使用。 recls 則不會從cache 讀取du options#計算遠端整個目錄佔用容量get OPTS -o抓取遠端檔案 get rfile -o lfile抓取rfile 到本機改名為lfile-c 為續傳-E抓取完成後, 將遠端的檔案砍了
##-a 為ascii mode, 預設為binary mode
-O 設定base directory 為本地端放檔案的目錄
mget OPTS
下載遠端檔案(可用wildcard expansion 也就是*)
pget OPTS -o
使用多個連結下載檔案, 預設為五個。
-n 3 為叁個連結
jobs -v
#顯示目前有那些程式在背景執行
-v 顯示詳細的資訊(- v 可多加幾個來顯示更詳細的資訊)
lcd
切換本地端的目錄
mirror OPTS remote [local]
#下載整個目錄(樓上的get 只能用來抓檔案)
-c 續傳
-e 這個要小心一些, 比較遠端和本地端的檔案, 假如遠端沒有的, 就將本地端的檔案刪除, 也就是將本地端和遠端資料同步。
-R 上傳整個目錄
-n 只下載較新的檔案
-r 不用遞回目錄
--parallel=n同時下載n 個檔案(預設只下載一個)
module name args
載入一個模組
##put OPTS -o##上傳檔案
mput OPTS
上傳檔案(可用wildcard expansion 也就是*)
mv
將遠端的file1 改名為file2
mrm
用wildcard expansion 方式來刪除遠端檔案
open OPTS
開啟某個站台
open -u , -p site
queue OPTS []
將cmd 放到佇列中等待執行
-d index 將編號為index 的job 刪除
-m index new_index 將編號index 的job 移至編號new_index, 插隊專用。
-n index 在編號index 之前新增一個job
wait []
將背景執行中的程式移至前景(也可用fg)
kill all|
刪除全部的jobs 或job_no
repeat delay command
每隔delay 秒, 重覆執行command, 預設是每隔一秒
rm -r -f
移除遠端檔案
mkdir -p
建立遠端目錄
rmdir -f
移除遠端目錄
set OPT []
#設定變數
#直接鍵入set 可看目前定義了那些變數
source
讀取file, 並執行file 中的指令(應該是跟bash 中的source 指令是一樣的吧)
debug [|off] -o
設定debug level 為level
-o 將輸出導向至file
exit [|bg]
結束lftp
此時若還有jobs,則會將lftp 放至背景執行, 繼續未完成的工作
history -w file-r file-c|-l cnt
和bash 中的history 功能一樣
renlist []
只顯示遠端的檔名
pwd -p
#顯示目前遠端所在目錄
-p 連登入密碼也顯示
scache []
只打scache 顯示目前所有的session, 加上session_no 可切換至其他的session,
對於同時開啟多個站台或同個月台不同目錄間切換。
以上是linux下登入ftp, lftp指令詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!