2014-02-13 64 views
1

我用mv命令對文件,則該消息出現了:Linux:當mv失敗時,原始文件是否仍然完好?

mv 'file.tar': Disk quota exceeded 

但現在有兩個新的位置和舊位置的文件.tar。它們大小不同,我不知道原始文件的大小。 (這個tar包中有一個文件lotttt)

我可以只刪除未能移動的文件,或者如果我這樣做會丟失部分原始數據嗎?

+0

請詳細說明源文件系統和目標文件系統。他們是同一個文件系統嗎? –

+1

如果您執行了'mv A B'並且操作失敗,則可以安全地移除'B'。只有成功移動到備用位置後,纔會刪除文件「A」。 (詳細說明,'A'仍然是原始文件,而'B'可能是其中的一部分。) – devnull

+0

謝謝,@devnull這是我需要的答案。 – imkendal

回答

3

當Unix/Linux mv(1)是文件時,如果源和目標位於同一個文件系統中,則只是重命名。這不能給出「空間不足」的信息(至少不是AFAICS)。在文件系統(不同分區或磁盤)之間移動文件時,完成的操作是將源複製到目標,並在操作結束後刪除源。在複製過程中,目標文件系統的空間可能會用完,並且源文件不會被刪除。奇怪的是,(部分)目的地停留在你的情況下,以我的經驗mv清理了(但它已經有一段時間了...)。在這種情況下,目標文件所屬的用戶的磁盤空間不足。

相關問題