ubuntu上ftp服务器创建

1、安装ftp

sudo apt-get install vsftpd

2、创建工作目

mkdir /home/ftp

3、创建用户名和密码

sudo useradd -d /home/ftp -s /bin/bash yp

passwd yp

    1

4、修改配置文件

vi vsftpd.conf

listen=YES

#listen_ipv6=YES 要注释掉

write_enable=YES

5、防火墙允许端口访问(可选)

 ufw allow 20

 ufw allow 21

6、启动ftp服务

  • systemctl start vsftpd 或 service vsftpd start
  • systemctl restart vsftpd 或 service vsftpd restart

7、用FileZilla访问

匿名访问和yp(密码1)访问,实际为myftp

8、用wget命令下载

ftp没有命令下载所有文件夹,所以用wget命令下载

wget -nH -m --ftp-user=your_username --ftp-password=your_password ftp://your_ftp_host/*

 

解释:
-nH:不创建以主机名命名的目录。
–cut-dirs:希望去掉原来的目录层数,从根目录开始计算。如果想完全保留FTP原有的目录结构,则不要加该参数。
-m:下载所有子目录并且保留目录结构。
–ftp-user:FTP用户名
–ftp-password:FTP密码
ftp://*.*.*.*/*:FTP主机地址。最后可以跟目录名来下载指定目录。

例子:
wget -nH -m --ftp-user=tom --ftp-password=123456 ftp://192.168.19.1/tom/

 

当然,如果FTP目录下文件数量特别多,效率最高的做法是先打个压缩包,然后再下载。实在没办法,就用上述方法自动下载吧。

ps:ftp有主动方式(PORT方式)和被动方式(PASV方式),wget默认是PASV方式,如果下载有问题,只需要再加一个选项:--no-passive-ftp

wget -nH -m --no-passive-ftp --ftp-user=yp --ftp-password=1 ftp://47.100.171.251/

你可能感兴趣的:(linux,ftp)