数据物流 (SFTP 传输)
文件移动机制与冲突解决方法
数据移动至关重要。Netcatty 的传输引擎旨在强调可靠性而非单纯的原始速度,将数据完整性放在首位。
传输机制
队列系统
Netcatty 在传输过程中不会阻塞 UI。
- 后台工作线程: 当你拖动文件夹时,操作会被推送到后台队列。
- 并行度: 默认情况下,我们支持 4 个文件并行传输。
- 为什么要限制? SSH 是一种多路复用协议。在一个 TCP 套接字上同时发送 100 个文件会导致“队头阻塞 (Head-of-Line Blocking)”,并可能导致连接超时。
- 可视化状态: 弹出底部的 传输面板 (Transfers Panel) 可以看到:
- 活动文件的进度条。
- 总体批次进度。
- 吞吐量 (MB/s)。

冲突逻辑 (决策矩阵)
当目标位置已存在同名文件时,Netcatty 会提示你做出选择:
| 动作 | 逻辑 | 使用场景 |
|---|---|---|
| 替换 (Replace) | 删除远程文件并写入新文件。 | 部署新构建版本或更新脚本。 |
| 保留两者 (Keep Both) | 自动为新文件名添加唯一 ID(例如 app (1).jar)。 | 快速备份或保存不同的版本。 |
| 跳过 (Skip) | 忽略该文件并取消此项传输。 | 仅同步新文件到某个文件夹。 |
符号链接与特殊文件
UNIX 文件系统使用了一些需要特殊处理的文件类型:
- 符号链接 (Symlinks): Netcatty 使用快捷方式图标显示符号链接。双击它们可以跳转到目标位置。
- 传输符号链接: 在传输过程中,Netcatty 会尝试解析并复制符号链接指向的 内容。
- 套接字/管道: 命名管道 (
|) 和套接字 (=) 会显示独特的图标,但它们是 不可传输 的。
权限错误
“上传失败:权限被拒绝 (Permission Denied)”。 这是 SFTP 中最常见的错误。
- 诊断: 查看路径栏。你是否在
/root或/var/www中? - Sudo 问题: SFTP(协议本身)不支持 sudo。你是以自己的用户(如
ubuntu)身份登录的。即使你在终端中拥有 sudo 权限,你也无法直接写入 root 拥有的目录。 - 解决方法:
- 先上传到你的主目录 (
/home/ubuntu)。 - 打开终端。
- 运行
sudo mv ~/file /var/www/。
- 先上传到你的主目录 (
递归删除
通过 SFTP 删除文件夹执行的是递归删除 (rm -rf)。这是即时且不可逆的。远程 Linux 服务器上没有“回收站”。