一、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