如何使用 smbclient 将远程 CIFS 共享上的文件移动到不同的远程文件夹中

如何使用 smbclient 将远程 CIFS 共享上的文件移动到不同的远程文件夹中

我正在寻找一个 Linux 命令来将一组文件从 Windows 盒子上的一个文件夹远程移动到另一个文件夹。

我尝试了 smbclient,但是当我使用它来移动文件时,我必须执行两步过程:

  1. 首先将远程 CIFS 文件从文件夹 1 复制到 Linux 盒子。 - 使用 mget
  2. 然后使用 mput 将这些文件复制到远程 CIFS 上的folder2。

由于上述过程,当我有大文件时,它会变得非常耗时。如何在不通过本地计算机移动文件的情况下正确执行此操作?

答案1

您可以使用远程系统上的重命名操作将文件从当前目录移动到其他位置。

smb: \> md testfolder
smb: \> rename test.mp3 testfolder/test.mp3
smb: \> cd testfolder
smb: \> rename test.mp3 ../test.mp3

您必须始终注明目标文件名。

另一种方法是将远程文件硬链接到其新位置,然后删除原始位置上的链接。

相关内容