FTP客户端软件介绍及使用

101 阅读7分钟

FTP客户端软件介绍及使用

客户端软件: ftp,lftp,lftpget,wget,curl ftp -A ftpserver port -A 主动模式 –p 被动模式 lftp –u username ftpserver lftp username@ftpserver lftpget ftp://ftpserver/pub/file gftp:GUI centos5 最新版2.0.19 (11/30/2008),官网:www.gftp.org/ filezilla,FTP Rush,CuteFtp,FlashFXP,LeapFtp IE ftp://username:password@ftpserver

2.6.1 lftp软件介绍及使用

Lftp客户端工具(现在最好使用的客户端软件):lftp这个软件类似于bash可以实现一些和bash中tab键补全的,目录文件颜色显示。而且lftp登陆的时候直接不用输入匿名密码用户。

1、在客户端服务器下载lftp

[11:23:41 root@a7 ~]#yum install lftp -y

2、链接FTP服务器及使用

在这里插入图片描述

[11:24:15 root@a7 ~]#lftp 10.0.0.8
lftp 10.0.0.8:~> ls
drwxr-xr-x    2 0        0              20 Jul 08 02:59 pub
lftp 10.0.0.8:/> ?          #输入 ? 可显示所有支持的命令
    !<shell-command>                     (commands)                           alias [<name> [<value>]]             attach [PID]
    bookmark [SUBCMD]                    cache [SUBCMD]                       cat [-b] <files>                     cd <rdir>
    chmod [OPTS] mode file...            close [-a]                           [re]cls [opts] [path/][pattern]      debug [<level>|off] [-o <file>]
    du [options] <dirs>                  exit [<code>|bg]                     get [OPTS] <rfile> [-o <lfile>]      glob [OPTS] <cmd> <args>
    help [<cmd>]                         history -w file|-r file|-c|-l [cnt]  jobs [-v] [<job_no...>]              kill all|<job_no>
    lcd <ldir>                           lftp [OPTS] <site>                   ln [-s] <file1> <file2>              ls [<args>]
    mget [OPTS] <files>                  mirror [OPTS] [remote [local]]       mkdir [-p] <dirs>                    module name [args]
    more <files>                         mput [OPTS] <files>                  mrm <files>                          mv <file1> <file2>
    [re]nlist [<args>]                   open [OPTS] <site>                   pget [OPTS] <rfile> [-o <lfile>]     put [OPTS] <lfile> [-o <rfile>]
    pwd [-p]                             queue [OPTS] [<cmd>]                 quote <cmd>                          repeat [OPTS] [delay] [command]
    rm [-r] [-f] <files>                 rmdir [-f] <dirs>                    scache [<session_no>]                set [OPT] [<var> [<val>]]
    site <site-cmd>                      source <file>                        torrent [-O <dir>] <file|URL>...     user <user|URL> [<pass>]
    wait [<jobno>]                       zcat <files>                         zmore <files>

3、这个工具可以直接以非交互方法来进行下载

在这里插入图片描述

#现在回到FPT服务器A8主机创建一个LFTP的文件
[11:27:05 root@A8 pub]#touch LFTP
[11:28:02 root@A8 pub]#ls
f1.img  LFTP
​
#在回到A7客户端通过非交互式方式进行下载
[11:26:47 root@a7 ~]#lftpget ftp://10.0.0.8/pub/LFTP#通过查看LFTP文件已经下载
[11:28:47 root@a7 ~]#ls                      
1.txt            Desktop    Downloads  initial-setup-ks.cfg  LFTP   Pictures  sadsad.sh  Videos
anaconda-ks.cfg  Documents  f1.img     initinstall.sh        Music  Public    Templates

4、使用非交互方式下载ftp的资源用wget命令也可以下载。

在这里插入图片描述

#回到FPT服务器A8主机创建一个WGET文件
[11:28:02 root@A8 pub]#touch wget
[11:30:36 root@A8 pub]#ls wget 
wget
​
#回到A7客户端通过wget方式进行下载
[11:28:53 root@a7 ~]#wget ftp://10.0.0.8/pub/wget
--2020-07-08 11:31:10--  ftp://10.0.0.8/pub/wget
           => ‘wget’
Connecting to 10.0.0.8:21... connected.
......省略......
​
#通过ls命令查看WGET文件已经下载
[11:31:10 root@a7 ~]#ls
1.txt            Desktop    Downloads  initial-setup-ks.cfg  LFTP   Pictures  sadsad.sh  Videos
anaconda-ks.cfg  Documents  f1.img     initinstall.sh        Music  Public    Templates  wget

5、但是在有些场景下ftp是需要验证登陆才行。这是指定登录FTP服务端zhang这个用户登陆

lftp –u 用户名  后面跟服务器ip (指定某个用户登陆ftp)

范例:

[11:33:33 root@a7 ~]#lftp -u zhang 10.0.0.8
Password:                       #这里输入的是zhang这个linux用户的登录密码
lftp zhang@10.0.0.8:~>

6、对指定用户家目录进行文件下载

当然他所在的目录就是FTP服务端 zhang这个用户的家目录。现在我去FTP服务器zhang用户的家目录下创建一个zhang的文件

FTP服务端操作:

#回到FTP服务器并进入到zhang用户的家目录
[11:30:38 root@A8 pub]#cd /home/zhang/
#touch一个zhang.txt文件
[11:37:08 root@A8 zhang]#touch zhang.txt
[11:37:12 root@A8 zhang]#ls
zhang.txt

FTP客户端操作:

#现在在FTP服务器上建好了zhang.txt文件之后我们回到A7 客户端进行查看这个文件已经出现
lftp zhang@10.0.0.8:~> ls
-rw-r--r--    1 0        0               0 Jul 08 03:37 zhang.txt

2.6.2 ftp软件介绍及使用 1、禁止自动登录选项

-i选项关闭ftp的交互信息。-n是禁止自动登录,需要用户手动的去输入要登陆的用户和密码。这样写的好处是可以写一个自动下载的脚本 在这里插入图片描述

[11:41:31 root@a7 ~]#ftp -i -n 10.0.0.8     #使用-i -n参数后面跟FTP服务器IP
Connected to 10.0.0.8 (10.0.0.8).
220 (vsFTPd 3.0.3)
ftp> user zhang 47678276                    #指定通过zhang这个用户登录 密码为47678276
331 Please specify the password.
230 Login successful.
ftp> ls                                     #通过ls命令查看会有zhang用户家目录的文件
227 Entering Passive Mode (10,0,0,8,31,18).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 Jul 08 03:37 zhang.txt

2、mget命令的使用

Mget支持通配符。而且mget可以支持下载多个文件。

FTP服务端操作:

#我们先回到FTP服务端zhang用户的家目录下多创建几个mget文件

[11:37:13 root@A8 zhang]#pwd
/home/zhang
[11:44:49 root@A8 zhang]#touch mget{1..4}
[11:44:58 root@A8 zhang]#ls
mget1  mget2  mget3  mget4  zhang.txt

FTP客户端操作:

#再回到A7客户端通过mget进行多个文件下载

[11:45:45 root@a7 ~]#ftp -i -n 10.0.0.8     #使用-i -n参数后面跟FTP服务器IP
Connected to 10.0.0.8 (10.0.0.8).
220 (vsFTPd 3.0.3)
ftp> user zhang 47678276                    #指定通过zhang这个用户登录 密码为47678276
331 Please specify the password.
230 Login successful.
ftp> ls                                     #通过ls命令查看有多个mget文件
227 Entering Passive Mode (10,0,0,8,87,66).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 Jul 08 03:44 mget1
-rw-r--r--    1 0        0               0 Jul 08 03:44 mget2
-rw-r--r--    1 0        0               0 Jul 08 03:44 mget3
-rw-r--r--    1 0        0               0 Jul 08 03:44 mget4
-rw-r--r--    1 0        0               0 Jul 08 03:37 zhang.txt
226 Directory send OK.
ftp> mget *                                 #使用mget进行下载、这里的*表示所有因为支持通配符
local: mget1 remote: mget1
227 Entering Passive Mode (10,0,0,8,178,104).
150 Opening BINARY mode data connection for mget1 (0 bytes).
226 Transfer complete.
local: mget2 remote: mget2
227 Entering Passive Mode (10,0,0,8,109,12).
150 Opening BINARY mode data connection for mget2 (0 bytes).
226 Transfer complete.
local: mget3 remote: mget3
227 Entering Passive Mode (10,0,0,8,47,110).
150 Opening BINARY mode data connection for mget3 (0 bytes).
226 Transfer complete.
local: mget4 remote: mget4
227 Entering Passive Mode (10,0,0,8,47,60).
150 Opening BINARY mode data connection for mget4 (0 bytes).
226 Transfer complete.
local: zhang.txt remote: zhang.txt
227 Entering Passive Mode (10,0,0,8,20,2).
150 Opening BINARY mode data connection for zhang.txt (0 bytes).
226 Transfer complete.
​
#然后在本地主机终端查看已经下载完成
[11:18:04 root@a7 ~]#ls mget*
mget1  mget2  mget3  mget4

3、Put命令自动上传 在这里插入图片描述

#1、在ftp 命令终端通过!ls查看本地文件
ftp> !ls
1.txt        Desktop    Downloads  initial-setup-ks.cfg  LFTP   mget2  mget4  Pictures  sadsad.sh  Videos  zhang.txt
anaconda-ks.cfg  Documents  f1.img     initinstall.sh        mget1  mget3  Music  Public    Templates  wget
​
#2、先切换工作模式为主动模式(默认下被动模式是不允许上传的)
ftp> passive
Passive mode off.
​
#3、put initinstall.sh 这是将本机的initinstall.sh文件上传到ftp服务器上去
ftp> put initinstall.sh
local: initinstall.sh remote: initinstall.sh
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
8340 bytes sent in 0.00152 secs (5497.69 Kbytes/sec)
​
#4、通过ls查看initinstall.sh已经上传过去
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 1000     1000         8340 Jul 08 03:55 initinstall.sh
4、编写自动化上传下载的ftp脚本

是个脚本的意思是使用ftp -i选项就是自动登录不需要交互。-n是禁止登陆。链接10.0.0.8这个ftp服务器。然后登陆使用mget *命令下载服务器上所有的文件。再通过put命令上传anaconda-ks.cfg这个文件然后退出

客户端操作:

1、编写脚本:
[12:03:15 root@a7 ~]#vim ftp.sh#!/bin/bash
ftp -i -n 10.0.0.8 <<!          #登录FTP服务器
user zhang 47678276             #使用zhang用户登录
mget *                          #使用mget命令 *下载所有文件
put anaconda-ks.cfg             #通过put 上传anaconda-ks.cfg 至fpt服务器
exit                            #退出
! 
​
2、执行该脚本之前现在本地通过ls命令查看当前文件现状
[12:08:17 root@a7 ~]#ls
anaconda-ks.cfg  Desktop  Documents  Downloads  ftp.sh  initial-setup-ks.cfg  initinstall.sh  Music  Pictures  Public  sadsad.sh  Templates  Videos
​
3、执行ftp.sh脚本
[12:08:18 root@a7 ~]#bash ftp.sh 4、跑完脚本之后再通过ls查看就会多了zhang.txt和mget1、mget2、mget3、mget4等文件
[12:08:51 root@a7 ~]#ls
anaconda-ks.cfg  Documents  ftp.sh                initinstall.sh  mget2  mget4  Pictures  sadsad.sh  Videos
Desktop          Downloads  initial-setup-ks.cfg  mget1           mget3  Music  Public    Templates  zhang.txt

FTP服务端操作:

1、来到FTP服务端得zhang用户家目录下通过ls查看就会多一个anaconda-ks.cfg文件
[11:44:59 root@A8 zhang]#ls
anaconda-ks.cfg  mget1  mget2  mget3  mget4  zhang.txt

※部分文章来源于网络,如有侵权请联系删除;更多文章和资料|点击后方文字直达 ↓↓↓ 100GPython自学资料包 阿里云K8s实战手册 [阿里云CDN排坑指南]CDN ECS运维指南 DevOps实践手册 Hadoop大数据实战手册 Knative云原生应用开发指南 OSS 运维实战手册 云原生架构白皮书 Zabbix企业级分布式监控系统源码文档 10G大厂面试题戳领