原文:https://www.cnblogs.com/tssc/p/9593614.html
1.登陆ftp服务器
ftp [IP] [PORT] # 登陆ftp服务器,本机登陆可以不写IP
实例演示:
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
 | 
[root@ftpsrv vsftpd]# ftp 127.0.0.1 21Connected to 127.0.0.1 (127.0.0.1).(vsFTPd 2.2.2)Name (127.0.0.1:root): nicePlease specify the password.Password:Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> | 
可以看出登陆后默认为二进制传输模式
2.ftp子命令
2.1.帮助命令
| 
 1 
 | 
ftp> ?|help                  # 显示ftp内部命令的帮助信息 | 
2.2.查看ftp中的文件列表(ls和dir都可以查看)
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
 | 
ftp> dirEntering Passive Mode (127,0,0,1,44,241).Here comes the directory listing.drwxr-xr-x    2 501      501          4096 Sep 04 07:18 aaadrwxr-xr-x    2 501      501          4096 Sep 05 08:59 bbbDirectory send OK.ftp> lsEntering Passive Mode (127,0,0,1,71,215).Here comes the directory listing.drwxr-xr-x    2 501      501          4096 Sep 04 07:18 aaadrwxr-xr-x    2 501      501          4096 Sep 05 08:59 bbbDirectory send OK.ftp> | 
2.3.切换ftp的目录
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
 | 
ftp> cd aaa      # 切换到ftp的aaa目录Directory successfully changed.ftp> pwd        # 查看当前所在的ftp目录"/aaa"ftp> lsEntering Passive Mode (127,0,0,1,88,202).Here comes the directory listing.-rw-r--r--    1 501      501             0 Sep 05 09:01 aaa1-rw-r--r--    1 501      501             0 Sep 05 09:02 aaa2Directory send OK.ftp> | 
2.4.查询linux系统信息
1) 查询系统中的文件列表
| 
 1 
 | 
ftp> ! [linux系统命令]          # 在ftp服务器中执行系统命令,之后回到ftp环境中 | 
| 
 1 
2 
 | 
ftp> ! ls /usr/local/aegis  bin  cloudmonitor  etc  games  include  lib  lib64  libexec  logs  nginx  sbin  share  src | 
2)切换linux中的工作目录
| 
 1 
2 
 | 
ftp> lcd /tmp/            # 在ftp服务器中切换本地工作目录(登陆ftp前的系统中的目录),可以tab补全Local directory now /tmp | 
2.5.下载上传文件或目录
1)创建和删除ftp目录
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
 | 
ftp> mkdir ccc"/aaa/ccc" createdftp> lsEntering Passive Mode (127,0,0,1,194,152).Here comes the directory listing.-rw-r--r--    1 501      501             0 Sep 05 09:01 aaa1-rw-r--r--    1 501      501             0 Sep 05 09:02 aaa2drwxr-xr-x    2 501      501          4096 Sep 05 09:06 cccDirectory send OK.ftp> rmdir cccRemove directory operation successful.ftp> lsEntering Passive Mode (127,0,0,1,214,114).Here comes the directory listing.-rw-r--r--    1 501      501             0 Sep 05 09:01 aaa1-rw-r--r--    1 501      501             0 Sep 05 09:02 aaa2Directory send OK. | 
2)下载ftp的文件
# 下载单个文件
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
 | 
ftp> !pwd        # 查看当前所在的系统工作目录/tmpftp> lsEntering Passive Mode (127,0,0,1,223,180).Here comes the directory listing.-rw-r--r--    1 501      501             0 Sep 05 09:01 aaa1-rw-r--r--    1 501      501             0 Sep 05 09:02 aaa2Directory send OK.ftp> get aaa1    # 下载aaa1文件local: aaa1 remote: aaa1Entering Passive Mode (127,0,0,1,33,232).Opening BINARY mode data connection for aaa1 (0 bytes).Transfer complete.ftp> !lsaaa1ftp> get aaa2 aaa3    # 下载aaa2文件,并命名为aaa3local: aaa3 remote: aaa2Entering Passive Mode (127,0,0,1,171,86).Opening BINARY mode data connection for aaa2 (0 bytes).Transfer complete.ftp> !ls          # 查看,下载成功aaa1  aaa3 | 
# 下载多个文件
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
 | 
ftp> mget aaa1 aaa2mget aaa1? yEntering Passive Mode (127,0,0,1,83,114).Opening BINARY mode data connection for aaa1 (0 bytes).Transfer complete.mget aaa2? yEntering Passive Mode (127,0,0,1,217,121).Opening BINARY mode data connection for aaa2 (0 bytes).Transfer complete.ftp> !ls -ltotal 1532-rw-r--r-- 1 root root       0 Sep  5 17:20 aaa1    # 可以看到文件创建时间已经更改-rw-r--r-- 1 root root       0 Sep  5 17:20 aaa2-rw-r--r-- 1 root root       0 Sep  5 17:14 aaa3 | 
3)上传文件
# 上传单个文件
# 创建测试文件
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
 | 
[root@ftpsrv tmp]# touch ddd1[root@ftpsrv tmp]# touch ddd2[root@ftpsrv tmp]# lltotal 1532-rw-r--r-- 1 root root       0 Sep  5 17:20 aaa1-rw-r--r-- 1 root root       0 Sep  5 17:20 aaa2-rw-r--r-- 1 root root       0 Sep  5 17:14 aaa3-rw-r--r-- 1 root root       0 Sep  5 17:23 ddd1-rw-r--r-- 1 root root       0 Sep  5 17:23 ddd2 | 
# 上传
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
 | 
ftp> put ddd1       # 上传单个文件,可以tab补全local: ddd1 remote: ddd1Entering Passive Mode (127,0,0,1,69,10).Ok to send data.Transfer complete.ftp> put ddd1 eee1    # 上传单个文件并改名local: ddd1 remote: eee1Entering Passive Mode (127,0,0,1,243,160).Ok to send data.Transfer complete.ftp> lsEntering Passive Mode (127,0,0,1,234,62).Here comes the directory listing.-rw-r--r--    1 501      501             0 Sep 05 09:01 aaa1-rw-r--r--    1 501      501             0 Sep 05 09:02 aaa2drwxr-xr-x    2 501      501          4096 Sep 05 09:18 bbb-rw-r--r--    1 501      501             0 Sep 05 09:23 ddd1-rw-r--r--    1 501      501             0 Sep 05 09:23 eee1Directory send OK | 
# 上传多个文件
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
 | 
ftp> mput ddd1 ddd2mput ddd1? yEntering Passive Mode (127,0,0,1,92,11).Ok to send data.Transfer complete.mput ddd2? yEntering Passive Mode (127,0,0,1,66,108).Ok to send data.Transfer complete.ftp> lsEntering Passive Mode (127,0,0,1,191,91).Here comes the directory listing.-rw-r--r--    1 501      501             0 Sep 05 09:01 aaa1-rw-r--r--    1 501      501             0 Sep 05 09:02 aaa2drwxr-xr-x    2 501      501          4096 Sep 05 09:18 bbb-rw-r--r--    1 501      501             0 Sep 05 09:27 ddd1    # 查看修改时间可以确认已经上传成功-rw-r--r--    1 501      501             0 Sep 05 09:27 ddd2-rw-r--r--    1 501      501             0 Sep 05 09:23 eee1Directory send OK. | 
2.6.ftp文件目录操作
1)修改ftp文件名
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
 | 
ftp> rename aaa1 qqq1Ready for RNTO.Rename successful.ftp> lsEntering Passive Mode (127,0,0,1,29,54).Here comes the directory listing.-rw-r--r--    1 501      501             0 Sep 05 17:02 aaa2drwxr-xr-x    2 501      501          4096 Sep 05 17:18 bbb-rw-r--r--    1 501      501             0 Sep 05 17:27 ddd1-rw-r--r--    1 501      501             0 Sep 05 17:27 ddd2-rw-r--r--    1 501      501             0 Sep 05 17:23 eee1-rw-r--r--    1 501      501             0 Sep 05 17:37 fff-rw-r--r--    1 501      501             0 Sep 05 17:01 qqq1    # 修改后的文件名Directory send OK. | 
2)删除ftp文件
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
 | 
ftp> delete aaa2    # 删除aaa2文件Delete operation successful.ftp> lsEntering Passive Mode (127,0,0,1,138,61).Here comes the directory listing.drwxr-xr-x    2 501      501          4096 Sep 05 17:18 bbb-rw-r--r--    1 501      501             0 Sep 05 17:27 ddd1-rw-r--r--    1 501      501             0 Sep 05 17:27 ddd2-rw-r--r--    1 501      501             0 Sep 05 17:23 eee1-rw-r--r--    1 501      501             0 Sep 05 17:37 fff-rw-r--r--    1 501      501             0 Sep 05 17:01 qqq1Directory send OK. | 
# 删除多个ftp文件
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
 | 
ftp> mdelete ddd1 ddd2 eee1mdelete ddd1? yDelete operation successful.mdelete ddd2? yDelete operation successful.mdelete eee1? yDelete operation successful.ftp> lsEntering Passive Mode (127,0,0,1,166,205).Here comes the directory listing.drwxr-xr-x    2 501      501          4096 Sep 05 17:18 bbb-rw-r--r--    1 501      501             0 Sep 05 17:37 fff-rw-r--r--    1 501      501             0 Sep 05 17:01 qqq1Directory send OK. | 
3)删除ftp目录
| 
 1 
2 
3 
4 
5 
6 
7 
8 
 | 
ftp> rmdir bbb    # 删除bbb目录Remove directory operation successful.ftp> lsEntering Passive Mode (127,0,0,1,143,198).Here comes the directory listing.-rw-r--r--    1 501      501             0 Sep 05 17:37 fff-rw-r--r--    1 501      501             0 Sep 05 17:01 qqq1Directory send OK. | 
2.7.其他ftp命令
1)切换传输模式
| 
 1 
2 
3 
4 
 | 
ftp> ascii        # 切换为ascii模式200 Switching to ASCII mode.ftp> bin        # 切换为二进制模式,默认登陆就是二进制传输模式200 Switching to Binary mode. | 
2)关闭和重连ftp
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
 | 
ftp> close      # 断开ftp的连接Goodbye.ftp> ls        # 可以看出,无法显示ftp服务器的文件列表Not connected.ftp> open 127.0.0.1 21    # 重新连接ftp服务器Connected to 127.0.0.1 (127.0.0.1).(vsFTPd 2.2.2)Name (127.0.0.1:root): admin     # 使用admin登陆ftpPlease specify the password.Password:Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> ls        # 可以再次查看ftp服务器的文件列表Entering Passive Mode (127,0,0,1,227,247).Here comes the directory listing.drwxr-xr-x    2 501      501          4096 Sep 05 17:47 aaadrwxr-xr-x    2 501      501          4096 Sep 05 16:59 bbbDirectory send OK. | 
3) 退出ftp会话
| 
 1 
2 
3 
 | 
ftp> quit    # 也可以使用bye和exit221 Goodbye.[root@ftpsrv vsftpd]# |