Mac 用户 FTP 入门指南 – wiki基地


Mac 用户 FTP 入门指南:从零开始掌握文件传输协议

互联网是信息交换的巨大网络,而文件传输是其核心功能之一。在众多文件传输协议中,FTP(File Transfer Protocol,文件传输协议)是历史最悠久、应用最广泛的协议之一,尤其在网站建设、服务器管理等领域仍然扮演着重要角色。对于 Mac 用户而言,掌握 FTP 的使用方法,可以轻松地与远程服务器进行文件交互。

如果你是一个 Mac 用户,可能听说过 FTP,但不知道如何开始;或者你正在搭建自己的网站,需要将文件上传到服务器;又或者你需要从远程服务器下载一些文件。本文将为你提供一份详尽的 Mac 用户 FTP 入门指南,从 FTP 的基本概念到具体的客户端操作,一步一步带你掌握 FTP 的使用。

本文预计阅读时间较长,内容丰富,建议耐心阅读并跟着操作。

文章目录

  1. FTP 是什么?为什么它依然重要?
    • FTP 的定义与历史
    • FTP 的工作原理(简单理解)
    • FTP 的常见应用场景
  2. FTP 与 SFTP/FTPS:安全性至关重要
    • 为什么纯 FTP 不安全?
    • SFTP (SSH File Transfer Protocol)
    • FTPS (FTP over SSL/TLS)
    • 选择哪种协议?
  3. 在 Mac 上使用 FTP:你需要一个客户端
    • Mac 内建的 FTP 功能限制
    • 为什么需要专门的 FTP 客户端?
  4. 选择适合你的 FTP 客户端
    • 免费与付费客户端
    • 流行 Mac FTP 客户端介绍
      • FileZilla (免费,跨平台)
      • Cyberduck (免费,Mac/Windows)
      • Transmit (付费,Mac 专属)
    • 本文选择 FileZilla 作为示例(原因:免费、功能齐全、跨平台、用户基数大)
  5. 实战演练:使用 FileZilla 连接和操作文件
    • 下载与安装 FileZilla
    • FileZilla 界面概览
    • 快速连接 FTP 服务器
    • 使用站点管理器管理连接信息
    • 浏览与导航文件目录
    • 上传文件和文件夹
    • 下载文件和文件夹
    • 删除、重命名、复制和移动文件
    • 设置文件和文件夹权限 (CHMOD) – 网站管理员必学
    • 处理文件传输队列
  6. 常见问题与故障排除
    • 连接失败
    • 无法上传/下载(权限问题)
    • 文件传输中断
    • 主动模式(Active)与被动模式(Passive)
  7. 使用 FTP 的安全最佳实践
    • 优先使用 SFTP 或 FTPS
    • 使用强密码
    • 避免在公共网络使用 FTP
    • 限制 FTP 用户的权限
  8. FTP 的替代方案和相关技术
    • SFTP/FTPS (再次强调)
    • SCP (Secure Copy Protocol)
    • 基于 Web 的文件管理器
    • 云存储同步服务 (如 Dropbox, Google Drive) 的区别
  9. 总结与展望

1. FTP 是什么?为什么它依然重要?

1.1 FTP 的定义与历史

FTP,全称 File Transfer Protocol,文件传输协议,是互联网早期最常用的协议之一。它的设计目标是让用户能够在不同的计算机之间传输文件。简单来说,FTP 就是一种规范,规定了客户端和服务器之间如何进行文件传输的沟通方式。

FTP 的历史可以追溯到互联网的早期阶段,早在 1971 年(比 TCP/IP 协议的出现还早),它的基本概念就已经被提出。随着互联网的发展,FTP 也不断演进,但其核心功能——可靠地在两台计算机之间传输文件——始终未变。尽管近年来出现了许多新的文件传输方式(如 HTTP/HTTPS 上传下载、云存储同步等),但在某些特定场景下,FTP(或其安全变种)仍然是不可替代的。

1.2 FTP 的工作原理(简单理解)

FTP 采用客户端-服务器(Client-Server)模型。这意味着要进行 FTP 文件传输,需要两部分:

  • FTP 服务器 (FTP Server): 运行着 FTP 服务程序的计算机,它监听特定的网络端口,等待客户端的连接请求,并管理着服务器上的文件和文件夹。
  • FTP 客户端 (FTP Client): 用户用来连接到 FTP 服务器并执行文件传输操作的软件程序(例如本文将介绍的 FileZilla)。

与许多其他协议不同,FTP 使用两个独立的连接来完成文件传输:

  • 控制连接 (Control Connection): 通常使用端口 21。这个连接用于客户端向服务器发送命令(如登录、切换目录、获取文件列表、上传/下载文件请求)以及服务器返回响应(如命令执行成功/失败、文件列表等)。这个连接在整个 FTP 会话期间保持开启。
  • 数据连接 (Data Connection): 用于实际的文件数据传输。当客户端请求上传或下载文件时,会建立一个独立的连接来传输数据。这个连接的建立方式有两种:
    • 主动模式 (Active Mode): 客户端在控制连接中告诉服务器它监听的端口号,然后服务器主动连接客户端的这个端口来建立数据连接。这可能在客户端防火墙后面遇到问题。
    • 被动模式 (Passive Mode): 客户端在控制连接中请求服务器打开一个随机端口并监听,然后客户端主动连接服务器指定的这个端口来建立数据连接。这是目前更常用的模式,因为它更容易穿透客户端的防火墙。

理解这两种连接有助于解决一些特定的连接或传输问题,但作为入门者,你只需要知道 FTP 靠这两个连接协同工作即可。大多数 FTP 客户端和服务器会默认使用被动模式。

1.3 FTP 的常见应用场景

尽管不再是日常用户分享文件的首选方式,FTP 在以下领域依然非常活跃:

  • 网站建设与维护: 这是 FTP 最经典的应用场景。网站文件(HTML、CSS、JavaScript、图片等)通常需要通过 FTP(或 SFTP/FTPS)上传到 Web 服务器的特定目录,网站才能正常访问。更新网站内容也需要使用 FTP 来替换或上传新文件。
  • 服务器管理: 系统管理员经常使用 FTP 来上传、下载或管理服务器上的文件,例如上传安装包、下载日志文件、备份文件等。
  • 软件下载站点: 一些大型软件仓库或镜像站点仍然提供 FTP 下载方式,尤其适合下载大文件或在网络环境较差的情况下。
  • 企业内部文件共享: 在某些老旧或特定的企业环境中,FTP 仍然被用于内部的文件共享。
  • 备份: 有时 FTP 被用作自动化备份脚本的一部分,将数据备份到远程服务器。

2. FTP 与 SFTP/FTPS:安全性至关重要

在学习 FTP 时,安全性是一个绕不开的话题,尤其是在处理敏感数据时。FTP 本身是一个非常老的协议,它在设计之初并未考虑到现代互联网面临的各种安全威胁。

2.1 为什么纯 FTP 不安全?

纯粹的 FTP 协议在控制连接和数据连接中传输的所有信息都是未加密的。这意味着什么?

  • 密码泄露: 当你通过 FTP 连接到服务器时,你的用户名和密码是以明文形式在网络上传输的。如果你的网络被监听(例如在不安全的公共 Wi-Fi 下),攻击者可以轻易截获你的登录凭据。
  • 数据泄露: 你上传或下载的文件内容也是未加密传输的。敏感文件或数据在传输过程中可能被窃取。
  • 中间人攻击: 攻击者可能在你的计算机和服务器之间插入自己,截获、修改甚至注入传输的数据。

因此,除非你在一个完全受信任、隔离的网络环境中使用 FTP,否则强烈不建议使用纯 FTP 协议。幸运的是,有两种基于 FTP 或 SSH 的安全协议可以替代纯 FTP:SFTP 和 FTPS。

2.2 SFTP (SSH File Transfer Protocol)

SFTP 全称 SSH File Transfer Protocol,注意它不是 FTP 的安全版本,而是构建在 SSH (Secure Shell) 协议之上的一个子系统。SSH 本身是一个用于安全远程登录和执行命令的协议。SFTP 利用 SSH 的安全通道来传输文件。

  • 安全性: SFTP 通过 SSH 隧道加密所有数据,包括登录凭据、命令和文件内容。它提供了强大的安全性保障。
  • 端口: SFTP 通常使用 SSH 协议的默认端口 22。
  • 独立性: SFTP 是一个与 FTP 完全不同的协议,尽管名字相似,功能类似,但协议结构和实现方式完全不同。

2.3 FTPS (FTP over SSL/TLS)

FTPS 是在传统的 FTP 协议之上添加了 SSL/TLS (Secure Sockets Layer / Transport Layer Security) 加密层。SSL/TLS 是用于加密网络通信的协议,例如在 HTTPS 中使用。

  • 安全性: FTPS 通过 SSL/TLS 对 FTP 的控制连接和/或数据连接进行加密。
  • 端口: FTPS 仍然使用 FTP 的默认端口 21(用于控制连接),但数据连接端口取决于协商方式。根据加密方式,FTPS 有两种模式:
    • 隐式 FTPS (Implicit FTPS): 在连接建立之初就强制使用 SSL/TLS 加密。通常使用端口 990。这种模式较少使用。
    • 显式 FTPS (Explicit FTPS): 客户端连接到标准的 FTP 端口 21,然后明确发送命令(如 AUTH TLSAUTH SSL)来协商加密连接。这是更常见的 FTPS 模式。
  • 兼容性: FTPS 是在 FTP 基础上演变而来,与传统的 FTP 协议结构更接近。

2.4 选择哪种协议?

  • 强烈建议: 在可能的情况下,总是优先选择 SFTPFTPS 来连接你的服务器。
  • 绝不使用纯 FTP: 如果你的服务器只提供纯 FTP 访问并且你需要传输任何非公开或敏感信息,考虑与服务器管理员沟通是否能启用 SFTP 或 FTPS。如果不能,并且传输的数据非常敏感,可能需要寻找其他更安全的文件传输方式。
  • 实际应用: 很多 Web 托管服务默认提供 SFTP 或 FTPS 访问,特别推荐使用 SFTP,因为它基于成熟且广泛使用的 SSH 安全框架。

重要提示:本文虽然是 FTP 入门指南,但出于安全考虑,接下来的客户端操作示例将尽可能展示如何使用 SFTP 或 FTPS 进行连接。大多数现代 FTP 客户端都同时支持 FTP、SFTP 和 FTPS。学习如何使用客户端连接这些安全协议,其操作流程与纯 FTP 基本一致,只需要在连接时选择正确的协议类型和端口。

3. 在 Mac 上使用 FTP:你需要一个客户端

就像你需要一个浏览器来访问网页一样,要连接和操作 FTP 服务器上的文件,你也需要一个 FTP 客户端软件。

3.1 Mac 内建的 FTP 功能限制

macOS 系统在一定程度上提供了对 FTP 的支持,但功能非常有限,且不推荐用于常规使用:

  • Finder: 你可以在 Finder 的“前往”->“连接服务器…” (Connect to Server…) 中输入 ftp://服务器地址 来尝试连接。Finder 会尝试以访客身份或要求输入用户名密码进行连接。成功连接后,你可以像访问共享文件夹一样浏览服务器上的文件,但操作(特别是上传和权限设置)非常基础且不稳定,也不支持 SFTP 或 FTPS
  • Safari/浏览器: 你可以在 Safari 地址栏输入 ftp://用户名:密码@服务器地址/路径 (不推荐这样做,密码会暴露) 或 ftp://服务器地址。浏览器通常只能用于浏览和下载文件,无法上传或进行其他管理操作。也不支持 SFTP 或 FTPS。
  • 终端 (Terminal): macOS 的终端提供了内建的 ftp 命令行工具。你可以通过命令行的方式进行连接和操作。这对于熟悉命令行的用户来说是可行的,但对于初学者而言,学习和使用命令行 FTP 工具门槛较高,且功能相比图形界面客户端不直观。而且,内建的 ftp 命令通常不支持 SFTP 或 FTPS,你需要安装其他的命令行工具如 lftpsftpsftp 命令是 SSH 工具包的一部分,Mac 内建支持,用于 SFTP 连接)。

总结: Mac 内建的 FTP 功能仅适用于非常基础的、临时的浏览或下载需求,且不支持安全协议,不适合用于网站管理、频繁文件传输或其他需要高级功能(如权限设置、队列管理)的场景。

3.2 为什么需要专门的 FTP 客户端?

专门的 FTP 客户端软件提供了图形用户界面 (GUI),使得连接、浏览、上传、下载、删除、重命名、设置权限等操作变得直观和便捷。它们通常具备以下优点:

  • 易用性: 通过拖放、双击等图形界面操作,无需记忆复杂的命令。
  • 全面的功能: 支持多种文件传输模式(主动/被动)、断点续传、队列管理、文件权限(CHMOD)设置、多种连接协议(FTP, SFTP, FTPS)等。
  • 连接管理: 可以保存常用的服务器连接信息(站点管理器),方便快速连接。
  • 文件同步/对比: 部分高级客户端提供本地和远程目录对比或同步功能。
  • 更高的稳定性: 相比内建功能,专用客户端通常更稳定可靠。
  • 支持安全协议: 绝大多数现代客户端都全面支持 SFTP 和 FTPS,这是非常重要的安全考量。

4. 选择适合你的 FTP 客户端

市面上有许多优秀的 Mac FTP 客户端,它们各有特点。选择哪个取决于你的需求、预算以及个人偏好。

4.1 免费与付费客户端

  • 免费客户端: 功能通常足够日常使用,适合预算有限或只需要基础功能的用户。例如 FileZilla, Cyberduck。
  • 付费客户端: 通常提供更丰富的高级功能,更精美的界面,更优质的用户体验和更好的技术支持。适合需要高效率工作、有特定高级需求(如同步、更强大的编辑功能)或愿意为更好的体验付费的用户。例如 Transmit。

4.2 流行 Mac FTP 客户端介绍

  • FileZilla:
    • 优点: 完全免费、开源、跨平台 (Mac, Windows, Linux),功能强大且全面,支持 FTP, FTPS, SFTP,用户基数庞大,易于找到帮助文档。界面布局是经典的两栏式(本地/远程),非常直观。
    • 缺点: 界面设计相对朴素,有时会遇到一些小问题(例如某些特定服务器的兼容性)。
    • 推荐: 绝大多数初学者和非重度用户。
  • Cyberduck:
    • 优点: 免费、开源 (可通过捐赠支持开发),Mac 原生设计风格,界面简洁美观,操作直观。除了 FTP, SFTP, FTPS 外,还支持多种云存储服务(如 S3, Google Cloud Storage, Dropbox, OneDrive 等)。
    • 缺点: 相比 FileZilla,可能在某些 FTP 特有高级功能上略有欠缺。
    • 推荐: 喜欢 Mac 原生风格、需要连接多种云服务、对 FTP 高级功能需求不高的用户。
  • Transmit:
    • 优点: 付费软件,Mac 平台上最受欢迎的 FTP 客户端之一,界面精美,性能出色,稳定性高,功能非常强大,支持多种协议和云服务。提供文件同步、本地文件编辑后自动上传等高级功能。
    • 缺点: 需要付费购买。
    • 推荐: 专业用户、需要高效工作流、追求最佳用户体验的用户。

4.3 本文选择 FileZilla 作为示例

考虑到 FileZilla 的免费、跨平台以及全面的功能,它是一个非常适合初学者的选择。本文将以 FileZilla 为例,详细演示如何连接 FTP 服务器和进行文件操作。如果你选择使用其他客户端(如 Cyberduck 或 Transmit),界面的具体布局和按钮名称可能略有不同,但核心概念和操作流程是相似的。

5. 实战演练:使用 FileZilla 连接和操作文件

接下来,我们将一步步学习如何在 Mac 上安装 FileZilla 并使用它来连接 FTP 服务器和管理文件。

5.1 下载与安装 FileZilla

  1. 打开浏览器: 访问 FileZilla 的官方网站:https://filezilla-project.org/
  2. 选择下载版本: 在下载页面,你会看到 FileZilla Client (客户端) 和 FileZilla Server (服务器) 两个选项。我们需要的是客户端,请点击 “Download FileZilla Client”。
  3. 选择操作系统: 网站会自动检测你的操作系统(Mac),显示对应的下载链接。点击下载适用于 macOS 的版本(通常是一个 .app.tar.bz2.dmg 文件)。注意区分免费的 FileZilla Client 和付费的 FileZilla Pro(后者支持更多云协议,但基础的 FTP/SFTP 功能在免费版中都有)。
  4. 下载文件: 下载过程可能需要一些时间,取决于你的网络速度。
  5. 安装:
    • 如果下载的是 .dmg 文件,双击打开它。会出现一个磁盘镜像窗口,将 FileZilla 图标拖动到 “Applications” 文件夹图标上即可完成安装。然后可以弹出并删除 .dmg 文件。
    • 如果下载的是 .app.tar.bz2 文件,你需要一个解压工具(Mac 内建的归档实用工具通常可以处理)。双击该文件进行解压,会得到一个 FileZilla.app 文件。将这个文件拖动到你的 “Applications” 文件夹即可。
  6. 启动 FileZilla: 打开“访达 (Finder)”,进入“应用程序 (Applications)”文件夹,找到 FileZilla 图标并双击启动。首次启动时,macOS 可能会提示你该应用是从互联网下载的,询问是否确定打开。点击“打开”。

5.2 FileZilla 界面概览

FileZilla 的界面设计非常经典且直观,主要分为几个区域:

  • 顶部工具栏: 包含快速连接栏、站点管理器按钮、传输队列按钮等常用功能。
  • 站点管理器窗口 (Site Manager): 用于保存和管理你经常连接的 FTP/SFTP/FTPS 服务器信息(将在后面详细介绍)。
  • 消息日志区域 (Message Log): 位于顶部下方,显示客户端与服务器之间的通信信息、命令执行结果、连接状态等。这是排查问题的重要区域。
  • 本地站点区域 (Local Site): 位于左侧,显示你 Mac 电脑上的文件和文件夹结构。你可以在这里导航到你需要上传的文件所在的位置。
  • 远程站点区域 (Remote Site): 位于右侧,显示连接成功后,FTP 服务器上的文件和文件夹结构。你可以在这里导航到你需要下载文件或上传文件到的目标位置。
  • 传输队列区域 (Transfer Queue): 位于底部,显示当前正在进行、等待传输或已完成/失败的文件传输任务列表。

5.3 快速连接 FTP 服务器

如果你只需要临时连接到一个服务器,可以使用顶部的快速连接栏:

  1. 找到界面顶部的快速连接栏。它通常包含四个输入框:
    • 主机 (Host): 输入服务器的地址。这可以是域名(如 ftp.yourserver.com)或 IP 地址(如 192.168.1.100)。
    • 用户名 (Username): 输入连接 FTP/SFTP/FTPS 服务器所需的用户名。
    • 密码 (Password): 输入对应的密码。
    • 端口 (Port): 输入服务器监听的端口号。对于纯 FTP 通常是 21,SFTP 通常是 22,显式 FTPS 通常是 21,隐式 FTPS 通常是 990。如果服务器使用的是标准端口,这个字段可以留空,FileZilla 会使用默认端口。
  2. 点击“快速连接” (Quickconnect) 按钮: 输入完信息后,点击输入框右侧的“快速连接”按钮。
  3. 等待连接: FileZilla 会尝试连接服务器。连接过程和结果会显示在消息日志区域。如果连接成功,远程站点区域会显示服务器上的文件和文件夹列表。
  4. 安全提示: 如果你连接的是纯 FTP (端口 21),FileZilla 可能会弹出警告,提示连接不安全,密码会明文传输。请务必留意这个警告,并优先尝试使用 SFTP 或 FTPS 连接。
  5. 断开连接: 连接成功后,“快速连接”按钮会变成“断开连接”按钮。点击它可以断开与当前服务器的连接。

重要提示: 快速连接不会保存你的连接信息。每次连接都需要重新输入。对于经常需要连接的服务器,建议使用站点管理器。

5.4 使用站点管理器管理连接信息

站点管理器允许你保存多个服务器的连接配置,方便下次快速连接,并且可以配置更详细的连接参数。

  1. 打开站点管理器: 点击顶部工具栏最左侧的站点管理器图标(通常像一个小服务器或文件夹图标),或者点击菜单栏的“文件 (File)” -> “站点管理器 (Site Manager)”。
  2. 新建站点: 在站点管理器窗口的左侧列表下方,点击“新站点 (New Site)”按钮。一个新的站点条目会出现,你可以为其命名(例如“我的网站服务器”、“公司文件共享”等)。
  3. 配置站点信息: 在右侧的“常规 (General)”选项卡中,填写以下信息:
    • 协议 (Protocol): 这里是选择 FTP, SFTP, FTPS 的关键! 点击下拉菜单,选择服务器支持的协议。强烈建议选择 SFTP (SSH File Transfer Protocol) 或 FTPS (FTP over TLS/SSL)。如果服务器只支持纯 FTP,选择 FTP,但请注意安全风险。
    • 主机 (Host): 输入服务器地址(域名或 IP)。
    • 端口 (Port): 根据选择的协议输入端口号。SFTP 默认 22,纯 FTP/显式 FTPS 默认 21,隐式 FTPS 默认 990。如果服务器使用非标准端口,请务必填写。
    • 加密 (Encryption – 仅在选择 FTP/FTPS 时可见): 如果选择了 FTP,此选项用于配置 FTPS 连接类型。
      • 只使用普通 FTP (不安全): 纯 FTP,不加密。
      • 使用显式的 FTP over TLS/SSL (如果可用): 尝试使用显式 FTPS,如果服务器不支持则回退到纯 FTP(不推荐回退)。
      • 需要显式的 FTP over TLS/SSL: 强制使用显式 FTPS,连接失败则报错。
      • 使用隐式的 FTP over TLS/SSL: 强制使用隐式 FTPS (端口通常是 990)。
      • 建议: 如果服务器支持 FTPS,选择“需要显式的 FTP over TLS/SSL”或“使用隐式的 FTP over TLS/SSL”。
    • 登录类型 (Logon Type): 选择登录方式。
      • 匿名 (Anonymous): 用于连接允许匿名访问的公共 FTP 服务器。
      • 正常 (Normal): 输入用户名和密码进行登录。这是最常见的类型。
      • 请求密码 (Ask for password): 每次连接时要求输入密码,用户名已保存。
      • 交互 (Interactive): 客户端和服务器通过消息日志区域进行更复杂的交互式登录(不常见)。
      • 密钥文件 (Key file - 仅 SFTP 可用): 使用 SSH 密钥对进行身份验证(更安全,尤其适用于自动化脚本或无密码登录)。
    • 用户 (User): 输入用户名(如果登录类型不是匿名)。
    • 密码 (Password): 输入密码(如果登录类型是正常)。选择“正常”会将密码保存在本地,方便快速连接,但也意味着如果你的电脑不安全,密码可能泄露。选择“请求密码”更安全一些,但每次连接都需要手动输入。
  4. 连接: 配置完成后,点击“连接 (Connect)”按钮。FileZilla 会使用保存的配置尝试连接到服务器。
  5. 管理站点: 在站点管理器窗口中,你还可以对已保存的站点进行“重命名”、“删除”、“复制”等操作,还可以创建文件夹来组织你的站点列表。

5.5 浏览与导航文件目录

连接成功后,FileZilla 的界面会清晰地展示本地和远程的文件系统:

  • 本地站点 (左侧): 上方是本地驱动器和目录的树形结构,下方是当前选定目录中的文件和文件夹列表。你可以像在 Finder 中一样双击文件夹进入,或点击父文件夹图标返回上一级。
  • 远程站点 (右侧): 结构与本地站点类似。上方是服务器端目录的树形结构,下方是当前选定目录中的文件和文件夹列表。../ 通常代表父目录。双击文件夹进入,或双击列表顶部的 .. 进入父目录。
  • 根目录: 连接成功后,你通常会进入服务器上分配给你的用户的主目录。对于网站托管,网站文件可能位于 public_html, www, htdocs 或其他特定名称的子目录中,你需要导航到正确的目录。

5.6 上传文件和文件夹

将文件从 Mac 传输到 FTP 服务器(上传):

  1. 在本地站点区域(左侧),导航到包含你要上传文件的文件夹。
  2. 在远程站点区域(右侧),导航到服务器上你希望文件存放的目标文件夹。
  3. 选择文件/文件夹: 在本地站点区域,选中你要上传的文件或文件夹。你可以按住 Command 键选择多个不连续的项目,按住 Shift 键选择连续的项目。
  4. 上传操作: 有几种方式可以上传:
    • 拖放: 将选中的文件/文件夹从本地站点区域直接拖放到远程站点区域的目标文件夹中。
    • 右键菜单: 右键点击选中的文件/文件夹,选择“上传 (Upload)”选项。
    • 双击: 在某些配置下,双击本地文件也可能触发上传(这取决于你的 FileZilla 配置)。
  5. 监控传输: 文件传输任务会添加到底部的传输队列区域。你可以看到文件的传输进度、速度和状态。

5.7 下载文件和文件夹

将文件从 FTP 服务器传输到 Mac(下载):

  1. 在远程站点区域(右侧),导航到包含你要下载文件的文件夹。
  2. 在本地站点区域(左侧),导航到你希望文件保存的目标文件夹。
  3. 选择文件/文件夹: 在远程站点区域,选中你要下载的文件或文件夹。
  4. 下载操作: 有几种方式可以下载:
    • 拖放: 将选中的文件/文件夹从远程站点区域直接拖放到本地站点区域的目标文件夹中。
    • 右键菜单: 右键点击选中的文件/文件夹,选择“下载 (Download)”选项。
    • 双击: 双击远程文件会将其下载到本地站点区域当前显示的目录中。
  5. 监控传输: 下载任务同样会添加到底部的传输队列区域。

5.8 删除、重命名、复制和移动文件

这些基本的文件管理操作在远程站点区域进行,操作方式类似于在 Finder 中管理本地文件:

  • 删除: 在远程站点区域选中文件或文件夹,右键点击,选择“删除 (Delete)”,然后确认。注意:删除操作通常是不可逆的,请谨慎操作!
  • 重命名: 在远程站点区域选中文件或文件夹,右键点击,选择“重命名 (Rename)”,然后输入新的名称并按回车键。或者选中后单击文件/文件夹名称(不是双击)进行编辑。
  • 复制/移动: FileZilla 不支持直接在远程站点内部通过拖放进行复制或移动。要实现远程文件/文件夹的移动,你需要先下载到本地,然后在本地站点区域将它们移动到新的位置,最后再上传回远程站点的目标位置。有些高级客户端可能支持服务器间的复制/移动,但这取决于服务器是否支持相关的 FTP 命令。

5.9 设置文件和文件夹权限 (CHMOD) – 网站管理员必学

对于网站文件,正确设置文件和文件夹的访问权限至关重要。权限设置决定了谁(文件所有者、组用户、其他用户)可以对文件进行读取、写入或执行操作。权限问题是导致网站错误或安全漏洞的常见原因。在 FTP 中,文件权限通常使用 CHMOD 命令来设置,并常用三位或四位八进制数字表示(例如 755, 644)。

  • 权限类型:
    • r (read): 读取权限。对于文件,可以查看内容;对于文件夹,可以列出包含的文件。
    • w (write): 写入权限。对于文件,可以修改或删除文件;对于文件夹,可以在其中创建、删除或重命名文件。
    • x (execute): 执行权限。对于文件,可以作为程序运行;对于文件夹,可以进入该文件夹。
  • 用户类别:
    • u (user): 文件或文件夹的所有者。
    • g (group): 与文件或文件夹关联的用户组中的用户。
    • o (others): 其他所有用户。
    • a (all): 所有用户 (u, g, o 的总和)。

在 FileZilla 中设置权限:

  1. 在远程站点区域,选中要设置权限的文件或文件夹。
  2. 右键点击,选择“文件权限… (File permissions…)”。
  3. 设置权限: 在弹出的窗口中,你可以通过勾选复选框来设置所有者、组和其他用户的读取、写入和执行权限。
    • 你也可以直接在“数字值 (Numeric value)”输入框中输入三位或四位八进制权限码(例如 755)。勾选复选框会自动更新数字值,反之亦然。
    • 常见的网站文件权限:
      • 文件: 通常设置为 644 (所有者可读写,组用户和其他用户只读)。
      • 文件夹: 通常设置为 755 (所有者可读写执行,组用户和其他用户只读执行)。
      • 需要写入权限的文件夹 (如上传目录): 可能需要设置为 775777(视服务器配置和安全要求而定,777 权限最低,需谨慎使用)。
    • 包含子目录 (Recurse into subdirectories): 如果你勾选这个选项,可以将相同的权限设置应用到选定文件夹内部的所有文件和子文件夹。通常还有一个选项问你是仅应用于文件夹、仅应用于文件,还是同时应用于两者。请谨慎使用递归权限设置,错误的设置可能导致整个网站无法访问! 通常建议分别设置文件和文件夹的递归权限。
  4. 确认: 设置完成后,点击“确定 (OK)”。权限设置会立即生效。

5.10 处理文件传输队列

底部的传输队列区域管理着你的上传和下载任务。

  • 队列中的文件: 显示正在传输、等待传输或暂停的任务。
  • 成功传输 (Successful transfers): 显示已成功传输的文件列表。
  • 失败传输 (Failed transfers): 显示未能成功传输的文件列表。
  • 重试失败传输: 如果有文件传输失败,你可以右键点击失败列表中的文件,选择“重置并加入队列 (Reset and requeue selected files)”或“处理队列 (Process Queue)”来重试。
  • 暂停/继续/取消: 你可以使用队列区域上方的按钮来暂停、继续或取消所有队列中的传输任务。

6. 常见问题与故障排除

在使用 FTP 客户端时,可能会遇到一些问题。以下是一些常见的问题及其解决方法:

  • 连接失败 (“Connection refused”, “Connection timed out”):
    • 检查服务器地址和端口: 确保主机名/IP、端口号填写正确。
    • 检查用户名和密码: 确保登录凭据正确无误。
    • 检查协议选择: 确保选择了服务器支持的正确协议(FTP, SFTP, FTPS)。
    • 检查服务器状态: 确认 FTP 服务器是否正在运行,或者是否存在防火墙阻止了连接(你的防火墙或服务器的防火墙)。
    • 检查网络连接: 确保你的 Mac 连接到互联网,并且可以访问服务器地址。
    • 尝试主动/被动模式: 在站点管理器中,切换到“传输设置 (Transfer Settings)”选项卡,尝试将传输模式从“默认”改为“主动”或“被动”,看看是否能解决连接问题。被动模式通常更有效。
  • 无法上传或下载 (“Permission denied”):
    • 检查文件/文件夹权限: 这是最常见的原因。确保你在远程站点的目标文件夹拥有写入权限 (w)。对于文件上传,你需要目标文件夹的写入权限;对于文件下载,你需要源文件的读取权限 (r)。使用 FileZilla 的“文件权限”功能检查和修改权限。
    • 检查磁盘空间: 确保服务器或你的 Mac 还有足够的磁盘空间来存储文件。
    • 检查文件是否被占用: 确保要上传或下载的文件在你的 Mac 或服务器上没有被其他程序占用。
  • 文件传输中断或速度慢:
    • 检查网络连接稳定性: 不稳定的网络连接容易导致传输中断。尝试切换到更稳定的网络。
    • 尝试主动/被动模式: 有时切换传输模式可以改善传输稳定性。
    • 检查服务器负载: 服务器负载过高可能导致传输速度慢或中断。
  • 主动模式(Active)与被动模式(Passive):
    • 背景: 主动模式下,客户端打开一个端口并告诉服务器,服务器主动连接这个端口传输数据;被动模式下,服务器打开一个端口并告诉客户端,客户端主动连接这个端口传输数据。
    • 问题: 主动模式容易被客户端的防火墙拦截服务器发起的连接。被动模式下,服务器开启的是随机高端口,有时服务器端的防火墙或网络配置可能未正确开放这些端口。
    • 解决方案: 默认使用被动模式。如果遇到连接或传输问题,尝试在站点管理器或 FileZilla 的全局设置中切换到主动模式或强制使用被动模式。通常来说,被动模式是更好的选择,尤其是在客户端位于 NAT 或防火墙之后。

7. 使用 FTP 的安全最佳实践

再次强调安全的重要性,并总结一些最佳实践:

  • 优先使用 SFTP 或 FTPS: 这是最重要的安全建议。始终优先选择加密连接来保护你的数据和凭据。
  • 使用强密码: 即使在使用 SFTP/FTPS 时,强密码仍然是第一道防线。使用包含大小写字母、数字和符号的复杂密码,并定期更换。避免使用容易猜测的密码。
  • 考虑使用密钥认证 (SFTP): 如果服务器支持,使用 SSH 密钥对进行 SFTP 认证比密码更安全。你需要生成密钥对,将公钥上传到服务器,然后使用私钥在 FileZilla 中连接。
  • 避免在公共网络使用 FTP: 在咖啡馆、机场等公共 Wi-Fi 环境下,避免使用纯 FTP,因为网络可能被监听。即使使用 SFTP/FTPS,也要警惕网络安全。
  • 限制 FTP 用户的权限: 如果你是服务器管理员,为不同的用户创建专门的 FTP 账户,并严格限制他们能够访问和操作的目录范围,给予最小必需的权限。
  • 定期更新客户端和服务器: 确保你使用的 FileZilla 客户端和服务器端的 FTP/SFTP/FTPS 服务都是最新版本,以获取安全补丁和性能改进。
  • 传输敏感数据前进行加密: 如果传输的数据极其敏感,即使使用 SFTP/FTPS,也可以考虑在本地先将文件加密(例如使用 GPG/PGP)后再上传。

8. FTP 的替代方案和相关技术

尽管 FTP 在特定领域仍有应用,但根据不同的需求,还有其他更现代或更适合特定场景的文件传输方式:

  • SFTP/FTPS: (如前所述)FTP 的安全替代方案,强烈推荐。
  • SCP (Secure Copy Protocol): 同样构建在 SSH 之上,用于安全地复制文件。它更像是一个简单的文件复制工具,而不是一个全功能的管理协议。对于简单的命令行复制任务非常方便。Mac 的终端内建支持 scp 命令。
  • 基于 Web 的文件管理器: 许多 Web 托管控制面板(如 cPanel, Plesk)提供了基于浏览器的文件管理器。你无需安装客户端,直接在浏览器中即可上传、下载和管理文件。但功能通常不如专用 FTP 客户端强大,批量操作可能效率较低。
  • 云存储同步服务 (如 Dropbox, Google Drive, OneDrive, iCloud Drive): 这些服务提供了极大的便利性,通过客户端或网页实现文件同步和分享。然而,它们通常是基于云端的同步盘模式,与直接管理服务器文件系统的 FTP/SFTP 本质不同。你不能使用它们来管理网站服务器上的文件或与传统的 FTP 服务器交互(除非服务器本身集成了这些云服务的接口)。它们适合个人文件同步和分享,不适合网站部署或服务器日常管理。
  • Rsync: 主要用于文件同步和备份,可以在本地和远程系统之间高效地传输文件,只传输文件的变化部分。通常通过 SSH 安全通道进行,命令行工具居多。

9. 总结与展望

恭喜你!通过本文的学习,你应该已经对 FTP 及其安全变种有了基本的认识,并掌握了如何在 Mac 上使用 FileZilla 等客户端连接服务器和进行基本的文件操作。

FTP 虽然历史悠久,纯 FTP 协议也存在严重的安全缺陷,但在特定场景下(特别是通过 SFTP 或 FTPS),它仍然是一个高效且实用的文件传输工具。掌握 FTP 客户端的使用,特别是 SFTP 的连接方式,对于从事网站开发、服务器管理等工作或有相关需求的用户来说是一项非常重要的技能。

记住,安全永远是第一位的。在任何涉及敏感数据的文件传输时,务必优先使用 SFTP 或 FTPS。

随着技术的不断发展,新的文件传输和管理方式层出不穷。但 FTP/SFTP/FTPS 作为基础协议,在很多后端和服务器领域依然扮演着不可或缺的角色。通过实践,你会越来越熟练地运用这些工具,更高效地管理你的远程文件。

希望这篇详细的指南能帮助你顺利迈出 Mac 上 FTP 入门的第一步!如果在实践过程中遇到问题,可以查阅 FileZilla 或你使用的客户端的官方文档,或者在相关的技术社区寻求帮助。

祝你文件传输顺利!


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部