SFTP (文件传输)
安全、可视化的文件管理操作
安全文件传输协议 (SFTP) 是 SSH 的一个子系统。与 FTP (不安全) 或 FTPS (需要复杂的证书处理) 不同,SFTP 运行在你现有的 SSH 隧道之上。Netcatty 在界面中直接集成了一个强大的双面板 SFTP 客户端。
双面板界面
受 Norton Commander 和 Total Commander 等经典工具的启发,Netcatty 采用了 源/目的地 (Source / Destination) 模型。
- 左侧面板: 通常是你的 本地文件系统。
- 右侧面板: 远程服务器。
当然,这些面板是灵活的。你可以自由切换路径;当前上下文通过每个面板顶部的路径栏指示。

文件操作
基础传输
拖放 (Drag and Drop) 是核心操作方式。
- 上传: 从左侧 (本地) 拖动到右侧 (远程)。
- 下载: 从右侧 (远程) 拖动到左侧 (本地)。
- 外部拖入: 你也可以直接从操作系统的桌面将文件拖入远程面板进行上传,或从远程面板拖出到桌面进行下载。
进阶:远程到远程传输 (Remote-to-Remote)
Netcatty 支持在两个不同的远程服务器之间传输文件,而无需先将其下载到你的本地磁盘。
工作流:
- 连接到 服务器 A,打开 SFTP。
- 在左侧面板中,点击“连接”下拉菜单选择 服务器 B。
- 现在你看到了服务器 B (左) 和服务器 A (右)。
- 直接拖动文件。
- 技术说明: Netcatty 通过本地内存安全地“管道”传输数据 (
流 A -> 本地内存 -> 流 B)。数据不会写入你的本地硬盘,从而确保了极高的速度和安全性。
冲突处理
当文件已存在时,Netcatty 会提示你进行选择:
- 替换 (Replace): 用新文件覆盖目标文件。
- 保留两者 (Keep Both): 自动为新文件名添加唯一标识符(例如
file (1).txt)。 - 跳过 (Skip): 不执行任何操作,取消该文件的传输。
批量操作
如果你正在传输包含多个冲突的文件夹,可以勾选 应用到所有 (Apply to all),以便一键解决所有剩余的冲突。
编辑文件 (内置编辑器)
你无需离开 Netcatty 即可修改配置文件或脚本。
- 右键点击远程文件(如
nginx.conf)。 - 选择 编辑 (Edit)。
- Netcatty 会在内置的 Monaco 编辑器(驱动 VS Code 的核心引擎)中打开该文件。
- 语法高亮: 支持 40 多种语言,包括 Javascript, Python, Shell, YAML 和 Dockerfile。
- 直接保存: 按下
Cmd+S(Mac) 或Ctrl+S(Win) 即可安全地将更改直接上传回服务器。 - 搜索与替换: 编辑器弹窗内支持完整的搜索功能。

权限管理
SFTP 允许你修改 UNIX 文件权限。
- 右键点击文件/文件夹。
- 选择 属性 (Properties)。
- 你会看到一个可视化的 chmod 网格(所有者/组/公共 的 读/写/执行 权限)。
- 你也可以直接输入八进制代码(如
755或600)。 - 递归应用: 对于文件夹,你可以选择将这些权限应用到所有子项。
隐藏文件
默认情况下,系统会隐藏“点文件”(如 .bashrc, .env)以保持界面整洁。
- 切换: 点击工具栏中的 眼睛图标 以显示/隐藏这些文件。
故障排除
“权限被拒绝 (Permission Denied)”
如果上传失败:
- 检查文件列表中的“所有者 (Owner)”列。当前连接的用户对该目录是否有写权限?
- 尝试先上传到
/tmp/以验证连通性,然后通过终端使用sudo mv移动。
“传输缓慢”
SFTP 是加密的,这会带来 CPU 开销。
- 由于协议握手延迟,传输大量小文件(数千个 1KB 文件)速度会较慢。
- 建议: 对于大规模目录传输,在终端中先用
tar -czf压缩文件夹,下载单个.tar.gz文件,然后再在本地解压,速度会快得多。