i.MX6ULL終結者使用Yocto檔案系統開發QT安裝測試Qt Creator
FTP--file transfer protcol檔案傳輸協議
FTP是一種在網際網路中進行檔案傳輸的協議,基於C/S模式,預設服務埠號是20、21
20埠用於資料傳輸、21埠用於接收客戶端的FTP命令與引數。
linux上的叫vsftpd(ver secure ftp daemon)
一、安裝
1、安裝vsftpd服務程式
# yum install vsftpd -y #注意關閉防火牆規則 iptables -F
1.1、vsftpd配置檔案
注意配置檔案,不得有任何多餘的空格!否則會重啟失敗
#過濾出非註釋行,非空行
[root@linux ~]# grep -vE '^#|^$' /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #是否開啟匿名使用者允許訪問
local_enable=YES #是否允許本地使用者登入FTP
write_enable=YES #write_enable=YES #全域性設定,是否容許寫入,開啟允許上傳的許可權
local_umask=022 #本地使用者上傳檔案的umask
dirmessage_enable=YES #允許為目錄配置顯示資訊,顯示每個目錄下面的message_file檔案的內容
xferlog_enable=YES #開啟日誌功能,以及存放路徑
xferlog_file=/var/log/vsftpd.log #日誌路徑
connect_from_port_20=YES #使用20埠進行連線
xferlog_std_format=YES #標準日誌格式
listen=YES #繫結到監聽埠
listen_ipv6=YES #開啟ipv6
pam_service_name=vsftpd #設定PAM的名稱
userlist_enable=YES #設定使用者已列表,允許或是禁止
tcp_wrappers=YES #控制主機訪問,檢查/etc/hosts.allow hosts.deny的配置達到防火牆作用
2、安裝ftp客戶端
ftp客戶端有多種形式,圖形化、命令列
-
2.1 ftp命令客戶端
ftp> ascii # 設定以ASCII方式傳送檔案(預設值)
ftp> bell # 每完成一次檔案傳送,報警提示.
ftp> binary # 設定以二進位制方式傳送檔案.
ftp> bye # 終止主機FTP程序,並退出FTP管理方式.
ftp> case # 當為ON時,用MGET命令拷貝的檔名到本地機器中,全部轉換為小寫字母.
ftp> cd # 同UNIX的CD命令.
ftp> cdup # 返回上一級目錄.
ftp> chmod # 改變遠端主機的檔案許可權.
ftp> close # 終止遠端的FTP程序,返回到FTP命令狀態, 所有的巨集定義都被刪除.
ftp> delete # 刪除遠端主機中的檔案.
ftp> dir [remote-directory] [local-file] # 列出當前遠端主機目錄中的檔案.如果有本地檔案,就將結果寫至本地檔案.
ftp> get [remote-file] [local-file] # 從遠端主機中傳送至本地主機中.
ftp> help [command] # 輸出命令的解釋.
ftp> lcd # 改變當前本地主機的工作目錄,如果預設,就轉到當前使用者的HOME目錄.
ftp> ls [remote-directory] [local-file] # 同DIR.
ftp> macdef # 定義巨集命令.
ftp> mdelete [remote-files] # 刪除一批檔案.
ftp> mget [remote-files] # 從遠端主機接收一批檔案至本地主機.
ftp> mkdir directory-name # 在遠端主機中建立目錄.
ftp> mput local-files # 將本地主機中一批檔案傳送至遠端主機.
ftp> open host [port] # 重新建立一個新的連線.
ftp> prompt # 互動提示模式.
ftp> put local-file [remote-file] # 將本地一個檔案傳送至遠端主機中.
ftp> pwd # 列出當前遠端主機目錄.
ftp> quit # 同BYE.
ftp> recv remote-file [local-file] # 同GET.
ftp> rename [from] [to] # 改變遠端主機中的檔名.
ftp> rmdir directory-name # 刪除遠端主機中的目錄.
ftp> send local-file [remote-file] # 同PUT.
ftp> status # 顯示當前FTP的狀態.
ftp> system # 顯示遠端主機系統型別.
ftp> user user-name [password] [account] # 重新以別的使用者名稱登入遠端主機.
ftp> ? [command] # 同HELP. [command]指定需要幫助的命令名稱。如果沒有指定 command,ftp 將顯示全部命令的列表。
ftp> ! # 從 ftp 子系統退出到外殼。
-
2.2 FileZilla圖形化工具
安裝ftp命令列
yum install ftp -y
二、vsftpd三種登入模式
vsftpd允許使用者三種認證的模式登入到FTP伺服器。
本地使用者模式,基於Linux本地賬號密碼進行認證,配置簡單,但是一旦被破解,伺服器資訊就很危險
匿名使用者模式,任何人無需密碼直接登入
虛擬使用者模式,單獨為FTP建立使用者資料庫,基於口令驗證賬戶資訊,只適用於FTP,不會影響其他使用者資訊,最為安全。
1. 連線ftp伺服器
格式:ftp [hostname| ip-address]
a)在linux命令列下輸入:
ftp 192.168.1.1
b)伺服器詢問你使用者名稱和密碼,分別輸入使用者名稱和相應密碼,待認證通過即可。
2. 下載檔案
下載檔案通常用get和mget這兩條命令。
a) get
格式:get [remote-file] [local-file]
將檔案從遠端主機中傳送至本地主機中。
如要獲取遠端伺服器上/usr/your/1.htm,
ftp> get /usr/your/1.htm 1.htm (回車)
b) mget
格式:mget [remote-files]
從遠端主機接收一批檔案至本地主機。
如要獲取伺服器上/usr/your/下的所有檔案,則
ftp> cd /usr/your/
ftp> mget *.* (回車)
此時每下載一個檔案,都會有提示。如果要除掉提示,則在mget *.* 命令前先執行:prompt off
注意:檔案都下載到了linux主機的當前目錄下。比如,在 /usr/my下執行的ftp命令,則檔案都下載到了/usr/my下。
3.上傳檔案
a) put
格式:put local-file [remote-file]
將本地一個檔案傳送至遠端主機中。
如要把本地的1.htm傳送到遠端主機/usr/your,並改名為2.htm
ftp> put 1.htm /usr/your/2.htm (回車)
b) mput
格式:mput local-files
將本地主機中一批檔案傳送至遠端主機。
如要把本地當前目錄下所有html檔案上傳到伺服器/usr/your/ 下
ftp> cd /usr/your (回車)
ftp> mput *.htm (回車)
注意:上傳檔案都來自於主機的當前目錄下。比如,在 /usr/my下執行的ftp命令,則只有在/usr/my下的檔案linux才會上傳到伺服器/usr/your 下。
4. 斷開連線
bye:中斷與伺服器的連線。
ftp> bye (回車)