Linux
是否有一個 UNIX 命令可以列出系統中所有最近刪除的文件
意外
rm -rf
地向我的根目錄而不是目前目錄啟動了一個命令。Ctrl
我通過+停止了文件刪除,C
但一些文件已被刪除。是否有 LINUX 命令列出所有最近從系統中刪除的文件以獲取受影響的應用程序?作業系統:CentOS 6.3
*nix 系統通常安裝了一個
locate
實用程序。它有一個數據庫,通常每晚更新一次,其中包含系統上(幾乎)所有文件的名稱。趕緊跑:locate /path/to/dir/of/interest
您應該會看到上次數據庫更新時該目錄中的文件列表。您可以將此與目前列表進行比較。
因為它會被新版本自動覆蓋,所以您現在可以製作該數據庫的備份副本。在受 debian 影響的系統上,它儲存在
/var/lib/mlocate/mlocate.db
.如何顯示失去的文件
- 備份舊數據庫:
cp /var/lib/mlocate/mlocate.db ~/old.db
- 更新數據庫。執行此操作的命令可能會有所不同。在類似 debian 的系統上,嘗試:
sudo /etc/cron.daily/mlocate
- 獲取目錄的新舊文件列表:
locate -d ~/old.db /your/dir | sort >~/old.list locate /your/dir | sort >~/new.list
- 獲取所有新文件和失去文件的列表:
diff ~/old.list ~/new.list
補充筆記
- 並非所有文件都列在 locate 的數據庫中。配置文件通常
/etc/updatedb.conf
確定排除哪些文件和目錄。- 在過去,我使用了一些版本
locate
,預設情況下,只會列出仍然存在的文件。如果您的 是這種情況locate
,您將需要關閉該功能。