天天看點

ftp安裝配置

一、服務端安裝 vsftpd 。

yum -y install vsftpd

說明 vsftpd為服務端

二、/etc/vsftpd/vsftpd.conf為配置檔案。

三、/etc/vsftpd/ftpusers和/etc/vsftpd/user_list為禁止使用者登陸的檔案。

四、啟動服務端

systemctl start vsftpd

五、添加使用者設定目錄權限。

ftp使用者與目錄的權限 通過 linux的使用者權限設定即可完成,登陸使用linux使用者登入。

六、用戶端我們使用lftp(ftp經過測試無法上傳檔案,暫時不知道什麼原因)。

yum -y install lftp

七、lftp指令使用

<a href="http://man.linuxde.net/lftp" target="_blank">http://man.linuxde.net/lftp</a>

1、登入ftp

代碼:

lftp 使用者名:密碼@ftp位址:傳送端口(預設21)

用法

(1)lftp username:[email protected]:21 回車

(2)lftp [email protected] 回車     ##預設21端口 回車後輸入密碼

(3)lftp 127.0.0.1 回車   ##回車後 login 登入

(4)lftp 回車 --&gt; open 127.0.0.1 --&gt; login 登入

感覺自己很象孔乙己了,茴香豆的"茴"有幾種寫法阿! ~真暈阿~

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.txt

queue put 234.txt

queue mirror aaa/ 

queue ##檢視任務清單

jobs   ##檢視背景任務清單

queue start ##開始任務清單

queue stop ##停止任務清單

其他指令清晰網 

alias []

定義别名

alias less more

alias 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 的 cache

rels []

從 cache 中顯示遠端檔案清單

rels 則不會從 cache 中讀取

recls opts [path/]pattern

從 cache 中顯示遠端的檔案清單, 應該算是 ls 的加強版, 有很多參數可用,應該是可用來産生各種不同&gt;的檔案清單以供其他程式使用。

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,

對於同時開啟多個站台或同個站台不同目錄間切換。

國内的大多數ftp伺服器使用的中文編碼是gbk,而linxu大多數版本(包括debian,redhat,centOS,fc等版本)預設的編碼是utf-8,于是會出現通路ftp伺服器是出現中文亂碼的問題,解決辦法有兩種:

1、臨時解決

用lftp登入到ftp伺服器上,設定遠端伺服器編碼為gbk,而設定本地編碼為utf-8,做法為:輸入下面兩個指令:

set ftp:charset gbk

set file:charset utf8

2、永久解決

在目錄$HOME/.lftp編輯檔案(如果沒有則建立)rc,輸入下面兩行,設定遠端編碼為gbk,本地編碼為utf-8:

這種方法會導緻通路utf8編碼的伺服器時出現中文亂碼,不過就目前國内環境來說機會比較少。如果出現亂碼時則臨時輸入下面兩行就可以了:

set ftp:charset utf8

另外一個用的很多的圖形界面的ftp用戶端是gftp,在選項中可以選擇編碼,用慣了win下用戶端的人應該能夠很快的早到編碼選擇的地方,選擇伺服器端的編碼為gbk就可以了。

本文轉自 yntmdr 51CTO部落格,原文連結:http://blog.51cto.com/yntmdr/1711452,如需轉載請自行聯系原作者

繼續閱讀