システムから最近削除されたすべてのファイルを一覧表示するUNIXコマンドはありますか?

システムから最近削除されたすべてのファイルを一覧表示するUNIXコマンドはありますか?

予期せず、rm -rf現在のディレクトリではなく、私のルートディレクトリでコマンドが実行されました。Ctrl+を押してファイルを削除しましたが、C一部のファイルが削除されました。影響を受けるアプリケーションをインポートするためにシステムから最近削除されたすべてのファイルを一覧表示できるLINUXコマンドはありますか?

オペレーティングシステム:CentOS 6.3

ベストアンサー1

*nixシステムには通常locateユーティリティがインストールされています。これには、システム内の(ほぼ)すべてのファイルの名前を含むデータベースがあり、通常は夜ごとに更新されます。速く走る:

locate /path/to/dir/of/interest

最後のデータベースの更新時にディレクトリにあるファイルのリストを表示する必要があります。現在のリストと比較できます。

新しいバージョンが自動的に上書きされるため、データベースのバックアップコピーを作成できるようになりました。 Debianの影響を受けるシステムでは/var/lib/mlocate/mlocate.db

失われたファイルを表示する方法

  1. 古いデータベースをバックアップします。

    cp /var/lib/mlocate/mlocate.db ~/old.db
    
  2. データベースを更新します。これを実行するコマンドは異なる場合があります。 Debian のようなシステムでは、以下を試してみてください。

    sudo /etc/cron.daily/mlocate
    
  3. ディレクトリの古いファイルと新しいファイルのリストを取得します。

    locate -d ~/old.db /your/dir | sort >~/old.list
    locate /your/dir | sort >~/new.list
    
  4. すべての新しいファイルと見つからないファイルのリストを取得します。

    diff ~/old.list ~/new.list
    

補足説明

  • すべてのファイルがロケーション・データベースにリストされているわけではありません。構成ファイルは通常、除外さ/etc/updatedb.confれるファイルとディレクトリを決定します。

  • locate私は過去にデフォルトでまだ存在しているファイルのみをリストしたバージョンを使用しました。このような場合は、locateこの機能をオフにする必要があります。

おすすめ記事