' mv'指挥工作?

时间:2015-04-10 18:40:50

标签: linux

我使用命令mv将文件从目录/ a / b移动到目录/ v / c。我想要整个' b'要移动到路径/ v / c的目录。

现在在运行此命令时{ - 1}}我在源中有大量数据的中间中断了它。后来我删除了目录' c'因为我认为它有部分文件。

现在我的问题是目录' b'包含所有原始文件以及移动到路径/ v / c的文件?或者是否通过删除目录' c'?

丢失了文件

2 个答案:

答案 0 :(得分:1)

跨文件系统的

mv将:

  • 创建目标目录
  • 每个文件
  • :复制并删除原始文件
  • 删除原始目录

因此,如果你打断它,一些文件将被移动但不是全部。 相同文件系统中的mv目录是原子的,因为它只是将目录的inode重新链接到新位置。

有一次,mv只能做后者。

答案 1 :(得分:-1)

我认为这取决于源目录和目标目录是在同一文件系统还是不同的文件系统上。如果它们位于同一文件系统上,则“移动”只会更改每个文件的路径信息。但如果它们位于不同的文件系统上,“move”命令将一次复制一个文件,然后在源上删除它。

因此,在您的方案中,如果源和目标位于不同的文件系统上,则是,如果您中断了mv然后删除了“c”,则只丢失文件。