菜鸟科技网

FTP常见命令有哪些?

连接与认证命令

这些命令用于建立与 FTP 服务器的连接并进行身份验证。

FTP常见命令有哪些?-图1
(图片来源网络,侵删)
命令 全称 说明 示例
ftp File Transfer Protocol 启动 FTP 客户端程序,进入 FTP 交互模式。 ftp ftp.example.com
open Open 在 FTP 交互模式下,连接到指定的 FTP 服务器。 open ftp.example.com
close Close 关闭当前与服务器的连接,但仍然停留在 FTP 客户端中。 close
bye / quit Bye / Quit 断开与服务器的连接并完全退出 FTP 客户端程序。 byequit
user User 指定用户名进行登录,如果未提供用户名,则使用匿名登录。 user myusername
pass Password 提供密码进行身份验证。 mypassword
account Account 提供账户信息(某些服务器需要)。 myaccountinfo
anonymous Anonymous 匿名登录,通常用户名为 anonymous,密码为你的电子邮件地址。 anonymous

目录导航命令

这些命令用于在 FTP 服务器的文件系统中移动和查看目录。

命令 全称 说明 示例
ls List 列出当前目录下的文件和子目录列表,不显示详细信息。 ls
dir Directory 列出当前目录下的文件和子目录列表,并显示详细信息(如权限、大小、日期等)。 dir
cd Change Directory 切换到指定的目录。 cd /pub/docs
pwd Print Working Directory 显示当前所在的工作目录路径。 pwd
lcd Local Change Directory 本地命令,切换你电脑上的当前工作目录。 lcd /home/user/my_local_files
mkdir Make Directory 在服务器上创建一个新的目录。 mkdir new_folder
rmdir Remove Directory 删除服务器上一个的目录。 rmdir empty_folder

文件传输命令

这是 FTP 最核心的功能,用于上传和下载文件。

命令 全称 说明 示例
get Get 从服务器下载一个文件到本地计算机。 get myfile.txt
mget Multiple Get 从服务器下载多个文件,可以使用通配符 。 mget *.txt
put Put 从本地计算机上传一个文件到服务器。 put mylocalfile.zip
mput Multiple Put 从本地计算机上传多个文件到服务器,可以使用通配符 。 mput *.jpg
ascii ASCII 设置文件传输模式为 ASCII(文本)模式,适用于 .txt, .html, .css, .js 等文件。 ascii
binary / bin Binary 设置文件传输模式为二进制模式,适用于图片、视频、压缩包、可执行文件等所有非文本文件。强烈推荐在不确定时使用此模式。 binarybin
hash Hash 开启或关闭传输进度显示,开启后,每传输 1024 字节会显示一个 号。 hash (开启) / hash (再次输入关闭)
prompt Prompt 开启或关闭交互式提示,在 mgetmput 时,如果开启,会为每个文件提示确认。 prompt off (关闭提示,批量传输时更方便)

文件与目录管理命令

这些命令用于对服务器上的文件和目录进行重命名、删除等操作。

命令 全称 说明 示例
delete Delete 删除服务器上的一个文件。 delete oldfile.log
mdelete Multiple Delete 删除服务器上的多个文件,可以使用通配符。 mdelete *.tmp
rename Rename 重命名服务器上的一个文件或目录。 rename old_name.txt new_name.txt
Shell Escape 执行本地计算机的命令。!ls 会列出你电脑当前目录下的文件。 !ls -l
status Status 显示当前 FTP 连接的状态,包括传输模式、是否开启 hash 等。 status

帮助与信息命令

命令 全称 说明 示例
help / Help / ? 获取 FTP 命令的帮助信息,可以指定某个命令来获取该命令的详细说明。 help get? put
Shell 执行本地系统的命令。 !dir (Windows) 或 !ls (Linux/macOS)

实际操作示例

下面是一个完整的 FTP 会话示例,展示了从连接到下载文件的完整流程。

FTP常见命令有哪些?-图2
(图片来源网络,侵删)
# 1. 启动 FTP 并连接到服务器
$ ftp ftp.example.com
Connected to ftp.example.com.
220 (vsFTPd 3.0.3)
Name (ftp.example.com:your_local_user): anonymous
331 Please specify the password.
Password:  # 这里输入你的邮箱地址
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
# 2. 查看当前目录和文件
ftp> pwd
257 "/home/ftp"
ftp> dir
drwxr-xr-x   2 0        0            4096 Jan 01 12:00 pub
-rw-r--r--   1 0        0            1234 Jan 01 12:00 welcome.msg
226 Directory send OK.
# 3. 进入 pub 目录
ftp> cd pub
250 Directory successfully changed.
# 4. 查看本地目录
ftp> !ls
# 本地电脑的文件列表会显示在这里
# 5. 切换到二进制传输模式(非常重要!)
ftp> binary
200 Switching to binary mode.
# 6. 下载一个文件
ftp> get important_file.zip
local: important_file.zip remote: important_file.zip
227 Entering Passive Mode (192,168,1,100,12,34)
150 Opening BINARY mode data connection for important_file.zip (12345 bytes).
226 File send OK.
12345 bytes received in 0.05 secs (234.5 Kbytes/sec)
ftp>
# 7. 查看传输状态
ftp> status
Connected to ftp.example.com.
Wireless network.
Mode: write; Type: binary; Form: non-print; Structure: file
Verbose: off.
Bell: off.
Prompting: on.
Hash mark printing: off.
Use of PORT cmds: on.
Only: off.
Case: off.
CR stripping: off.
UTF8: off.
# 8. 退出 FTP
ftp> bye
221 Goodbye.

重要提示

  1. 安全性:FTP 协议以明文传输用户名和密码,非常不安全,在现代应用中,强烈建议使用其安全版本:

    • SFTP (SSH File Transfer Protocol):基于 SSH 协议,通过加密通道传输,端口 22。
    • FTPS (FTP Secure):FTP over SSL/TLS,对 FTP 流量进行加密,端口 21 (显式) 或 990 (隐式)。 如果可能,请优先使用 SFTP 或 FTPS。
  2. 被动模式:在许多网络环境中(特别是有防火墙或 NAT 的情况下),需要使用被动模式 (passive) 来建立数据连接,在被动模式下,由客户端发起数据连接,而不是服务器,如果文件传输卡住,可以尝试 passive 命令。

  3. 本地命令与远程命令:请务必区分 lcd (本地目录切换) 和 cd (远程目录切换),一个常见的错误是忘记 lcd,导致文件上传到了错误的位置。

FTP常见命令有哪些?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇