![Mac (Linux) - 恢復透過 mv 指令刪除的文件](https://rvso.com/image/1313346/Mac%20(Linux)%20-%20%E6%81%A2%E5%BE%A9%E9%80%8F%E9%81%8E%20mv%20%E6%8C%87%E4%BB%A4%E5%88%AA%E9%99%A4%E7%9A%84%E6%96%87%E4%BB%B6.png)
我有一個大問題。我有兩個檔案 - 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
它會在覆蓋文件之前與您進行檢查。
另外,頻繁提交版本控制軟體也是一個好主意。