1.Linux下啟動ftp
創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務金沙,十年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792
2.連接FTP
3.進入FTP目錄
4.查看目錄文件數(shù)
ls -l 普通文件就是以 - 開頭,文件夾以 d 開頭,grep 后面接正則表達式:^- 以 - 開頭的匹配。
擴展資料:
1.查看當前目錄下的文件數(shù)量(不包含子目錄中的文件):
ls -l|grep "^-"| wc -l
2. 查看當前目錄下的文件數(shù)量(包含子目錄中的文件):
ls -lR|grep "^-"| wc -l
3.查看當前目錄下的文件夾目錄個數(shù),(不包含子目錄中的目錄):
ls -l|grep "^d"| wc -l
4.查詢當前路徑下的指定前綴名的目錄下的所有文件數(shù)量 例如:統(tǒng)計所有以“20161124”開頭的目錄下的全部文件數(shù)量:
ls -lR 20161124*/|grep "^-"| wc -l
1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態(tài)下。
2、在linux命令行下輸入shell指令:ps -ef | grep ftp。
3、最后,按下回車鍵執(zhí)行shell指令,此時會看到ftp進程被成功查詢到,說明ftp功能是開啟狀態(tài)。
Liux系統(tǒng)下有好幾款很不錯的ftp服務,各有特點,適應于不同的應用場合。一般在各種Linux的發(fā)行版中,默認帶有的ftp軟件是vsftp,本文是針對CentOs7系統(tǒng)下搭建vsftpd服務為例。
1. 首先確定系統(tǒng)中已經(jīng)安裝了vsftpd軟件,查看命令:
rpm -q vsftpd
rpm -qa |grep vsftpd
2. 安裝vsftpd(以yum安裝為例)
yum install -y vsftpd
3.關閉selinux和iptables(也可配置防火墻相關訪問策略,反之系統(tǒng)阻斷),設置vsftpd開機自啟
永久關閉selinux
vi /etc/sysconfig/selinux
將配置SELinux=enforcing改為SELinux=disabled
保存退出并重啟服務器
驗證是否關閉命令:getenforce
關閉防火墻
centos 7 操作命令:systemctl stop firewalld.service
centos 6 操作命令:service stop iptables
設置vsftpd開機自啟
centos 7 操作命令:systemctl enable vsftpd.service
centos 6 操作命令:chkconfig vsftpd on
4.vsftpd的配置
ftpusers 該文件用來指定哪些用戶不能訪問ftp服務器。
user_list 該文件用來指定的默認賬戶在默認情況下也不能訪問ftp服務器。
vsftpd.conf vsftpd的主要配置文件,路徑:
/etc/vsftpd/vsftpd.conf
# vsftpd.conf的配置
# 是否允許匿名登錄
anonymous_enable=NO
# 是否允許本地用戶登錄
local_enable=YES
# 是否允許本地用戶對FTP服務器文件具有寫權限
write_enable=YES
# 本地用戶主目錄
local_root=/var/ftp
# 匿名用戶主目錄
anon_root=/var/ftp/pub
# 是否允許匿名用戶上傳文件,如允許,須將全局的
write_enable=YES
anon_upload_enable=YES
# 是否允許匿名用戶創(chuàng)建新文件夾
anon_mkdir_write_enable=YES
# 容許匿名用戶除了新建和上傳外的其他權限
anon_other_write_enable=YES
# 本地用戶掩碼
local_umask=022
# 設置匿名登入者新增或上傳檔案時的umask值
anon_umask=022
# 是否激活目錄歡迎信息功能
dirmessage_enable=YES
xferlog_enable=YES
# 主動模式數(shù)據(jù)傳輸20端口
connect_from_port_20=NO
xferlog_std_format=YES
# 是否監(jiān)聽ipv4
listen=YES
# listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
# 是否設置被動模式
pasv_enable=YES
# 被動模式傳輸使用端口
pasv_min_port=20020
pasv_max_port=20020
# 被動模式返回給客戶端的ip地址(服務器內網(wǎng)穿透時使用)
pasv_address=0.0.0.0( 服務器外網(wǎng)ip )
# 設置用戶訪問目錄,默認只允許用戶自己的ftp目錄
# 需要同時設置allow_writeable_chroot,允許受限用戶的寫權限,不然會報錯
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
5.創(chuàng)建例外用戶文件
#哪怕沒有例外用戶也必須創(chuàng)建
vim /etc/vsftpd/chroot_list
只想讓指定賬戶不限制在其主目錄,其它賬戶都限制在主目錄。
對于chroot_local_user與chroot_list_enable的組合效果,可以參考下表:
6. 創(chuàng)建ftp新用戶
#新增一個test(用戶名),并指定上傳目錄在/home/ftp/test下
useradd -g root -d /home/ftp/test -s /sbin/nologin test
# 如果后期想變更此用戶的上傳到(/XXX/ftp/test),請使用下面的命令:
usermod -d /XXX/ftp/test test
# 設置用戶密碼
passwd test
因為安全問題,vaftpd不允許匿名用戶在ftp主目錄上傳,可以新建一個子目錄,設置權限為777
7. 關于local_umask和anon_umask掩碼
掩碼決定了上傳文件的權限,掩碼為022代表上傳后的文件權限為
666-022=644 - rw-r--r--
掩碼即為要去除的權限為,默認設為033即可。
8. 啟動vsftp服務
#centos7 操作命令
啟動: systemctl start vsftpd.service
停止: systemctl stop vsftpd.service
重啟: systemctl restart vsftpd.service
查看狀態(tài): systemctl status vsftpd.service
#centos6 操作命令
啟動: service vsftpd start
停止: service vsftpd stop
重啟: service vsftpd restart
查看狀態(tài): service vsftpd status
Linux之ftp命令使用方法及案例
Example 1:登陸
[root@iZ25ja2kaemZ ~]# ftp 121.199.5.52
Connected to 121.199.5.52 (121.199.5.52).
220 Microsoft FTP Service
Name (121.199.5.52:root): baitongsj
331 User name okay, need password.
Password:
230 User logged in, proceed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp ll
?Invalid command
ftp
Example2:dir,cd?,quit 命令用法
ftp dir ./app
227 Entering Passive Mode (121,199,5,52,128,234)
150 Opening ASCII mode data connection for /bin/ls.
total 0
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:26 .
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:26 ..
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:24 Common
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:24 Conf
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:19 Lang
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:23 Lib
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:26 Runtime
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:35 Tpl
226 Transfer complete.
ftp cd base
250 Directory changed to /crms/Base
ftp dir
227 Entering Passive Mode (121,199,5,52,128,235)
150 Opening ASCII mode data connection for /bin/ls.
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:18 .
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:18 ..
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:12 Common
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:13 Conf
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:17 Extend
-rw-rw-rw-?? 1 user???? group??????? 1854 Jan 18? 2016 LICENSE.txt
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:17 Lang
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:17 Lib
-rw-rw-rw-?? 1 user???? group??????? 5600 Jan 18? 2016 README.txt
-rw-rw-rw-?? 1 user???? group??????? 1568 Jan 18? 2016 ThinkPHP.php
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:18 Tpl
-rw-rw-rw-?? 1 user???? group??????? 7396 Jan 18? 2016 logo.png
226 Transfer complete.
ftp quie
?Invalid command
ftp quit
221 Goodbye!
[root@iZ25ja2kaemZ ~]#
example3:幫助文件
ftp help
Commands may be abbreviated.? Commands are:
!?????????????? debug?????????? mdir??????????? sendport??????? site
$?????????????? dir???????????? mget??????????? put???????????? size
account???????? disconnect????? mkdir?????????? pwd???????????? status
append????????? exit??????????? mls???????????? quit??????????? struct
ascii?????????? form??????????? mode??????????? quote?????????? system
bell??????????? get???????????? modtime???????? recv??????????? sunique
binary????????? glob??????????? mput??????????? reget?????????? tenex
bye???????????? hash??????????? newer?????????? rstatus???????? tick
case??????????? help??????????? nmap??????????? rhelp?????????? trace
cd????????????? idle??????????? nlist?????????? rename????????? type
cdup??????????? image?????????? ntrans????????? reset?????????? user
chmod?????????? lcd???????????? open??????????? restart???????? umask
close?????????? ls????????????? prompt????????? rmdir?????????? verbose
cr????????????? macdef????????? passive???????? runique???????? ?
delete????????? mdelete???????? proxy?????????? send
ftp help dir
dir???????????? list contents of remote directory
ftp help mdir
mdir??????????? list contents of multiple remote directories
ftp
example4:重命名文件
ftp dir
227 Entering Passive Mode (121,199,5,52,128,234)
150 Opening ASCII mode data connection for /bin/ls.
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:46 .
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:46 ..
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:39 Install
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:36 appImg
drw-rw-rw-?? 1 user???? group?????????? 0 Nov 11 11:08 css
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:37 excelmodel
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:46 file
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:37 ico
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:38 img
drw-rw-rw-?? 1 user???? group?????????? 0 Nov 11 11:11 js
-rw-rw-rw-?? 1 user???? group?????????? 3 Oct 25 15:56 ni.txt
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:46 sound
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:46 sql
226 Transfer complete.
ftp rename ni.txt ss
350 File or directory exists, ready for destination name
250 RNTO command successful.
ftp dir
227 Entering Passive Mode (121,199,5,52,128,235)
150 Opening ASCII mode data connection for /bin/ls.
drw-rw-rw-?? 1 user???? group?????????? 0 Nov 16 16:57 .
drw-rw-rw-?? 1 user???? group?????????? 0 Nov 16 16:57 ..
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:39 Install
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:36 appImg
drw-rw-rw-?? 1 user???? group?????????? 0 Nov 11 11:08 css
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:37 excelmodel
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:46 file
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:37 ico
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:38 img
drw-rw-rw-?? 1 user???? group?????????? 0 Nov 11 11:11 js
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:46 sound
drw-rw-rw-?? 1 user???? group?????????? 0 Nov? 9 18:46 sql
-rw-rw-rw-?? 1 user???? group?????????? 3 Oct 25 15:56 ss
226 Transfer complete.
example5 :格式 get [remote-file] [local-file],將文件從遠端主機中傳送至本地主機中,如要獲取服務器上\rose\1.bmp,則? ftp get /rose/1.bmp??? /tmp/1.bmp (回車),必須給出第二個參數(shù),否則會復制失敗,登錄后執(zhí)行:
ftp get robots.txt /tmp/
local: /tmp/ remote: robots.txt
227 Entering Passive Mode (121,199,5,52,128,233)
150 Opening BINARY mode data connection for robots.txt (26 Bytes).
local: /tmp/: Is a directory
226 Transfer complete.
226 ABOR command successful.
ftp
example 6:lcd 命令
ftp lcd ..
Local directory now /
ftp lcd /tmp/flower
Local directory now /tmp/flower
example 7: put命令
格式:put local-file [remote-file]
將本地一個文件傳送至遠端主機中.
如要把本地的1.bmp傳送到遠端主機e:\rose,并改名為333.bmp
ftp put 1.bmp /rose/333.bmp (回車)
ftp put /tmp/tt.txt ./nihaol.txt
local: /tmp/tt.txt remote: ./nihaol.txt
227 Entering Passive Mode (121,199,5,52,128,232)
150 Opening BINARY mode data connection for nihaol.txt.
226 Transfer complete.
5 bytes sent in 2.6e-05 secs (192.31 Kbytes/sec)
example 8: mput命令
格式:mput local-files
將本地主機中一批文件傳送至遠端主機.
如要把本地當前目錄下所有bmp文件上傳到服務器e:\rose 下
ftp cd /rose (回車)
ftp mput *.bmp (回車)
注意:上傳文件都來自于主機的當前目錄下。比如,在 /root/test下運行的ftp命令,則只有在/root/test下的文件linux才會 上傳到服務器e:\rose 下