GNU/Linux >> Linux の 問題 >  >> Linux

Linuxで指定日より古いファイルを削除する方法

ご存知かもしれませんが、Linuxではrmコマンドを使用してファイルとフォルダーを削除します。削除するファイル名は、引数として rmに渡す必要があります 。ただし、 rm タイムスタンプに基づいてファイルを削除するなど、他のオプションを単独で提供することはありません。

そのため、Linuxではfindコマンドを使用します。このコマンドは、さまざまなパラメーターに基づいてファイルやフォルダーを検索するために使用されます。これは、ファイル名、サイズ、ファイルの種類などのパラメータで検索するために使用できる複雑なコマンドです。

検索コマンドにはオプションがあります 古いファイルに基づいてファイルを検索します。今日は、検索の使用方法を説明します。 およびrm 一緒に指定した日数より古いファイルを削除します。

N日より古いファイルを検索

引数'-atime'を使用します Nより古いファイルを検索するためのfindコマンドの例 日数、つまり、少なくとも Nより前に最後にアクセスされた日 日。

$ find <directory_path> -atime +<N>
$ find . -atime +3

現在、少なくとも4日前に最後にアクセスされたファイルが2つあります。 「統計」を使用しましょう ‘これを確認するコマンド:

$ stat tmp2 tmp3

ご覧のとおり、ファイルは 4 および5 それぞれ日齢。プログラムは、ファイルの古さを計算するときにタイムスタンプの小数部分を無視することに注意してください。したがって、たとえば、4日以上経過したファイルを指定する場合は、+3を指定します。 。

N日より古いファイルを削除する

最後に、rmコマンドを呼び出しましょう 引数'-exec'を使用 これらのファイルを削除します。

$ find . -atime +3 -exec rm {} \;

したがって、2つのファイル「 tmp2 」と「tmp3 ’が削除されました。

結論

この記事では、Linuxで指定された日数より古いファイルを削除する方法を見てきました。ご存知かもしれませんが、Linux(およびUnix)ファイルシステムでは、ファイルの作成時間は維持されません。ファイルに対して維持される3つのタイムスタンプは次のとおりです。最終アクセス時間、最終変更時間、および最終ステータス変更時間。

ここでは、ファイルを検索するための最後のアクセス時間を検討しました。ユーザーは、変更時間またはステータス変更時間も選択できます。オプション'-mtime'を使用するだけです。 または'-ctime' それぞれ、'-atime'の代わりに 、および残りの構文は同じままです。

読んでくれてありがとう!以下のコメントであなたの考えを教えてください!


Linux
  1. LinuxでX日より古いすべてのファイルを削除するにはどうすればよいですか?

  2. 30日より古いファイルを自動的に削除するcronジョブを作成するにはどうすればよいですか?

  3. Linuxで過去30日間に変更されたファイルを見つける方法は?

  1. find コマンドを使用せずに n 日より古いファイルを削除する方法

  2. Linux で特定の期間より古いファイルを見つけて削除する方法

  3. Linux で空のディレクトリとファイルを見つけて削除する方法

  1. LinuxでXサイズよりも大きいまたは小さいファイルを見つける方法

  2. x日より古いファイルまたはフォルダーを見つけて削除する

  3. Linuxで特定の日付より古いファイルを削除するにはどうすればよいですか?