凌峰创科服务平台

Linux如何连接FTP服务器?

使用 ftp 命令(最经典、最常用)

ftp 是 Linux 系统自带的 FTP 客户端,功能强大,几乎所有发行版都预装了。

Linux如何连接FTP服务器?-图1
(图片来源网络,侵删)

基本连接

打开你的终端,输入以下命令:

ftp ftp.example.com

ftp.example.com 替换成你要连接的 FTP 服务器的地址或 IP。

常用交互命令

连接成功后,会提示你输入用户名和密码,登录后,你将进入 ftp> 提示符下,可以使用以下命令:

命令 功能 示例
ls 列出服务器当前目录下的文件和文件夹 ls
dir 列出文件详细信息(类似 ls -l dir
cd <目录名> 切换到服务器上的指定目录 cd public_html
lcd <本地目录> 切换到你本地机器(你的电脑)上的目录 lcd /home/user/my_downloads
get <远程文件> 从服务器下载一个文件到当前本地目录 get myfile.txt
put <本地文件> 从当前本地目录上传一个文件到服务器 put report.docx
mget <文件名模式> 批量下载多个匹配模式的文件 mget *.jpg
mput <文件名模式> 批量上传多个匹配模式的文件 mput *.log
执行本地 shell 命令 !ls (查看本地当前目录)
bin 切换到二进制传输模式(强烈推荐用于传输非文本文件 bin
ascii 切换到 ASCII 文本模式 ascii
prompt 关闭/打开交互式提示(在 mget/mput 时很有用) prompt (关闭后,mget 所有文件都不会询问)
help 显示所有可用命令的帮助 help
byequit 退出 FTP 连接 bye

示例会话

# 1. 连接到服务器
$ ftp ftp.example.com
Connected to ftp.example.com.
220 (vsFTPd 3.0.3)
Name (ftp.example.com:user): myusername
331 Please specify the password.
Password: ******** # 密码不会显示
230 Login successful.
# 2. 查看服务器文件
ftp> dir
-rw-r--r-- 1 0 0 1234 Jan 10 12:00 file1.txt
drwxr-xr-x 2 0 0 4096 Jan 10 12:01 images
ftp>
# 3. 切换到本地下载目录
ftp> lcd ~/Downloads
Local directory now /home/user/Downloads
# 4. 切换到服务器上的 images 目录
ftp> cd images
250 Directory successfully changed.
# 5. 下载 images 目录下的所有图片文件
ftp> prompt
Interactive mode off.
ftp> mget *.jpg
mget image1.jpg? y
local: image1 remote: image1
226 File send OK.
...
ftp>
# 6. 退出
ftp> bye
221 Goodbye.

使用 lftp 命令(功能更强大的命令行工具)

lftp 被认为是 ftp 的一个增强版,它支持多协议(FTP, SFTP, HTTP 等)、后台任务、队列、断点续传等功能,是许多 Linux 用户的首选。

Linux如何连接FTP服务器?-图2
(图片来源网络,侵删)

安装 lftp

如果你的系统没有预装,可以使用包管理器安装:

  • Debian / Ubuntu:
    sudo apt update
    sudo apt install lftp
  • CentOS / RHEL / Fedora:
    sudo yum install lftp
    # 或者 (对于较新版本)
    sudo dnf install lftp

基本使用

lftp 的语法更直观,并且可以一次性指定主机、用户名和密码。

lftp -u username,ftp://ftp.example.com

或者分步操作:

$ lftp ftp.example.com
lftp ftp.example.com:~> user username
Password: ********
lftp ftp.example.com:~>

lftp 的优势命令

命令/功能 功能 示例
mirror 同步目录(非常强大!) mirror -R (上传本地目录到服务器)
mirror (下载服务器目录到本地)
pget 多线程下载,可以加速大文件下载 pget -n 10 largefile.zip (用10个线程下载)
queue 将任务加入队列,稍后执行 get file1.zip; get file2.zip; queue
set 设置参数,如 set ftp:ssl-allow yes 启用 FTPS set ftp:ssl-allow yes
执行本地命令 !ls -l
exitbye 退出 exit

示例会话

# 1. 连接并登录
$ lftp -u myuser,pass ftp.example.com
lftp myuser@ftp.example.com:~>
# 2. 直接下载一个文件,并显示进度条
lftp myuser@ftp.example.com:~> pget -n 5 largefile.zip
5:  [RX]  50%  100MB 10.0MB/s eta 10s
# 3. 同步整个目录到本地
lftp myuser@ftp.example.com:~> mirror /public_html /home/user/my_backup
lftp myuser@ftp.example.com:~> exit

使用图形界面工具

如果你不习惯使用命令行,或者更喜欢拖拽操作,图形界面工具是更好的选择。

Linux如何连接FTP服务器?-图3
(图片来源网络,侵删)

文件管理器集成

现代的 Linux 桌面环境(如 GNOME, KDE, XFCE)的文件管理器通常都支持直接连接 FTP 服务器。

  • GNOME Files (Nautilus):

    1. 打开文件管理器。
    2. 在左侧侧边栏点击“连接到服务器”。
    3. 在服务类型中选择 “FTP”。
    4. 输入服务器地址、用户名、密码。
    5. 点击“连接”。
    6. 连接成功后,FTP 服务器的文件会像本地磁盘一样显示,你可以直接拖拽文件进行上传下载。
  • Dolphin (KDE):

    1. 在地址栏直接输入 ftp://username:password@ftp.example.com 然后按回车。
    2. 或者通过侧边栏的“网络” -> “连接到服务器”进行设置。

专用 FTP 客户端软件

这些软件功能更专业,通常带有书签管理、多窗口、同步等功能。

  • FileZilla: 跨平台的免费 FTP 客户端,非常流行,功能全面。
  • gFTP: 一个经典的 Linux 原生 FTP 客户端。

安全性提醒:使用 SFTP 替代 FTP

传统的 FTP 协议在传输数据时,用户名和密码都是明文传输的,非常不安全,现在更推荐使用 SFTP (SSH File Transfer Protocol)

  • SFTP 运行在 SSH 协议之上,所有传输(包括登录信息)都是加密的。
  • SFTP 和 FTP 是完全不同的协议,端口也不同(FTP 默认 21,SFTP 默认 22)。
  • 很多 FTP 服务器也同时提供 SFTP 服务。

如何连接 SFTP?

使用 lftpsftp 命令可以轻松连接 SFTP 服务器。

# 使用 lftp 连接 SFTP
lftp -u username,sftp://sftp.example.com
# 使用 sftp 命令连接 (语法类似 ftp)
sftp username@sftp.example.com

强烈建议:如果服务器支持,请优先选择 SFTP 来保证数据安全。


方法 优点 缺点 适用场景
ftp 命令 系统自带,无需安装,功能基础 功能有限,交互繁琐,不安全 快速连接一个不安全的旧服务器,应急处理。
lftp 命令 功能强大(断点续传、多线程、队列、同步) 需要单独安装 日常使用、脚本自动化、需要高效传输文件的用户。
图形界面 操作直观,支持拖拽 依赖桌面环境,不适合服务器/脚本 桌面用户,不熟悉命令行,喜欢可视化操作。
SFTP 安全,加密传输 服务器需支持SSH 所有现代场景下的首选,特别是涉及敏感信息时。

对于大多数现代 Linux 用户,我的建议是:

  1. 首选 lftp:因为它功能强大且安全(可以很好地支持 FTPS/SFTP)。
  2. 桌面用户:可以直接使用文件管理器FileZilla
  3. 务必使用 SFTP:如果服务器提供,请放弃不安全的 FTP。
分享:
扫描分享到社交APP
上一篇
下一篇