深入理解远程 SSH Shell 执行 | AI生成和翻译

Home 2026.03

问题:当我通过 SSH 登录局域网内的笔记本电脑并重命名文件夹时,为什么我在检查时更改会立即生效?

回答:

实际上根本没有发生同步 —— 这是核心所在。你所体验到的比同步机制要简单、直接得多。

SSH Shell 的工作原理

当你运行 ssh xiaoxin@192.168.1.47 时,你并没有将文件复制到本地机器。相反:

所以当你运行:

mv 下载 Downloads

该命令是在远程笔记本电脑上运行的,直接修改了它自己的文件系统。这其中不涉及任何同步 (sync)

为什么它会立即出现

当你随后运行 ls 时,精确的流程如下:

你的键盘 → SSH 加密数据包 → 远程机器
远程机器运行 `ls` → 结果数据包 → 你的终端屏幕

通过局域网 (192.168.x.x) 的这种往返通常耗时 < 1ms。结果之所以看起来是瞬时的,是因为:

  1. 这是远程机器上的纯本地文件系统操作(没有网络文件传输)
  2. 局域网延迟极低(亚毫秒级)
  3. mvls 只是简单的内核系统调用 (syscalls) —— 它们在微秒内就能完成

关于“同步”的误解

你可能认为的情况 实际发生的情况
更改从远程同步到本地 根本不存在本地副本
文件在某处被镜像 文件仅存在于远程机器上
某些 daemon 监控并推送更改 没有 daemon,只有一个在远程运行的 shell

与实际同步工具的对比

如果你确实想在两台机器之间同步文件,你需要如下工具:

但普通的 SSH 不提供这些功能 —— 它只是让你直接控制远程机器的 shell

总结

你的 mv 命令在远程笔记本上运行。ls 也在远程笔记本上运行。你从未在看本地副本 —— 你始终是通过一个实时的 shell 会话在查看真正的远程文件系统。速度快是因为局域网延迟几乎为零,而不是因为任何同步机制。


Back Donate