プログラムで生成されたすべてのファイル/ディレクトリを削除する方法はありますか?

プログラムで生成されたすべてのファイル/ディレクトリを削除する方法はありますか?

ファイルとディレクトリが散在する複数の場所にプログラムがインストールされています。このファイルとディレクトリを手動で削除する必要があります。次のように、ユーザーが作成したファイルとディレクトリを削除できることがわかります。

# find /home -user student -exec rm -rf {} \;

削除したいファイルとディレクトリを含むプログラムの名前を指定して、プログラムで同じことを行う方法はありますか?

ベストアンサー1

Hans Martin Mosnerが彼の答えで言ったように、どのプログラムが特定のファイルまたはディレクトリを作成または変更したかを識別するための情報は保存されません。

ただし、findプログラムを使用してコンテンツを見つけることができます。可能作成または変更します。まず、「タイムスタンプファイル」を作成してからプログラムを実行します。実行後、findタイムスタンプファイルに関連するタイムスタンプに基づいて変更されたすべてのファイルを検索するように求められます。

  1. タイムスタンプファイルの生成:

    touch stamp
    
  2. プログラムを実行してください。

  3. findタイムスタンプファイルよりも編集時間が最新のコンテンツを見つけるには、次の手順を実行します。

    find / -newer stamp
    

    または、どのユーザーがファイルを所有する必要があるかを知っている場合

    find / -user someuser -newer stamp
    

find/変更が発生した特定のサブディレクトリの最上位検索パスを絞り込むことができない場合、このコマンドを実行するのにかなり長い時間がかかることがあります。また、find上記のコマンドで生成されたすべてのパス名に注意してください。実行中の特定のプログラムに触れていない可能性があります。。ファイルが生成された後、他の多くのプログラムが実行されている可能性があり、stampファイルを作成または変更した可能性があります。

おすすめ記事