ftp(file transfer protocol)
功能說明:設置文件系統相關功能。
語法:ftp [-dignv][主機名稱或IP地址]
補充說明:FTP是ARPANet的標准文件傳輸協議,該網路就是現今Internet的前身。
參數: 《Linux就該這么學》
-d 詳細顯示指令執行過程,便於排錯或分析程序執行的情形。
-i 關閉互動模式,不詢問任何問題。
-g 關閉本地主機文件名稱支持特殊字元的擴充特性。
-n 不使用自動登陸。
-v 顯示指令執行過程。
1. 連接ftp伺服器
格式:ftp [hostname| ip-address]
a)在linux命令行下輸入:
ftp 192.168.1.1
b)伺服器詢問你用戶名和密碼,分別輸入用戶名和相應密碼,待認證通過即可。
c)也可以先輸入ftp
ftp>
d)然後在輸入要連接的IP
ftp>open 192.168.1.1
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(回車)
2. linux下如何訪問windows下的ftp伺服器
linux下常用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 (回車)
3. Linux下如何找到FTP伺服器的配置文件
1、Linux系統下vsftp安裝。
4. linux下如何查看ftp的目錄
我們通過tree命令(需要安裝,方法:sudo apt-get install tree)可以以樹狀圖的方式查看文件目錄,而目錄中不同類型的文件有各自的顏色,如下所示:
白色--普通文件
藍色--目錄
綠色--可執行文件
紅色--壓縮文件
青色--鏈接文件
黃色--設備文件
灰色--其他文件
通過ls命令,查看當前文件夾內的文件;ls -a 查看當前文件夾內的文件,包括隱藏文件;
ls -la 查看當前文件夾內文件的詳細信息,包括隱藏文件,
5. Linux下如何獲取FTP文件名和大小
path=''敏純鉛 #這里的橋好$1,換成你需要的路徑名褲晌,或者你不換,通過shell的參數傳入
for dirlist in $(find ${path} -name *.xml)
do
echo ${dirlist}
查找,刪除,比較都在這做
done
6. LINUX下如何開啟ftp伺服器
1. 首先伺服器要安裝ftp軟體,查看是否已經安裝ftp軟體下:
#which vsftpd
如果看到有vsftpd的目錄說明伺服器已經安裝了ftp軟體
2. 查看ftp 伺服器狀態
#service vsftpd status
3. 啟動ftp伺服器
#service vsftpd start
4. 重啟ftp伺服器
#service vsftpd restart
5. 查看服務有沒有啟動
#netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
如果看到以上信息,證明ftp服務已經開啟。
6.如果需要開啟root用戶的ftp許可權要修改以下兩個文件
#vi /etc/vsftpd.ftpusers中注釋掉root
#vi /etc/vsftpd.user_list中也注釋掉root
然後重新啟動ftp服務。
7. vsftpd 500 OOPS: cannot change directory
登陸報錯:
C:\>ftp 192.168.0.101
Connected to 192.168.0.101.
220 (vsFTPd 2.0.5)
User (192.168.0.101:(none)): frank
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/frank
Login failed.
ftp> ls
500 OOPS: child died
Connection closed by remote host.
解決方法:
setsebool ftpd_disable_trans 1
service vsftpd restart
就OK了!
這是SELinux的設和培置命令,在不熟悉SELnux前,把SELinux關掉悄棚寬也可以的。
8. 永久開啟,即os重啟後自動開啟ftp服務
方法一:
cd /etc/xinetd.d ,編輯ftp服務的配置文件gssftp的設啟亮置:
vi /etc/xinetd.d/gssftp ,將 修改兩項內容:
(a) server_args = -l –a 去掉-a 改為server_args = -l
(b) disable=yes改為disable=no
(c) 保存退出。
方法二:
(a) system-config-services , 進入圖形界面的System services查看是否有 vsftpd項,如果沒有轉到2.,保存後退出
(b) 用redhat第三張盤 安裝此服務(開始--刪除/增加程序),200K左右
(c) #setup
此時能看到vsftpd項,此時選中此services項,保存後退出.
7. cftpfilefind怎麼獲取linux ftp伺服器文件列表呢是不是這個cftpfilefi
問題: ftp客戶端下載目錄數據很慢,而此目錄是掛載了NFS共享目錄
現象: 使用ftp客戶端訪問nfs目錄,下載上傳速度 0.7kb/s, 而且對於零散的小文件(總絕旁共幾百K),
每次傳輸新文件, 都會有30-40s的等待時間,400k文件要5分鍾。
ftp配置如下:
[root@IDC-D-144 vsftpd]# cat vsftpd.conf|grep -v '#'
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ls_recurse_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
chroot_list_enable=YES >>>>> 啟用渣態改變用戶登錄默認目錄
chroot_list_file=/etc/vsftpd/chroot_list >>>>> 允許登錄更改目錄的用戶列表
user_config_dir=/etc/vsftpd/vsftpd_user_conf >>>>>> 目錄下記錄著每個用戶的默認登錄地址
[root@IDC-D-144 vsftpd]# cat chroot_list
suns
hanjun
[root@IDC-D-144 vsftpd]#
[root@IDC-D-144 vsftpd]# cd vsftpd_user_conf/
[root@IDC-D-144 vsftpd_user_conf]# ls
hanjun suns
[root@IDC-D-144 vsftpd_user_conf]# cat hanjun
local_root=/usr/local/apache2059/htdocs/hipiao/
[root@IDC-D-144 vsftpd_user_conf]#
這樣用戶hanjun登錄就會直接進入目錄 /usr/local/apache2059/htdocs/hipiao/
vsftpd 的部分就是這樣。
下載上傳速度慢也是想了很多辦法,是不是內外網問題? 是不是路由設置問題? 。。。
最後查到可能與NFS有關。 出現幾個服務如宏源名:nfslock 、 portmap 、rpc
講一下NFS的埠連接知識:
因為NFS支持的功能相當的多,而不同的功能都會使用不同的程序來啟動,沒啟動一個功能就會啟用一些
埠來傳輸資料,因此,NFS的功能所隨影的埠沒有固定住,而是隨機取用一些未被使用的小於1024的
埠來作為傳輸之用。但如此一來又造成用戶端想要連上伺服器時的困擾,因為用戶端得要知道伺服器端的
相應埠才能夠連接吧。
8. linux下用ftp命令連接到ftp伺服器應該如何查看伺服器上的目錄文件數
1.Linux下啟動ftp
ls -l 普通文件就是以 - 開頭,文件夾以 d 開頭,grep 後面接正則表達式:^- 以 - 開頭的匹配。
(8)linux獲取ftp文件擴展閱讀:
1.查看當前目錄下的文件數量(不包含子目錄中的文件):
ls -l|grep "^-"| wc -l
2. 查看當前目錄下的文件數量(包含子目錄中的文件):
ls -lR|grep "^-"| wc -l
3.查看當前目錄下的文件夾目錄個數,(不包含子目錄中的目錄):
ls -l|grep "^d"| wc -l
4.查詢當前路徑下的指定前綴名的目錄下的所有文件數量 例如:統計所有以「20161124」開頭的目錄下的全部文件數量:
ls -lR 20161124*/|grep "^-"| wc -l