エンジニア足立のコーディング日記

エンジニア足立のコーディング日記

RSS rm find 日数指定でファイルを一括削除

公開日:2012年10月16日
この記事を読むのに掛る所要時間: 142

最近、

linuxコマンドを操作する機会が増えたので、

メモ書き程度に作業内容を残していきます。

 

で、

まずはファイル削除についてです。

 

普段、特定の不要になったファイルやディレクトリを削除するだけであれば、

「rm -rf ファイル名」で事足りていたんですが、

今回は1ヶ月以上前のファイルを全て削除したい!!

 

そんな時には、

以下のようにfindを使えば一括でファイルを削除できるようです。

 

例えば、

find ./ -mtime +30 | xags rm -f

と打ち込みます。

 

簡単に使い方を説明すると、

「find 削除対象となるディレクトリ -mtime +日数 | xags rm -f」

ということです。

 

この「+日数」の部分を変更すれば、

希望の日にちよりも前のファイルを一括で削除出来るようです。

 

例えば、

1週間前より古いファイルを削除したい場合には「+7」としてやればいだけです。

 

因みに、

「+7」を「-7」にすると、

現時点から1週間以内に作成されたファイルを削除します。

 

また、

オプションに「-name」を付けてやれば特定のファイル名のみを削除、

「-type」を付けてやれば削除したいファイルの種類を指定してやれます。

 

例えば、

find ./ -mtime +30 -name “*.log” -type f | xags rm -f

としてやれば、

1ヶ月以上前のログファイルを一括で全て削除します。

 

あと、

いきなり削除するのが恐い場合には、

find ./ -mtime +30 -name “*.log” -type f | ls

としてやれば事前に削除するファイルの一覧を取得することもできます。

 

このページのTOPへ戻る

著者情報

足立 拓也(あだち たくや)
1980年生まれ。
出身:兵庫県丹波市。
趣味:ボクシングジム通い。
特技:歴史の話しをすること。
一言:頑張って面白いブログを書きます。

月別アーカイブ

  •  

    • [—]2018 (4)
    • [+]2017 (101)
    • [+]2016 (49)
    • [+]2015 (86)
    • [+]2014 (86)
    • [+]2013 (104)
    • [+]2012 (78)