Mac SFTP 图形界面:浏览、编辑和修改远程文件权限

MXterm Pro 是一款自带文件浏览器的 macOS 终端,也就是一个Mac SFTP 图形界面远程编辑器。连上已保存的 SSH 主机后,终端旁边的面板里就是它的远程文件系统。双击文本文件,就能在带语法高亮的 Monaco 编辑器里修改,VS Code 用的也是这个编辑器引擎。不用离开应用,也不用打开 vim。
SFTP 面板长什么样
打开一台已保存的 SSH 主机,文件管理器就停靠在终端旁边,默认在左侧。点它标题栏里的面板关闭按钮,它会收成这条边上一条窄窄的竖条,标着“FILES (SFTP)”。点一下竖条就能展开。拖动分隔条可以调整面板宽度,面板可以放在左边或右边。
它不是 ⌥⌘B 辅助面板的标签页之一,那个面板的标签页是资源管理器、历史记录、Git、Control Room(原 War Room)和预览。这里只有一个远程文件列表,顶部是面包屑路径栏。点某一段路径可以回到上一级,点进路径栏则可以直接输入路径。
每个打开的主机标签页各自记录自己的路径和文件列表,所以在两个 SSH 标签页之间切换时,不会看到另一台服务器的目录。
只要服务器的 shell 会上报当前目录(OSC 7),SFTP 面板就会跟随 SSH 终端里的 cd,和 MobaXterm 的文件面板一样。fish 自己就会上报。bash 或 zsh 则要在服务器的 ~/.bashrc 或 ~/.zshrc 里加一行,面板发现 shell 不上报时会提示你复制这一行。面板里的跟随终端目录开关可以关掉它,关掉后你仍可以用面包屑栏自己浏览远程端。
面板里上传有两种方式。点工具栏的上传文件或上传文件夹按钮,会打开 macOS 原生的文件选择器,也可以直接从 Finder 把文件拖进来,放到远程列表上。这个面板里仍然没有像 WinSCP 或 Transmit 那样的第二列本地文件树。上传时选本地文件,要靠系统选择器或拖放。
把 Finder 里的文件拖到 SSH 终端分屏上,同样会通过 SFTP 上传,目标是终端所在的目录、文件面板所在的目录或服务器上的主目录,并把远程路径输入到终端里。
本地的文件资源管理器标签页是 1.0.22 加入的。它在 ⌥⌘B 面板里,不在这里,是一棵以当前聚焦分屏的工作目录为根的树。点一个文本文件,就会用同一个 Monaco 编辑器打开本地文件,这个面板对远程文件也是这样(只是那里要双击)。
编辑远程文件:用的是 Monaco,不是文本框
双击一个远程文本文件,它会在完整的 Monaco 编辑器里打开,有真正的语法高亮,不是普通的 textarea。.env、nginx.conf、Dockerfile、.py、.ts、.rs、.php、.go、.yaml,以及面板视为可编辑文本的大约 90 种其他扩展名都支持。其中约 75 种有对应语言的高亮,.txt、.log 和 .csv 按纯文本打开。
编辑器快捷键沿用 VS Code 的肌肉记忆:Cmd+Shift+F 查找替换,Cmd+Option+F 格式化文档,Cmd+/ 注释一行,Cmd+Shift+K 删除一行。想换默认之外的配色,可以用主题选择器。
Cmd+S 通过 SFTP 把文件写回服务器。MXterm Pro 会先取文件的修改时间,和你打开或上次保存时看到的修改时间比对。如果这期间服务器上的文件被改动过,保存会被拒绝,由你选择:重新加载服务器上的版本(你的修改会丢失),或者覆盖它。这个检查需要服务器上有 python3,没有的话,保存会不经检查直接写入。
想用自己的编辑器打开某个文件,点工具栏里的外部链接图标。它会把文件下载到临时路径,再用系统里该文件类型的默认应用打开。Monaco 高亮效果不好的文件类型,或者你一时改不掉的习惯,都可以这样处理。
相关指南MobaXterm 没有 Mac 版:怎么运行,或用什么替代远程 grep 和 chmod 权限网格
搜索图标会打开远程 Grep 搜索。它直接在服务器上运行 grep,而不是把每个文件下载到本地再搜。它会针对当前远程目录,用你的关键词执行 grep -rnI --exclude-dir={.git,node_modules,vendor,storage,dist,build,.cache} -F。
结果上限是每个文件 100 条匹配,总共 60 条。每条结果显示文件和行号,点一下就在编辑器里打开该文件(停在文件顶部,不会滚到匹配的那一行)。搜索是按字面字符串匹配(-F 参数),不是正则引擎。node_modules 和 .git 这类大目录会被自动跳过,所以搜索不会卡在庞大的 vendor/ 目录树上。
右键任意文件或文件夹,选择文件权限...(或点该行的盾牌图标),会打开更改文件权限 (Chmod) 对话框,里面是一个 3×3 的网格:一边是所有者、属组和其他人,顶部是读取、写入和执行。勾选复选框,八进制数值会实时更新(755、644、600、777,勾成什么就是什么)。直接输入八进制数值,复选框也会随之变化。
还有一个递归选项,可以一次把同样的权限应用到整个目录树,不必逐个文件 chmod。
Free 和 Pro:到底限制了什么
SFTP 面板里没有任何功能是 Pro 专属的。上面说的一切在 Free 套餐里都能用:编辑器、远程 grep、chmod、上传(用按钮,或从 Finder 拖入文件),以及下载到 ~/Downloads(用某一行的下载按钮、多选栏或右键菜单)。.png、.jpg、.gif、.svg、.webp、.ico、.bmp、.tiff 文件的图片查看器同样免费。
Free 套餐的限制不是 SFTP 专有的,但会影响日常使用。默认情况下,Free 没有分屏数量限制,最多允许 5 台已保存的 SSH 主机、每个 Control Room 2 名成员,以及 1 个已保存的 MXterm Host。Pro 没有这些上限。
MXterm Pro 和 iTerm2、Termius、MobaXterm 的定位差别
如果你在比较能在 Mac 上编辑远程 Linux 机器文件的工具,名单上多半有 iTerm2、Termius 或 MobaXterm。这三个在各自的领域都做得不错,但都不针对 MXterm Pro 要解决的问题。
iTerm2 是 macOS 上用了很多年的终端替代品:速度快,可配置性很深,分屏处理也强。它没有内置的 SFTP 文件浏览器或远程编辑器。它的 shell 集成可以用 scp 下载和上传,但要做更多的事,就得在某个分屏里手敲 sftp、rsync 或 scp,或者在旁边另开 Cyberduck、Transmit 这类应用。
Termius 是成熟的跨平台 SSH/SFTP 客户端,主机列表可以在桌面端和手机之间同步,iTerm2 和 MXterm Pro 都没打算做这个。它主要围绕连接和管理服务器来设计,不是围绕在这些连接旁边并行运行多个 AI 编程 Agent。
MobaXterm(仅限 Windows)把 SSH、SFTP 和 X11 转发集中在一个多标签页窗口里,它的 SFTP 面板也能跟随终端目录。MXterm Pro 的文件面板在服务器的 shell 上报当前目录(OSC 7)后,同样可以。它适合做基于 Windows 的远程运维,功能很全。但它不是为并排运行 Claude Code、Codex 和 Gemini CLI 这些独立的 Agent 分屏而做的。
作为 Mac SFTP 图形界面远程编辑器,MXterm Pro 在这几个工具里的不同,不在于文件浏览器更花哨。SFTP 面板、你的 SSH 终端和多 Agent 的 Control Room 在同一个窗口里,所以你可以在远程日志里 grep 一个报错,再直接在 Monaco 里打开出问题的文件,不用离开窗口。面板的概览见 SFTP GUI 页面。
如果你一次只跑一个 Agent,用对话式终端,那更接近 Warp 的定位。MXterm Pro 面向的是同时运行多个 Agent,每个 Agent 还可以放进各自的 git worktree,这样能降低下述情况的可能性:一个 Agent 的改动落进另一个 Agent 的工作副本。这一切都在你要部署的服务器旁边完成。
多分屏 SSH、Command Recipes(Cmd+J)和多 Agent 的 Control Room (原 War Room):先免费用。
常见问题
会,从 1.1.11 起,前提是服务器的 shell 会上报当前目录(OSC 7)。之后每次 cd,面板都会切到 SSH 终端所在的目录。fish 自己就会上报。bash 和 zsh 需要在服务器的 ~/.bashrc 或 ~/.zshrc 里加一行,面板会提示你复制。跟随终端目录开关可以关掉它,你仍可以用面包屑栏或直接输入路径来导航。
不是,它是按字面字符串搜索,不是正则。底层是在服务器上针对当前远程目录运行 grep -F。它会跳过 .git、node_modules、vendor 和其他几个大目录,结果上限是 60 条。适合找一个确切的字符串,不适合做模式匹配。
MXterm Pro 保存前会检查文件的修改时间,前提是服务器上有 python3。如果文件在你打开之后被改过,保存会被拦下,你可以选择重新加载服务器的版本,或者用你的版本覆盖。它不会自动合并。
免费。浏览、编辑、chmod、远程 grep、上传和下载,不需要许可证就都能用。付费套餐去掉的是 Free 对已保存的 SSH 主机、Control Room 成员和已保存的 MXterm Hosts 的上限。
可以。远程编辑器里的外部链接图标会把文件下载到临时路径,再用系统里该文件类型的默认应用打开。