linux上ftp和sftp简要操作命令

一、ftp服务操作命令

1、查看主机是否安装ftp服务

rpm -qa | grep ftp

这个命令适合centos系统,会显示出ftp版本。

which vsftpd

会显示出ftp的安装目录。

[root@VM000000814 /]# rpm -qa | grep ftp
ftp-0.17-54.el6.x86_64
vsftpd-2.2.2-24.el6.x86_64
[root@VM000000814 /]# which vsftpd
/usr/sbin/vsftpd
[root@VM000000814 /]# 

2、启动,重启,关闭ftp服务。

(1)、启动ftp服务

service vsftpd start

/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

(2)、重启ftp服务

service vsftpd restart

(3)、关闭ftp服务

service vsftpd stop

[root@VM000000814 /]# 
[root@VM000000814 /]# service vsftpd start
Starting vsftpd for vsftpd: [  OK  ]
[root@VM000000814 /]# service vsftpd restart
Shutting down vsftpd: [  OK  ]
Starting vsftpd for vsftpd: [  OK  ]
[root@VM000000814 /]# service vsftpd stop
Shutting down vsftpd: [  OK  ]
[root@VM000000814 /]# /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
[root@VM000000814 /]# 
[root@VM000000814 /]# 

3、查看ftp服务的状态

service vsftpd status

显示正在运行的pid

ps -aux | grep ftp

显示服务的启动信息

[root@VM000000814 /]# service vsftpd status
vsftpd (pid 11092) is running...
[root@VM000000814 /]# 
[root@VM000000814 /]# 
[root@VM000000814 /]# ps -aux | grep ftp
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root      11092  0.0  0.0  52556   804 ?        Ss   11:18   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      11200  0.0  0.0 103252   836 pts/0    S+   11:19   0:00 grep ftp
[root@VM000000814 /]# 

二、ftp使用命令

cd 本机目录
ftp -niv <<- EOF  
open ftp服务ip 
user 用户名 密码  
ascii(or bin)  //ftp传输模式,ASSCII模式和二进制模式

cd ftp服务器的目标文件所在目录
put 文件名(or get 文件名)  //get下载文件,put上传文件
bye  
EOF 

三、lftp操作ftp命令

一般ftp是不能直接搬运文件夹的,如果一下要ftp整个文件夹,需要逐个遍历获取,比较麻烦。 这里给出lftp命令,支持文件夹下载。(如果多个文件,还是建议打包,然后一次获取)。

cd 本地主机目标目录

lftp 用户名:密码@ftp服务ip:端口号 <<EOF

cd ftp服务器主机目标目录
//get 文件  //下载文件
//get -c 文件 //允许断点续传下载文件
//pget -c -n count 文件  //允许以count个线程,断点续传下载文件
//mget 文件 //下载文件
mirror 文件夹  //下载目标文件夹其子文件夹
//put 文件 //上传文件
//mput 文件 //上传文件
mirror -R 文件夹  //将本地文件夹及其子文件夹反向上传到ftp服务器。

bye

EOF

下面是下载一个文件夹的脚本。

#ftp服务ip
host="172.21.4.33"
#ftp服务端口,默认21
port="21"
#ftp账号
user="thb"
#ftp密码
pwd="12qeq"

#演示下载文件夹/test/files/
homepath='/test/'
echo $homepath
#如果本机/test/目录不存在,则创建该目录
if [ ! -d $homepath ] 
then 
        mkdir $homepath
fi
#目标文件夹
targetpath='files'
echo $targetpath
#切换本地/test/目录
cd $homepath
#连接ftp服务
lftp $user:$pwd@$host:$port <<EOF
#切换ftp服务器的/test/目录
cd $homepath
#下载目标文件夹
mirror $targetpath

bye

EOF

四、lftp操作sftp命令

建立连接方式不一样,但是操作类似,这里只是给出一种方式,作为记录备用。

lftp -u sftp用户名,sftp密码 sftp://sftp服务ip <<EOF
//设置允许覆盖本地已存在文件
set xfer:clobber on
//切换sftp服务主机目录
lcd 目标目录
//下载文件
get 目标文件
bye
EOF

猜你喜欢

转载自my.oschina.net/u/2972417/blog/1628858
今日推荐