ftp
描述
ftp
用于在运行文件传输协议(FTP)服务器服务的计算机之间双向传输文件。此命令可以通过处理 ASCII 文本文件以交互方式或批处理方式使用。
ftp
命令行参数区分大小写- 仅当 Internet 协议(TCP/IP)协议作为组件安装在网络连接的网络适配器的属性中时,此命令才可用
ftp
命令可以交互使用。启动之后,FTP 会创建一个子环境,您可以在其中使用ftp
命令。可以键入quit
命令返回到命令提示符。当 FTP 子环境正在运行时,ftp>
命令提示符会表明这一点- 安装了 IPv6 协议时,
ftp
命令支持使用 IPv6
选项
选项 | 描述 |
---|---|
-a | 指定在绑定 FTP 数据连接时可以使用任何本地接口 |
-d | 启用调试,显示在 FTP 客户端和 FTP 服务器之间传递的所有命令 |
-i | 在多个文件传输过程中禁用交互式提示 |
-n | 禁止在初始连接时自动登录 |
-v | 禁止显示远程服务器响应 |
-s:filename | 指定包含 ftp 命令的文本文件,命令在 FTP 服务启动后自动运行 |
-A | 以匿名身份登录到 FTP 服务器 |
<host> | 指定要连接的 FTP 服务器的计算机名称、IP 地址或 IPv6 地址。如果指定了主机名或地址,则必须是该行的最后一个参数 |
/? | 在命令提示符下显示帮助 |
命令
在 FTP 环境中使用的命令如下表所示:
命令 | 描述 |
---|---|
append | 将本地文件内容追加到 FTP 远程服务器指定文件中 |
bye 或 quit | 结束 FTP 远程服务器上的会话,然后退出 FTP 子环境 |
cd | 更改 FTP 远程服务器中的工作目录 |
close | 结束与 FTP 远程服务器的会话并保持在 ftp> 提示符处 |
debug | 切换调试模式 |
delete | 删除 FTP 远程服务器中的指定文件 |
dir | 显示 FTP 远程服务器指定工作目录中文件和子目录的详细列表 |
disconnect | 断开与 FTP 远程服务器的连接并留在 ftp> 提示符处 |
get 或 recv | 使用当前文件传输类型将 FTP 远程服务器中的指定文件复制到本地指定工作目录中 |
lcd | 更改本地工作目录 |
ls | 显示 FTP 远程服务器指定工作目录中文件和子目录的缩略列表 |
mdelete | 删除 FTP 远程服务器中的指定文件 |
mdir | 显示 FTP 远程服务器指定工作目录中文件和子目录的详细列表 |
mget | 使用当前文件传输类型将 FTP 远程服务器中的指定文件复制到本地指定工作目录中 |
mkdir | 在 FTP 远程服务器中创建工作目录 |
mls | 显示 FTP 远程服务器指定工作目录中文件和子目录的缩略列表 |
mput | 使用当前文件传输类型将本地工作目录中指定文件复制到 FTP 远程服务器指定工作目录中 |
open | 连接到指定 FTP 远程服务器 |
prompt | 打开和关闭 “提示” 模式 |
put 或 send | 使用当前文件传输类型将本地工作目录中指定文件复制到 FTP 远程服务器指定工作目录中 |
pwd | 显示当前 FTP 远程服务器工作目录 |
remotehelp | 显示远程命令列表及帮助信息 |
rename | 重命名 FTP 远程服务器指定文件 |
rmdir | 删除 FTP 远程服务器中指定工作目录,只能删除空工作目录 |
status | 显示 FTP 远程服务器连接的当前状态 |
type | 设置或显示文件传输类型 |
user | 指定远程服务器的用户及密码 |
verbose | 切换详细模式 |
help | 显示 ftp 命令列表及帮助信息 |
示例
登录服务器
例如:登录到 192.168.10.10
FTP 远程服务器。
查看当前 E:\ftp
目录:
E:\ftp>dir /b
E:\ftp>
从当前 E:\ftp
目录登录到 FTP 远程服务器。
E:\ftp>ftp 192.168.10.10
连接到 192.168.10.10。
220 Microsoft FTP Service
200 OPTS UTF8 command successful - UTF8 encoding now ON.
用户(192.168.10.10:(none)): username
331 Password required
密码:
230 User logged in.
ftp>
open
如果只输入 ftp
命令则会进入到 FTP 子环境中,使用 open
命令可以连接到指定 FTP 远程服务器。
例如:连接到 192.168.10.10
FTP 远程服务器。
E:\ftp>ftp
ftp> open 192.168.10.10
连接到 192.168.10.10。
220 Microsoft FTP Service
200 OPTS UTF8 command successful - UTF8 encoding now ON.
用户(192.168.10.10:(none)): username
331 Password required
密码:
230 User logged in.
ftp>
user
指定 FTP 远程服务器的用户及密码。
例如:如果已经连接到远程服务器,但还没有登录,可以使用 user
命令进行登录。
ftp> open 192.168.10.10
连接到 192.168.10.10。
220 Microsoft FTP Service
200 OPTS UTF8 command successful - UTF8 encoding now ON.
用户(192.168.10.10:(none)):
501 Invalid number of parameters.
登录失败。
ftp>
ftp> ls
530 Please login with USER and PASS.
530 Please login with USER and PASS.
ftp>
使用 user
命令进行登录。
ftp> user username password
331 Password required
230 User logged in.
ftp>
status
显示 FTP 远程服务器连接的当前状态。
例如:显示当前远程服务器连接状态。
ftp> status
连接到 192.168.10.10。
类型: ascii;详细: 开 ;铃声: 关 ;提示: 开 ;通配: 开
调试: 关 ;哈希标记打印: 关 。
ftp>
type
设置或显示文件传输类型。ftp
命令支持 ASCII(默认)和二进制(binary
)映像文件传输类型:
- 建议在传输文本文件时使用 ASCII。在 ASCII 模式下,将执行与网络标准字符集之间的字符转换。例如:根据目标操作系统,在必要时转换行尾字符
- 建议在传输可执行文件时使用二进制。在二进制模式下,文件以单字节为单位传输
例如:设置为二进制文件传输类型,并查看当前文件传输类型。
ftp> type binary
200 Type set to I.
ftp>
ftp> type
使用 binary 模式传送文件。
ftp>
例如:设置为 ASCII 文件传输类型,并查看当前文件传输类型。
ftp> type ascii
200 Type set to A.
ftp>
ftp> type
使用 ascii 模式传送文件。
ftp>
pwd
例如:显示当前 FTP 远程服务器工作目录。
ftp> pwd
257 "/" is current directory.
ftp>
/
表示当前位于远程服务器的根目录。
dir
显示 FTP 远程服务器指定工作目录中文件和子目录的详细列表。
- 只能指定一个远程工作目录
- 如果未指定工作目录,则使用远程服务器中的当前工作目录
- 保存到的本地文件可以不存在
- 可以提前切换到要保存的本地工作目录中,这样可以不用指定本地工作目录的绝对路径,直接指定文件名即可
例如:显示远程服务器根目录中文件和子目录的详细列表。
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 04:46PM 4 file.txt
07-18-24 07:39PM 11 hello.txt
07-19-24 04:56PM <DIR> test01
226 Transfer complete.
ftp: 收到 149 字节,用时 0.00秒 49.67千字节/秒。
ftp>
例如:将远程服务器根目录的详细列表保存在本地 D:\ftp\dirlist.txt
文件中。
ftp> dir / D:\ftp\dirlist.txt
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 收到 146 字节,用时 0.00秒 146000.00千字节/秒。
ftp>
查看本地 D:\ftp\dirlist.txt
文件内容:
D:\ftp>type dirlist.txt
07-19-24 04:46PM 4 file.txt
07-18-24 07:39PM 11 hello.txt
07-19-24 04:56PM <DIR> test01
D:\ftp>
mdir
显示 FTP 远程服务器指定工作目录中文件和子目录的详细列表。
- 可以一次显示一个或多个远程工作目录
- 如果不将结果保存到本地文件中,必须以连字符(
-
)结尾 - 保存到的本地文件可以不存在
- 可以提前切换到要保存的本地工作目录中,这样可以不用指定本地工作目录的绝对路径,直接指定文件名即可
例如:显示远程服务器中 hello.txt
文件和 test01
工作目录下文件的详细列表。
ftp> mdir hello.txt test01 -
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-18-24 07:39PM 11 hello.txt
226 Transfer complete.
ftp: 收到 53 字节,用时 0.00秒 53.00千字节/秒。
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 04:46PM 6 test01.txt
07-19-24 04:47PM 6 test02.txt
226 Transfer complete.
ftp: 收到 105 字节,用时 0.00秒 52.50千字节/秒。
ftp>
注意
如果使用 mdir
命令不以连字符(-
)结尾,且最后一个文件或目录不存在本地工作目录,则最后一个文件或目录默认指定为保存在本地工作目录的文件名:
ftp> mdir hello.txt test01
output to local-file: test01? y
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 收到 50 字节,用时 0.00秒 50000.00千字节/秒。
ftp>
查看本地 test01
文件内容,只保存了前一个远程服务器的文件信息:
E:\ftp>type test01
07-18-24 07:39PM 11 hello.txt
E:\ftp>
先删除 E:\ftp
目录下的 test01
文件再创建 test01
目录,否则创建 test01
目录失败:
E:\ftp>dir
驱动器 E 中的卷没有标签。
卷的序列号是 02E3-C833
E:\ftp 的目录
2024/07/19 17:13 <DIR> .
2024/07/19 17:13 <DIR> ..
2024/07/19 17:13 51 test01
1 个文件 51 字节
2 个目录 697,204,674,560 可用字节
E:\ftp>
E:\ftp>md test01
子目录或文件 test01 已经存在。
E:\ftp>
E:\ftp>del test01
E:\ftp>md test01
E:\ftp>dir
驱动器 E 中的卷没有标签。
卷的序列号是 02E3-C833
E:\ftp 的目录
2024/07/19 17:14 <DIR> .
2024/07/19 17:14 <DIR> ..
2024/07/19 17:14 <DIR> test01
0 个文件 0 字节
3 个目录 697,204,674,560 可用字节
E:\ftp>
如果使用 mdir
命令不以连字符(-
)结尾,且最后一个文件或目录已存在本地工作目录,则会报以下错误:
ftp> mdir hello.txt test01
output to local-file: test01? y
200 PORT command successful.
打开本地文件 test01 出错。
> t:权限被拒绝
ftp>
ls
显示 FTP 远程服务器指定工作目录中文件和子目录的缩略列表。
- 只能指定一个远程工作目录
- 如果未指定工作目录,则使用远程服务器中的当前工作目录
- 保存到的本地文件可以不存在
- 可以提前切换到要保存的本地工作目录中,这样可以不用指定本地工作目录的绝对路径,直接指定文件名即可
例如:显示远程服务器根目录中文件和子目录的缩略列表。
ftp> ls
200 PORT command successful.
125 Data connection already open; Transfer starting.
file.txt
hello.txt
test01
226 Transfer complete.
ftp: 收到 32 字节,用时 0.00秒 32.00千字节/秒。
ftp>
例如:将远程服务器根目录的缩略列表保存在本地 D:\ftp\lslist.txt
文件中。
ftp> ls / D:\ftp\lslist.txt
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 收到 32 字节,用时 0.00秒 32000.00千字节/秒。
ftp>
查看本地 D:\ftp\lslist.txt
文件内容:
D:\ftp>type lslist.txt
/file.txt
/hello.txt
/test01
D:\ftp>
mls
显示 FTP 远程服务器指定工作目录中文件和子目录的缩略列表。
- 可以一次显示一个或多个远程工作目录
- 如果不将结果保存到本地文件中,必须以连字符(
-
)结尾 - 保存到的本地文件可以不存在
- 可以提前切换到要保存的本地工作目录中,这样可以不用指定本地工作目录的绝对路径,直接指定文件名即可
例如:显示远程服务器中 hello.txt
文件和 test01
工作目录下文件的缩略列表。
ftp> mls hello.txt test01 -
200 PORT command successful.
125 Data connection already open; Transfer starting.
hello.txt
226 Transfer complete.
ftp: 收到 14 字节,用时 0.00秒 14000.00千字节/秒。
200 PORT command successful.
125 Data connection already open; Transfer starting.
test01.txt
test02.txt
226 Transfer complete.
ftp: 收到 27 字节,用时 0.00秒 27.00千字节/秒。
ftp>
注意
如果使用 mls
命令不以连字符(-
)结尾,和使用 mdir 命令不以连字符(-
)结尾效果一样。
cd
更改 FTP 远程服务器中的工作目录。
例如:切换到远程服务器的 test01
工作目录。
ftp> pwd
257 "/" is current directory.
ftp>
ftp> cd test01
250 CWD command successful.
ftp>
ftp> pwd
257 "/test01" is current directory.
ftp>
例如:切换到远程服务器的上一级工作目录。
ftp> cd ../
250 CWD command successful.
ftp>
ftp> pwd
257 "/" is current directory.
ftp>
lcd
更改本地工作目录。默认情况下,本地工作目录是启动 ftp
命令的目录。
例如:在 FTP 子环境中切换到本地 D:\ftp
工作目录。
查看当前本地工作目录:
ftp> lcd
目前的本地目录 E:\ftp。
ftp>
切换到本地 D:\ftp
工作目录:
ftp> lcd D:\ftp
目前的本地目录 D:\ftp。
ftp>
再次执行 lcd
命令,切换回启动 ftp
命令的工作目录:
ftp> lcd
目前的本地目录 E:\ftp。
ftp>
mkdir
在 FTP 远程服务器中创建工作目录。
- 一次只能创建一个工作目录
- 如果创建多个工作目录(如:
mkdir a b c
),只会创建第一个工作目录(a
),其它工作目录(b 和 c
)不会创建 - 不能创建递归工作目录(如:
mkdir a\b\c
)
例如:在远程服务器根目录中创建 test02
工作目录。
查看远程服务器根目录:
ftp> pwd
257 "/" is current directory.
ftp>
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 04:46PM 4 file.txt
07-18-24 07:39PM 11 hello.txt
07-19-24 04:56PM <DIR> test01
226 Transfer complete.
ftp: 收到 149 字节,用时 0.00秒 49.67千字节/秒。
ftp>
在远程服务器根目录中创建 test02
工作目录:
ftp> mkdir test02
257 "test02" directory created.
ftp>
再次查看远程服务器根目录,test02
工作目录已存在:
ftp> pwd
257 "/" is current directory.
ftp>
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 04:46PM 4 file.txt
07-18-24 07:39PM 11 hello.txt
07-19-24 04:56PM <DIR> test01
07-19-24 05:34PM <DIR> test02
226 Transfer complete.
ftp: 收到 196 字节,用时 0.01秒 28.00千字节/秒。
ftp>
注意
如果使用 mkdir
命令创建递归工作目录,则会报以下错误:
ftp> mkdir a/b/c
550-The system cannot find the path specified.
Win32 error: The system cannot find the path specified.
Error details: File system returned an error.
550 End
ftp>
get 或 recv
使用当前文件传输类型将 FTP 远程服务器中的指定文件复制到本地指定工作目录中。
- 一次只能复制一个远程文件
- 如果指定本地工作目录,则必须指定文件名;如果未指定本地工作目录,则默认复制到当前本地工作目录中
- 本地文件名可以和远程文件名不同
- 可以提前切换到要复制的本地工作目录中,这样可以不用指定本地工作目录的绝对路径,直接指定文件名即可
- 如果要复制到当前本地工作目录且文件名不变,则可以省略文件名(如:
get hello.txt hello.txt
可以简写为get hello.txt
)
例如:将远程根目录下的 hello.txt
文件复制到本地 D:\ftp\test
工作目录下,并指定文件名为 hello01.txt
。
查看本地 D:\ftp\test
工作目录:
D:\ftp>dir /b test
test.txt
D:\ftp>
将远程根目录下的 hello.txt
文件复制到本地 D:\ftp\test
工作目录下,并指定文件名为 hello01.txt
:
ftp> get hello.txt D:\ftp\test\hello01.txt
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 收到 11 字节,用时 0.00秒 11000.00千字节/秒。
ftp>
再次查看本地 D:\ftp\test
工作目录,hello01.txt
文件已存在:
D:\ftp>dir /b test
hello01.txt
test.txt
D:\ftp>
注意
如果使用 get
或 recv
命令只指定本地工作目录路径不指定文件名,则会报以下错误:
ftp> get hello.txt D:\ftp\test
200 PORT command successful.
打开本地文件 D:\ftp\test 出错。
> D:未知错误编号
ftp>
mget
使用当前文件传输类型将 FTP 远程服务器中的指定文件复制到本地指定工作目录中。
- 可以一次复制一个或多个文件
- 不能指定本地工作目录,需要提前切换到要复制的本地工作目录中。默认复制到当前的本地工作目录
- 不能修改本地文件名
- 可以指定远程工作目录(如:
mget test01/
),指定远程工作目录时,可以对目录中的文件依次选择是否要复制 - 不能指定远程工作目录下的某一个文件(如:
mget test01/test01.txt
)
例如:将远程根目录下的 file.txt
文件和 test01
工作目录下的 test01.txt
文件复制到本地 D:\ftp\test
工作目录下。
查看本地 D:\ftp\test
工作目录:
D:\ftp>dir /b test
hello01.txt
test.txt
D:\ftp>
先切换到要复制的本地 D:\ftp\test
工作目录中:
ftp> lcd
目前的本地目录 E:\ftp。
ftp>
ftp> lcd D:\ftp\test
目前的本地目录 D:\ftp\test。
ftp>
将远程根目录下的 file.txt
文件和 test01
工作目录下的 test01.txt
文件复制到本地 D:\ftp\test
工作目录下:
ftp> mget file.txt test01/
200 Type set to A.
mget file.txt? y
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 收到 4 字节,用时 0.00秒 4.00千字节/秒。
mget test01/test01.txt? y
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 收到 6 字节,用时 0.00秒 6000.00千字节/秒。
mget test01/test02.txt? n
ftp>
再次查看本地 D:\ftp\test
目录,file.txt
和 test01.txt
文件已存在:
D:\ftp>dir /b test\
file.txt
hello01.txt
test.txt
test01.txt
D:\ftp>
put 或 send
使用当前文件传输类型将本地工作目录中指定文件复制到 FTP 远程服务器指定工作目录中。
- 一次只能复制一个远程文件
- 如果指定远程工作目录,则必须指定文件名;如果未指定远程工作目录,则默认复制到当前远程工作目录中
- 远程文件名可以和本地文件名不同
- 可以提前切换到本地工作目录中,这样可以不用指定本地工作目录的绝对路径,直接指定文件名即可
- 如果要复制到当前远程工作目录且文件名不变,则可以省略文件名(如:
put dirlist.txt dirlist.txt
可以简写为put dirlist.txt
)
例如:将本地 D:\ftp\dirlist.txt
文件复制到远程服务器根目录中,并指定文件名为 dirlist01.txt
。
查看远程服务器根目录:
ftp> pwd
257 "/" is current directory.
ftp>
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 04:46PM 4 file.txt
07-18-24 07:39PM 11 hello.txt
07-19-24 04:56PM <DIR> test01
07-19-24 05:34PM <DIR> test02
226 Transfer complete.
ftp: 收到 196 字节,用时 0.01秒 39.20千字节/秒。
ftp>
将本地 D:\ftp
工作目录下的 dirlist.txt
文件复制到远程服务器根目录中,并指定文件名为 dirlist01.txt
:
ftp> lcd D:\ftp
目前的本地目录 D:\ftp。
ftp>
ftp> put dirlist.txt dirlist01.txt
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 发送 146 字节,用时 0.00秒 146000.00千字节/秒。
ftp>
再次查看远程服务器根目录,dirlist01.txt
文件已存在:
ftp> pwd
257 "/" is current directory.
ftp>
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 06:07PM 146 dirlist01.txt
07-19-24 04:46PM 4 file.txt
07-18-24 07:39PM 11 hello.txt
07-19-24 04:56PM <DIR> test01
07-19-24 05:34PM <DIR> test02
226 Transfer complete.
ftp: 收到 250 字节,用时 0.01秒 41.67千字节/秒。
ftp>
注意
如果使用 put
或 send
命令只指定远程服务器工作目录路径不指定文件名,则会报以下错误:
ftp> put D:\ftp\dirlist.txt ./
200 PORT command successful.
550-Access is denied.
Win32 error: Access is denied.
Error details: Write access for the root of the virtual directory is forbidden.
550 End
ftp>
mput
使用当前文件传输类型将本地工作目录中指定文件复制到 FTP 远程服务器指定工作目录中。
- 可以一次复制一个或多个文件
- 不能指定远程服务器工作目录,需要提前切换到要复制的远程服务器工作目录中。默认复制到当前的本地工作目录
- 不能修改远程文件名
- 不能指定本地工作目录(如:
mput test/
) - 可以指定远程工作目录下的某一个文件(如:
mput test/test.txt
)
例如:将本地 D:\ftp
工作目录下的 dirlist.txt
文件和 test
工作目录下的 test.txt
文件复制到远程服务器 test01
工作目录中。
查看远程服务器 test01
工作目录:
ftp> dir test01
200 PORT command successful.
150 Opening ASCII mode data connection.
07-19-24 04:46PM 6 test01.txt
07-19-24 04:47PM 6 test02.txt
226 Transfer complete.
ftp: 收到 105 字节,用时 0.01秒 13.13千字节/秒。
ftp>
切换到远程服务器 test01
工作目录中:
ftp> cd test01
250 CWD command successful.
ftp>
ftp> pwd
257 "/test01" is current directory.
ftp>
将本地 D:\ftp
工作目录下的 dirlist.txt
文件和 test
目录下的 test.txt
文件复制到远程服务器 test01
工作目录中:
ftp> lcd D:\ftp
目前的本地目录 D:\ftp。
ftp>
ftp> mput dirlist.txt test\test.txt
mput dirlist.txt? y
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 发送 146 字节,用时 0.00秒 146.00千字节/秒。
mput test\test.txt? y
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 发送 4 字节,用时 0.00秒 4000.00千字节/秒。
ftp>
再次查看远程服务器 test01
工作目录,dirlist.txt
和 test.txt
文件已存在:
ftp> pwd
257 "/test01" is current directory.
ftp>
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 06:33PM 146 dirlist.txt
07-19-24 06:33PM 4 test.txt
07-19-24 04:46PM 6 test01.txt
07-19-24 04:47PM 6 test02.txt
226 Transfer complete.
ftp: 收到 206 字节,用时 0.00秒 51.50千字节/秒。
ftp>
prompt
打开和关闭 “提示” 模式。默认情况下,“提示” 模式处于打开状态。如果打开 “提示” 模式,ftp
命令会在传输多个文件期间提示,允许您有选择性地检索或存储文件。
“提示” 模式处于关闭状态时,可以使用 mget 和 mput 命令传输所有文件。
例如:关闭 “提示” 模式,将本地 D:\ftp
工作目录下的 dirlist.txt
和 lslist.txt
文件复制到远程服务器 test02
工作目录中。
查看远程服务器 test02
工作目录:
ftp> pwd
257 "/test01" is current directory.
ftp>
ftp> cd /
250 CWD command successful.
ftp>
ftp> dir test02
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp>
切换到远程服务器 test02
工作目录中:
ftp> cd test02
250 CWD command successful.
ftp>
ftp> pwd
257 "/test02" is current directory.
ftp>
关闭 “提示” 模式:
ftp> prompt
交互模式 关 。
ftp>
将本地 D:\ftp
工作目录下的 dirlist.txt
和 lslist.txt
文件复制到远程服务器 test02
工作目录中:
ftp> lcd D:\ftp
目前的本地目录 D:\ftp。
ftp>
ftp> mput dirlist.txt lslist.txt
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 发送 146 字节,用时 0.00秒 146000.00千字节/秒。
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 发送 35 字节,用时 0.00秒 35000.00千字节/秒。
ftp>
再次查看远程服务器 test02
工作目录:
ftp> pwd
257 "/test02" is current directory.
ftp>
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 06:44PM 146 dirlist.txt
07-19-24 06:44PM 35 lslist.txt
226 Transfer complete.
ftp: 收到 106 字节,用时 0.00秒 35.33千字节/秒。
ftp>
例如:打开 “提示” 模式。
ftp> prompt
交互模式 开 。
ftp>
append
将本地文件内容追加到 FTP 远程服务器指定文件中。
例如:将本地 D:\ftp\test
目录下的 test.txt
文件内容,追加到远程服务器根目录下的 hello.txt
文件中。
查看本地 D:\ftp\test
目录下的 test.txt
文件内容:
D:\ftp>type test\test.txt
test
D:\ftp>
查看远程服务器根目录下的 hello.txt
文件内容:
E:\test>type hello.txt
hello world
E:\test>
将本地 D:\ftp\test
目录下的 test.txt
文件内容,追加到远程服务器根目录下的 hello.txt
文件中:
ftp> cd /
250 CWD command successful.
ftp>
ftp> pwd
257 "/" is current directory.
ftp>
ftp> lcd D:\ftp\test
目前的本地目录 D:\ftp\test。
ftp>
ftp> append test.txt hello.txt
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 发送 4 字节,用时 0.00秒 4.00千字节/秒。
ftp>
或使用以下方式:
ftp> append
本地文件 D:\ftp\test\test.txt
远程文件 hello.txt
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 发送 4 字节,用时 0.00秒 4.00千字节/秒。
ftp>
再次查看远程服务器根目录下的 hello.txt
文件内容,test.txt
文件内容已追加到文件末尾:
E:\test>type hello.txt
hello worldtest
E:\test>
rename
重命名 FTP 远程服务器指定文件。
例如:将远程服务器根目录下的 file.txt
文件重命名为 file01.txt
。
查看远程服务器根目录:
ftp> pwd
257 "/" is current directory.
ftp>
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 06:07PM 146 dirlist01.txt
07-19-24 04:46PM 4 file.txt
07-19-24 06:55PM 15 hello.txt
07-19-24 06:33PM <DIR> test01
07-19-24 06:44PM <DIR> test02
226 Transfer complete.
ftp: 收到 250 字节,用时 0.01秒 35.71千字节/秒。
ftp>
将远程服务器根目录下的 file.txt
文件重命名为 file01.txt
:
ftp> rename file.txt file01.txt
350 Requested file action pending further information.
250 RNTO command successful.
ftp>
再次查看远程服务器根目录,file.txt
文件已重命名为 file01.txt
:
ftp> pwd
257 "/" is current directory.
ftp>
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 06:07PM 146 dirlist01.txt
07-19-24 04:46PM 4 file01.txt
07-19-24 06:55PM 15 hello.txt
07-19-24 06:33PM <DIR> test01
07-19-24 06:44PM <DIR> test02
226 Transfer complete.
ftp: 收到 252 字节,用时 0.01秒 36.00千字节/秒。
ftp>
delete
删除 FTP 远程服务器中的指定文件。
- 一次只能删除一个文件
- 如果删除多个文件(如:
delete a b c
),只会删除第一个文件(a
),其它文件(b 和 c
)不会删除
例如:删除远程服务器 test02
工作目录下的 dirlist.txt
文件。
查看远程服务器 test02
工作目录:
ftp> dir test02
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 06:44PM 146 dirlist.txt
07-19-24 06:44PM 35 lslist.txt
226 Transfer complete.
ftp: 收到 106 字节,用时 0.00秒 35.33千字节/秒。
ftp>
删除远程服务器 test02
工作目录下的 dirlist.txt
文件:
ftp> delete test02/dirlist.txt
250 DELE command successful.
ftp>
再次查看远程服务器 test02
工作目录,dirlist.txt
文件已删除:
ftp> dir test02
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 06:44PM 35 lslist.txt
226 Transfer complete.
ftp: 收到 54 字节,用时 0.00秒 54.00千字节/秒。
ftp>
mdelete
删除 FTP 远程服务器中的指定文件。
- 可以一次删除多个文件
- 可以指定远程工作目录(如:
mdelete test01/
),指定远程工作目录时,可以对目录中的文件依次选择是否要删除 - 不能指定远程工作目录下的某一个文件(如:
mdelete test01/dirlist.txt
)
例如:删除远程服务器 test01
工作目录下的 dirlist.txt
和 test.txt
文件和 test02
工作目录下的 lslist.txt
文件。
查看远程 test01
和 test02
工作目录:
ftp> mdir test01/ test02/ -
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 06:33PM 146 dirlist.txt
07-19-24 06:33PM 4 test.txt
07-19-24 04:46PM 6 test01.txt
07-19-24 04:47PM 6 test02.txt
226 Transfer complete.
ftp: 收到 206 字节,用时 0.01秒 34.33千字节/秒。
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 06:44PM 35 lslist.txt
226 Transfer complete.
ftp: 收到 54 字节,用时 0.00秒 27.00千字节/秒。
ftp>
删除远程服务器 test01
工作目录下的 dirlist.txt
和 test.txt
文件和 test02
工作目录下的 lslist.txt
文件:
ftp> mdelete test01/ test02/
200 Type set to A.
mdelete test01/dirlist.txt? y
250 DELE command successful.
mdelete test01/test.txt? y
250 DELE command successful.
mdelete test01/test01.txt? n
mdelete test01/test02.txt? n
mdelete test02/lslist.txt? y
250 DELE command successful.
ftp>
再次查看远程 test01
和 test02
工作目录,文件都已删除:
ftp> mdir test01/ test02/ -
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 04:46PM 6 test01.txt
07-19-24 04:47PM 6 test02.txt
226 Transfer complete.
ftp: 收到 105 字节,用时 0.00秒 26.25千字节/秒。
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp>
rmdir
删除 FTP 远程服务器中指定工作目录,只能删除空工作目录。
例如:删除远程服务器根目录下的 test02
空工作目录。
ftp> rmdir test02
250 XRMD command successful.
ftp>
再次查看远程服务器根目录:
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 06:07PM 146 dirlist01.txt
07-19-24 04:46PM 4 file01.txt
07-19-24 06:55PM 15 hello.txt
07-19-24 07:28PM <DIR> test01
226 Transfer complete.
ftp: 收到 205 字节,用时 0.00秒 51.25千字节/秒。
ftp>
注意
如果使用 rmdir
命令删除的不是远程空目录,则会报以下错误:
ftp> rmdir test01
550-The directory is not empty.
Win32 error: The directory is not empty.
Error details: File system returned an error.
550 End
ftp>
close
结束与 FTP 远程服务器的会话并保持在 ftp>
提示符处。
例如:结束与远程服务器的 ftp 会话并保持在 ftp>
提示符处。
ftp> close
221 Goodbye.
ftp>
disconnect
断开与 FTP 远程服务器的连接并留在 ftp>
提示符处。
例如:断开与远程服务器的连接,并留在 ftp>
提示符。
ftp> close
221 Goodbye.
ftp>
bye 或 quit
结束 FTP 远程服务器上的会话,然后退出 FTP 子环境。
例如:使用 bye
命令退出 FTP 会话。
ftp> bye
221 Goodbye.
E:\ftp>
debug
切换调试模式。默认情况下,调试模式处于关闭状态。如果 “调试模式” 处于打开状态,您将看到每个命令都发送到远程服务器,前面带 >
字符。
例如:开启调试模式时,显示当前远程服务器工作目录。
ftp> debug
调试 开 。
ftp>
ftp> pwd
---> XPWD
257 "/" is current directory.
ftp>
例如:关闭调试模式时,显示当前远程服务器工作目录。
ftp> debug
调试 关 。
ftp>
显示当前远程服务器工作目录。
ftp> pwd
---> XPWD
257 "/" is current directory.
ftp>
ftp> pwd
257 "/" is current directory.
ftp>
verbose
切换详细模式。默认情况下,详细模式处于打开状态。启用详细模式时,将显示所有 ftp
命令响应。当文件传输完成时,还会显示有关传输效率的统计信息。
例如:关闭详细模式时,显示远程服务器根目录。
ftp> verbose
详细模式 关 。
ftp>
例如:开启详细模式时,显示远程服务器根目录。
ftp> verbose
详细模式 开 。
ftp>
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 06:07PM 146 dirlist01.txt
07-19-24 04:46PM 4 file01.txt
07-19-24 06:55PM 15 hello.txt
07-19-24 07:28PM <DIR> test01
226 Transfer complete.
ftp: 收到 205 字节,用时 0.00秒 51.25千字节/秒。
ftp>
remotehelp
显示远程命令列表及帮助信息。
- 只能对以下远程命令列表中的命令提供帮助
- 远程命令列表中的命令不能写错
例如:显示所有远程命令的列表。
ftp> remotehelp
214-The following commands are recognized (* ==>'s unimplemented).
ABOR
ACCT
ADAT *
ALLO
APPE
AUTH
CCC
CDUP
CWD
DELE
ENC *
EPRT
EPSV
FEAT
HELP
HOST
LANG
LIST
MDTM
MIC *
MKD
MODE
NLST
NOOP
OPTS
PASS
PASV
PBSZ
PORT
PROT
PWD
QUIT
REIN
REST
RETR
RMD
RNFR
RNTO
SITE
SIZE
SMNT
STAT
STOR
STOU
STRU
SYST
TYPE
USER
XCUP
XCWD
XMKD
XPWD
XRMD
214 HELP command successful.
ftp>
例如:显示 DELE
命令帮助。
ftp> remotehelp dele
214 Syntax: dele <sp> file-name - (delete file)
ftp>
help
显示 ftp
命令列表及帮助信息。
例如:显示所有 ftp
命令的列表。
ftp> help
命令可能是缩写的。 命令为:
! delete literal prompt send
? debug ls put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote user
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir
ftp>
例如:显示 delete
命令帮助。
ftp> help delete
delete 删除远程文件
ftp>
使用 ftp 命令文本文件
指定包含 ftp
命令的文本文件。这些命令在 ftp
启动后自动运行。此参数不允许使用空格。请使用此参数,而不要使用重定向(<
)。
提示
在 Windows 8 和 Windows Server 2012 或更高版本的操作系统中,文本文件必须以 UTF-8 格式编写。
例如:查看远程服务器根目录详细列表。
创建 FtpDirList.txt
文件,并写入以下内容:
open 192.168.10.10
user username password
dir
bye
使用 ftp
命令执行此文件:
E:\ftp>ftp -n -s:FtpDirList.txt
ftp> open 192.168.10.10
连接到 192.168.10.10。
220 Microsoft FTP Service
200 OPTS UTF8 command successful - UTF8 encoding now ON.
ftp> user user abcd.1234
331 Password required
230 User logged in.
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
07-19-24 06:07PM 146 dirlist01.txt
07-19-24 04:46PM 4 file01.txt
07-19-24 06:55PM 15 hello.txt
07-19-24 07:28PM <DIR> test01
226 Transfer complete.
ftp: 收到 205 字节,用时 0.00秒 51.25千字节/秒。
ftp> bye
221 Goodbye.
E:\ftp>