- Home
- linuxに関すること
- 不要なファイルを探す ファイル名・ファイルサイズ・ファイル更新日時
不要なファイルを探す ファイル名・ファイルサイズ・ファイル更新日時
バイオインフォマティクスの解析では大きなファイルを扱うことが多いので、ストレージの管理には気を使います。ストレージの容量を確保するために、不要なファイルはこまめに削除(または他の場所へ移動・圧縮など)することが、もっとも簡単で確実な方法だと思います。
このようなファイル管理に必要な、「不要なファイルの検索」を簡単に行う方法を検討してみましょう。
どんなファイルを探すか?
不要なファイルの条件をいくつか考えてみます。
- 「.bak」などの拡張子がついているもの
- サイズがとても大きいファイル(削除しなくても、場所移動や圧縮が必要)
- 古いファイル
ファイル検索で条件を指定できるのが、find
コマンドです。find
コマンドでは、ファイル名やサイズ・作成/更新日時などを指定して、ファイルやディレクトリを検索することができます。
ファイル名をキーワードにして探す
ファイル名をキーワードにして、指定したフォルダ(省略時は現在のフォルダ)以下を再帰的に検索します。ファイル名を指定する場合は、-name
オプションを指定します。
拡張子で検索
$ find -name "*.bak"
./work3/ccc.bak
./aaa.bak
拡張子で検索(検索フォルダを指定)
$ find work3/ -name "*.bak"
work3/ccc.bak
ファイル名で検索 先頭やキーワードを含む場合
$ find -name "test*" ./work3/test.bak $ find -name "*test*" ./work3/mytest.txt ./work3/test.bak
大きなファイルを指定して探す
ファイルサイズを条件に、指定したフォルダ以下を再帰的に検索します。ファイルサイズを指定する場合は、-size
オプションを指定します。指定する条件に+
をつけると「指定サイズ以上」、-
を指定すると「指定サイズ以下」を検索します。
$ls -l -h
973K a.vcf
86M b.zip
ファイルサイズが指定サイズ以上 50M
$find -size +50M
./b.zip
ファイルサイズが指定サイズ以下 3M
$find -size -3M
./a.vcf
作成/更新日を指定して探す
ファイルやディレクトリの更新日時を条件に、指定したフォルダ以下を再帰的に検索します。更新日時を指定する場合は、-mtime
オプションを指定します。作成日時を指定する場合は、-ctime
オプションを指定します。指定する条件に+
をつけると「日数以上」、-
を指定すると「日数以下」を検索します。
$ ls -ml #更新日を確認
1月 4 18:30 a.vcf
1月 15 15:17 b.zip
更新日が3日より前のファイル
ファイルだけを探す場合は、-type
オプションでf
を指定します。
$find -mtime +3
./a.vcf
作成日が約1年以内のディレクトリ
フォルダだけを検索したい場合は、-type
オプションでd
を指定します。

$ find -ctime -400 -type d
.
./fastx_bin
./bowtie2-2.0.2
./gffread
./gffread/.... #直下のフォルダ群 省略