Mac (Linux) - 恢復透過 mv 指令刪除的文件

Mac (Linux) - 恢復透過 mv 指令刪除的文件

我有一個大問題。我有兩個檔案 - main.c 和logic.c。我使用 sed 對logic.c進行了一些修改,然後將其儲存到main_updated.c,然後執行

mv main_updated.c main.c

但它必須是logic_updated.c 和logic.c。請任何人幫我,如何恢復 main.c 文件,否則我就死了。

答案1

您的舊資料很可能已經消失了。這實際上取決於檔案系統在覆蓋資料時的工作方式- 如果檔案系統只是釋放inode 並在驅動器上的其他位置分配新的inode,您也許可以使用恢復程式來查找資料......也許-您必須知道在哪裡查找,因為它可能會返回一堆索引節點(並且它可能不知道哪些索引節點包含文件的所有數據,因此您必須手動將其拼湊在一起)。

經驗教訓 - 在(大多數)每次更改後提交;P

答案2

恐怕您實際上已經破壞了您的 main.c 檔案。

將來您可以「交互地」使用 mv:

mv -i filename new_filename/or_path

它會在覆蓋文件之前與您進行檢查。

另外,頻繁提交版本控制軟體也是一個好主意。

相關內容