我有一个通过SSH(Putty客户端)连接到的远程Debian测试服务器。我想将远程计算机上的许多文件移动到另一个文件夹:
remote: /mnt/a/ -> remote: /mnt/b/c/
RESULT@remote: /mnt/b/c/a/
我曾经使用过move(mv)命令从本地计算机通过SSH连接到远程计算机:
mv /mnt/a/ /mnt/b/c/
我用大约700 MB的数据(大约5个文件)做到了这一点,并且复制这些文件花了很多时间。
mv命令是否通过SSH将文件传输到本地计算机,然后将其发送回服务器上的另一个文件夹?如果是这样,我还有其他命令可以用来仅在远程服务器上本地移动文件吗?
只要您的源路径和目标路径在同一文件系统上,mv
实际上就不会“移动”任何东西。它只会编辑目录和文件的元数据(节点和链接),但数据块本身不会移动。例如,假设/home
和/srv
在不同的文件系统上,您将观察到以下内容:
$ mv /home/bigfile.txt /home/mydir/ # Instant.
$ mv /home/bigfile.txt /srv # Takes time.
如果要将所有数据从文件系统移动到另一个文件系统,则必须将其从磁盘部分物理复制到另一个文件系统:数据块需要移动,这会花费一些时间(老实说,您不能做很多事情)。
通过SSH进行更改不会改变任何事情。SSH代表安全外壳,这意味着您将获得一个实际的远程外壳,而不仅仅是将您的计算机用作所有内容的中继。无论您通过SSH从远程计算机上请求什么,都将进行远程处理。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句