如何在命令行中使用 ftp 命令上传和下载文件

本文详细介绍在Linux shell中如何使用FTP命令进行服务器连接、文件上传下载及目录操作等基本功能,适用于服务器、SSH、远程会话等多种场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址:https://blog.youkuaiyun.com/qiuchangyong/article/details/80034828

本文中,介绍在 Linux shell 中如何使用 ftp 命令。包括如何连接 FTP 服务器,上传或下载文件以及创建文件夹。尽管现在有许多不错的 FTP 桌面应用,但是在服务器、SSH、远程会话中命令行 ftp 命令还是有很多应用的。比如。需要服务器从 ftp 仓库拉取备份。

步骤 1: 建立 FTP 连接

想要连接 FTP 服务器,在命令上中先输入ftp然后空格跟上 FTP 服务器的域名 'domain.com' 或者 IP 地址

 例如:

  1. ftp domain.com
  2. ftp 192.168.0.1
  3. ftp user@ftpdomain.com

注意: 本例中使用匿名服务器。

替换上面例子中 IP 或域名为你的服务器地址。

 

步骤 2: 使用用户名密码登录

绝大多数的 FTP 服务器是使用密码保护的,因此这些 FTP 服务器会询问'username'和'password'.

如果你连接到被称作匿名 FTP 服务器(即,并不需要你有真实的用户信息即可使用的 FTP 服务器称之为匿名 FTP 服务器),可以尝试anonymous作为用户名以及使用空密码:

  1. Name: anonymous
  2. Password:

之后,终端会返回如下的信息:

  1. 230 Login successful.
  2. Remote system type is UNIX.
  3. Using binary mode to transfer files.
  4. ftp>

登录成功。

步骤 3: 目录操作

FTP 命令可以列出、移动和创建文件夹,如同我们在本地使用我们的电脑一样。ls可以打印目录列表,cd可以改变目录,mkdir可以创建文件夹。

 

使用安全设置列出目录

  1. ftp>ls

服务器将返回:

  1. 200 PORT command successful.Consider using PASV.
  2. 150 Here comes the directory listing.
  3. directory list
  4. ....
  5. ....
  6. 226 Directory send OK.

改变目录:

改变目录可以输入:

  1. ftp>cd directory

服务器将会返回:

  1. 250 Directory succesfully changed.

步骤 4: 使用 FTP 下载文件

在下载一个文件之前,我们首先需要使用lcd命令设定本地接受目录位置。

  1. lcd /home/user/yourdirectoryname

如果你不指定下载目录,文件将会下载到你登录 FTP 时候的工作目录。

现在,我们可以使用命令 get 来下载文件,比如:

  1. get file

文件会保存在使用lcd命令设置的目录位置。

服务器返回消息:

  1. local:file remote:file
  2. 200 PORT command successful.Considerusing PASV.
  3. 150 Opening BINARY mode data connection forfile(xxx bytes).
  4. 226 File send OK.
  5. XXX bytes received in x.xx secs (x.xxx MB/s).

下载多个文件可以使用通配符及 mget 命令。例如,下面这个例子我打算下载所有以 .xls 结尾的文件。

  1. mget *.xls

步骤 5: 使用 FTP 上传文件

完成 FTP 连接后,FTP 同样可以上传文件

使用 put命令上传文件:

  1. put file

当文件不再当前本地目录下的时候,可以使用绝对路径:

  1. put /path/file

同样,可以上传多个文件:

  1. mput *.xls

 

步骤 6: 关闭 FTP 连接

完成FTP工作后,为了安全起见需要关闭连接。有三个命令可以关闭连接:

  1. bye
  2. exit
  3. quit

任意一个命令可以断开FTP服务器连接并返回:

  1. 221 Goodbye

需要更多帮助,在使用 ftp 命令连接到服务器后,可以使用help获得更多帮助。

<think>我们使用Windows命令行中的ftp命令进行文件下载。以下是步骤: 1. 打开命令提示符(CMD)。 2. 输入ftp命令连接到FTP服务器。 3. 输入用户名密码。 4. 切换到要下载文件的目录(如果需要)。 5. 设置传输模式(二进制或ASCII,通常下载文件使用二进制模式)。 6. 使用get命令下载单个文件,或使用mget命令下载多个文件。 7. 下载完成后,使用bye或quit命令退出。 示例步骤: ``` C:\> ftp ftp.example.com Connected to ftp.example.com. 220 (vsFTPd 3.0.3) User (ftp.example.com:(none)): your_username 331 Please specify the password. Password: (输入密码,不会显示) 230 Login successful. ftp> cd /remote/directory (切换到服务器上的目录) 250 Directory successfully changed. ftp> binary (设置为二进制传输模式,适用于非文本文件) 200 Switching to Binary mode. ftp> get filename.zip (下载单个文件) 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for filename.zip (123456 bytes). 226 Transfer complete. ftp: 123456 bytes received in 0.50Seconds 246.91Kbytes/sec. ftp> quit (退出) 221 Goodbye. ``` 注意事项: - 如果FTP服务器使用被动模式(PASV),在连接后可以输入`passive`命令切换为被动模式(有些服务器需要)。 - 下载多个文件可以使用`mget`,支持通配符(如`mget *.txt`),但每次都会询问是否下载,可以使用`prompt`命令关闭交互提示(输入`prompt`切换)。 §§相关问题§§ 1. 如何在Windows命令行使用FTP命令上传文件? 2. 在FTP命令行中,如何列出服务器上的文件目录? 3. 使用FTP下载文件时,如何避免每次下载多个文件时的确认提示? 4. 在Windows命令行FTP中,如何启用被动模式(PASV)? 5. 如果FTP连接超时或失败,有哪些常见原因解决方法?</think>### Windows命令行使用FTP下载文件教程 #### 步骤详解: 1. **打开命令提示符** Win+R → 输入 `cmd` → 按回车 2. **启动FTP连接** 输入命令(替换服务器地址): ```bash ftp ftp.example.com ``` 3. **登录FTP服务器** - 输入用户名密码(密码输入时无显示): ```bash User: your_username Password: ****** ``` - 匿名登录(若支持):用户名填 `anonymous`,密码随意 4. **导航到目标目录** - 查看当前目录:`dir` - 切换目录(示例): ```bash cd /remote_folder ``` 5. **设置传输模式** - 二进制模式(适合压缩包/图片): ```bash binary ``` - ASCII模式(适合文本文件): ```bash ascii ``` 6. **下载文件** - 单文件下载: ```bash get filename.zip ``` - 多文件下载(通配符): ```bash mget *.txt ``` > 提示:输入 `prompt` 可关闭多文件下载时的确认提示 7. **退出FTP** ```bash bye ``` #### 完整示例流程: ```bash C:\> ftp ftp.myserver.com Connected to ftp.myserver.com. User: myuser Password: ******** ftp> cd /downloads ftp> binary ftp> get important_data.zip 200 PORT command successful. 150 Opening BINARY mode data connection. 226 Transfer complete. ftp: 102400 bytes received in 0.5Seconds 204.80Kbytes/sec. ftp> bye ``` #### ⚠️注意事项: 1. 防火墙可能需放行FTP端口(默认21) 2. 大文件建议用`binary`模式避免损坏 3. 服务器需启用FTP服务(如FileZilla Server) 4. 路径区分大小写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值