ftp 常用命令

ftp介绍

  • FTP 命令允许用户通过FTP(File Transfer Protocol)协议在本地计算机和远程服务器之间传输文件。

  • FTP 是一种在网络上交换文件的标准协议,是 ARPANet 的标准文件传输协议,ARPANet 网络就是现今 Internet 的前身。

  • 使用 FTP 协议时,一方充当客户端,另一方充当服务器,客户端可以上传、下载、删除、重命名文件和目录,以及执行其他文件传输相关的操作。

语法

ftp  (选项)  (参数)

选项

-v:启用或禁用详细模式。在详细模式下,ftp命令会显示所有来自服务器的响应消息。默认情况下,该选项为开启状态。

ftp -v ftp.example.com

-d:启用调试模式。该选项会显示所有FTP传输过程中发送和接收到的命令,有助于调试连接问题。

ftp -d ftp.example.com

-n:禁止自动登录。默认情况下,ftp命令会在连接到远程服务器后尝试自动登录。使用该选项可以禁止该行为,通常与.netrc文件联合使用。

ftp -n ftp.example.com

-g禁用文件名通配符扩展。ftp命令默认会展开文件名中的通配符。使用该选项可以关闭这一行为。

ftp -g ftp.example.com

-p:使用被动模式(PASV)进行数据连接。被动模式在客户端位于防火墙或NAT后面时非常有用。

ftp -p ftp.example.com

⚠️ Windows 上使用 -s 选项指定script.txt脚本执行 ftp 命令。Linux 上可以使用重定向实现。

ftp -s:script.txt ftp.example.com # Windows
ftp -n ftp.example.com < script   # Linux

参数:

主机:指定要连接的FTP服务器的主机名或ip地址。

目录操作

命令描述
cd更改当前工作目录到指定目录
ls或dir列出当前目录下的内容
pwd显示当前目录的绝对路径
mkdir创建目录
rmdir删除一个目录
rename <old> <new>重命名一个目录

快速开始

使用匿名模式访问远程 FTP 服务器

ftp ftp.example.com

ftp 会启动交互式命令行

Connected to <host> (<ip address>).
220 (vsFTPd 3.*)
# 需要手动输入 anonymous 
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password: # 匿名模式下直接回车
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

连接成功后进入交互式会话.

查看所有命令,使用 help 或 ?

ftp> help
# 或者
ftp> ?

关闭 ftp  连接

bye
exit
quit

文件操作

命令描述
get <remote> <local>下载一个文件到本地
mget下载多个文件到本地
put <local> <remote>上传一个文件到服务器
mput上传多个文件到服务器
delete <remote>删除一个文件
rename <old> <new>重命名一个文件

ftp常用命令

实例

ftp> ascii  # 设定以ASCII方式传送文件(缺省值) 
ftp> bell   # 每完成一次文件传送,报警提示. 
ftp> binary # 设定以二进制方式传送文件. 
ftp> bye    # 终止主机FTP进程,并退出FTP管理方式. 
ftp> case   # 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母. 
ftp> cd     # 同UNIX的CD命令. 
ftp> cdup   # 返回上一级目录. 
ftp> chmod  # 改变远端主机的文件权限. 
ftp> close  # 终止远端的FTP进程,返回到FTP命令状态, 所有的宏定义都被删除. 
ftp> delete # 删除远端主机中的文件. 
ftp> dir [remote-directory] [local-file] # 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件. 
ftp> get [remote-file] [local-file] # 从远端主机中传送至本地主机中. 
ftp> help [command] # 输出命令的解释. 
ftp> lcd # 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录. 
ftp> ls [remote-directory] [local-file] # 同DIR. 
ftp> !ls # 查看本机文件
ftp> macdef                 # 定义宏命令. 
ftp> mdelete [remote-files] # 删除一批文件. 
ftp> mget [remote-files]    # 从远端主机接收一批文件至本地主机. 
ftp> mkdir directory-name   # 在远端主机中建立目录. 
ftp> mput local-files # 将本地主机中一批文件传送至远端主机. 
ftp> open host [port] # 重新建立一个新的连接. 
ftp> prompt           # 交互提示模式. 
ftp> put local-file [remote-file] # 将本地一个文件传送至远端主机中. 
ftp> pwd  # 列出当前远端主机目录. 
ftp> quit # 同BYE. 
ftp> recv remote-file [local-file] # 同GET. 
ftp> rename [from] [to]     # 改变远端主机中的文件名. 
ftp> rmdir directory-name   # 删除远端主机中的目录. 
ftp> send local-file [remote-file] # 同PUT. 
ftp> status   # 显示当前FTP的状态. 
ftp> system   # 显示远端主机系统类型. 
ftp> user user-name [password] [account] # 重新以别的用户名登录远端主机. 
ftp> ? [command] # 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。
ftp> ! # 从 ftp 子系统退出到外壳。

以匿名登录为例,将下列脚本代码放入文件 script 中:

user anonymous "\n"                 # 匿名用户
binary                              # 将文件传输模式设置为二进制模式,这对于非文本文件(如图片、压缩文件等)来说是必要的,以确保文件在传输过程中不会被更改。
ls <dir>                            # 进入某个目录
pwd                                 # 输出当前路径
quit                                # 退出 ftp 连接

使用 ftp 命令执行脚本文件:

ftp -n ftp.example.com < script     # 使用 -n 选项禁止自动登录,这样会继续执行 user 指令,而不是启动交互式命令行。

使用 ftp 下载文件:

ftp> get readme.txt # 下载 readme.txt 文件
ftp> mget *.txt     # 下载

使用 ftp 上传文件:

ftp> put /path/readme.txt # 上传 readme.txt 文件
ftp> mput *.txt           # 可以上传多个文件

ftp状态码

FTP 状态码是 FTP 服务器用来向 FTP 客户端反馈命令执行结果的代码。每个状态码由三个数字组成,每个数字都有特定的含义。

第一个数字:

  • 1xx: 表示正向的初步回复,表示服务器已经开始处理请求,但需要进一步的回复才能完成操作。

  • 2xx: 表示正向的完成回复,表示服务器已经成功执行了请求。

  • 3xx: 表示正向的中间回复,表示服务器已经接受了请求,但需要客户端提供更多信息才能完成操作。

  • 4xx: 表示暂时的负向完成回复,表示服务器无法执行请求,但错误是暂时的,客户端可以重试。

  • 5xx: 表示永久的负向完成回复,表示服务器无法执行请求,错误是永久性的,客户端无法重试。

第二个数字:

  • x0x: 表示语法错误,例如命令格式错误或参数错误。

  • x1x: 表示信息回复,例如系统状态或帮助信息。

  • x2x: 表示连接相关回复,例如控制连接或数据连接。

  • x3x: 表示认证和计费相关回复,例如登录过程或计费操作。

  • x4x: 表示未定义的回复。

  • x5x: 表示文件系统相关回复,例如文件传输或文件系统操作。

第三个数字:

第三个数字表示具体的错误代码,每个错误代码都有特定的含义。

一些常见的 FTP 状态码:

  • 150: 文件状态正常,即将打开数据连接。

  • 220: 服务已准备好,等待新用户连接。

  • 226: 关闭数据连接,请求的文件操作成功。

  • 230: 用户已登录,可以继续操作。

  • 421: 服务不可用,关闭控制连接。

  • 426: 连接已关闭,传输已中止。

  • 500: 语法错误,命令无法识别。

  • 530: 未登录,用户无法登录。

  • 550: 请求的操作未执行,文件不可用。

  • 553: 请求的操作未执行,文件不可用。 这意味着 FTP 服务器无法完成您请求的操作,通常是因为文件或目录不存在、没有权限访问、磁盘空间不足或其他原因导致的。

详见:


参考:

anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/6181.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注