菜鸟科技网

Linux FTP常用命令有哪些?

Linux 系统中,FTP(File Transfer Protocol)是一种常用的文件传输协议,用于在客户端和服务器之间进行文件上传、下载等操作,虽然出于安全考虑,许多场景下更推荐使用 SFTP 或 SCP,但 FTP 仍因其简单易用而被广泛使用,以下将详细介绍 Linux 中 FTP 的常用命令,包括连接、文件传输、目录操作等,并通过表格形式归纳核心命令,帮助用户快速上手。

Linux FTP常用命令有哪些?-图1
(图片来源网络,侵删)

FTP 连接与登录命令

使用 FTP 前,需先通过命令连接到 FTP 服务器,基本连接命令为 ftp,后接服务器 IP 地址或域名,连接后,根据服务器要求输入用户名和密码进行登录。

  • ftp [服务器IP/域名]
    示例:ftp 192.168.1.100ftp ftp.example.com,执行后会尝试匿名登录或提示输入用户名。
  • open [服务器IP/域名]
    若已启动 FTP 客户端但未连接,可通过此命令重新连接,如 open 192.168.1.100
  • user [用户名] [密码]
    匿名登录失败时,手动指定用户名和密码,如 user admin password123
  • close
    关闭当前连接,但仍停留在 FTP 客户端界面,可执行 open 重新连接其他服务器。
  • byequit
    退出 FTP 客户端,完全结束会话。

文件传输命令

FTP 核心功能是文件传输,需区分上传(从本地到服务器)和下载(从服务器到本地),并注意传输模式(ASCII 或二进制)。

传输模式设置

  • ascii
    设置传输模式为 ASCII,适用于文本文件(如 .txt、.csv),确保文件格式兼容性。
  • binary
    设置传输模式为二进制,适用于非文本文件(如 .zip、.jpg、.exe),避免文件损坏。(重要:传输二进制文件前务必执行此命令)

文件下载(从服务器到本地)

  • get [远程文件名] [本地文件名]
    下载服务器单个文件,可指定本地保存名称,如 get test.txt local_test.txt(若省略本地文件名,则与远程同名)。
  • mget [远程文件名通配符]
    批量下载文件,支持通配符,如 mget *.txt(下载所有 .txt 文件),mget data_?.csv(下载 data_1.csv、data_2.csv 等)。
  • prompt
    关闭交互提示,执行 mget 时无需逐个确认文件,直接批量下载。

文件上传(从本地到服务器)

  • put [本地文件名] [远程文件名]
    上传本地单个文件到服务器,如 put report.doc server_report.doc
  • mput [本地文件名通配符]
    批量上传文件,如 mput *.jpg(上传所有 .jpg 文件)。

目录操作命令

FTP 中通过目录命令切换、查看服务器和本地的文件路径,方便定位传输目标。

服务器目录操作

  • pwd
    显示当前所在的服务器目录路径,如 257 "/home/user" is current directory
  • cd [远程目录]
    切换服务器目录,如 ftp> cd /var/www(切换到 /var/www 目录)。
  • ls [远程目录]
    列出当前服务器目录下的文件和子目录,可指定路径,如 ls /tmp
  • dir [远程目录]
    列出详细信息(权限、大小、日期等),功能类似 ls -l,如 dir 显示当前目录详情。
  • mkdir [远程目录名]
    在服务器创建新目录,如 mkdir backup
  • rmdir [远程目录名]
    删除服务器空目录,若目录非空需先删除内部文件。

本地目录操作


  • 执行本地系统命令,如 ! pwd(查看本地当前路径)、! ls -l(列出本地文件详情)。
  • lcd [本地目录]
    切换本地工作目录,如 lcd /home/user/download(将本地目录切换至 /home/user/download)。

文件与目录管理命令

文件重命名与删除

  • rename [旧文件名] [新文件名]
    重命名服务器文件,如 rename old.txt new.txt
  • delete [远程文件名]
    删除服务器单个文件,如 delete temp.log
  • mdelete [远程文件名通配符]
    批量删除服务器文件,如 mdelete *.tmp,需配合 prompt 关闭交互提示。

文件权限与属性(部分 FTP 服务器支持)

  • chmod [权限模式] [文件名]
    修改服务器文件权限,如 chmod 755 script.sh(设置所有者可读写执行,组和其他用户可读执行)。

其他实用命令

  • status
    显示当前 FTP 连接状态,包括传输模式、连接类型等。
  • help [命令名]? [命令名]
    查看命令帮助,如 help get 显示 get 命令的用法说明。
  • hash
    开启传输进度显示,传输每个数据块(通常为 1024 字节)时显示 ,直观判断传输进度。

核心 FTP 命速查表

功能分类 命令 说明
连接与登录 ftp [IP/域名] 连接 FTP 服务器
user [用户名] [密码] 手动输入用户名和密码登录
bye/quit 退出 FTP 客户端
传输模式 ascii 设置 ASCII 模式(文本文件)
binary 设置二进制模式(非文本文件)
文件下载 get [远程文件] 下载单个文件
mget [文件通配符] 批量下载文件
文件上传 put [本地文件] 上传单个文件
mput [文件通配符] 批量上传文件
服务器目录操作 pwd 显示当前服务器目录路径
cd [目录] 切换服务器目录
ls/dir 列出服务器文件/目录(dir 显示详细信息)
本地目录操作 lcd [目录] 切换本地工作目录
! [命令] 执行本地系统命令(如 ! ls
文件管理 rename [旧名] [新名] 重命名服务器文件
delete [文件] 删除服务器文件
其他 status 显示当前连接状态
hash 开启传输进度显示( 标识)

相关问答 FAQs

问题 1:FTP 传输时出现文件损坏,如何解决?
解答:文件损坏通常是由于传输模式设置错误导致的,FTP 默认使用 ASCII 模式,适用于文本文件,但传输二进制文件(如图片、压缩包、程序等)时,需先执行 binary 命令切换至二进制模式,二进制模式会保留文件原始数据,避免因字符编码转换导致文件损坏,上传 .zip 文件时,顺序应为:ftp> binaryftp> put local.zip

Linux FTP常用命令有哪些?-图2
(图片来源网络,侵删)

问题 2:如何查看 FTP 服务器上的文件列表,并过滤出特定扩展名的文件?
解答:FTP 服务器文件列表可通过 lsdir 命令查看,但两者均不支持直接过滤,可通过以下方法实现:

  1. 使用通配符查看部分文件:如 ls *.txt 可列出当前目录下所有 .txt 文件,但需注意部分 FTP 服务器可能不支持通配符过滤。
  2. 结合本地命令过滤:若服务器支持,可通过 dir 将结果输出到本地文件,再用本地命令过滤。dir > file_list.txt,退出 FTP 后执行 grep "\.txt$" file_list.txt 过滤出 .txt 文件。
  3. 使用第三方工具:如 lftp(更强大的 FTP 客户端),支持更灵活的过滤,lftp ftp://user:pass@server -e "ls *.txt; exit"
Linux FTP常用命令有哪些?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇