不要なファイルを探す ファイル名・ファイルサイズ・ファイル更新日時

バイオインフォマティクスの解析では大きなファイルを扱うことが多いので、ストレージの管理には気を使います。ストレージの容量を確保するために、不要なファイルはこまめに削除(または他の場所へ移動・圧縮など)することが、もっとも簡単で確実な方法だと思います。

このようなファイル管理に必要な、「不要なファイルの検索」を簡単に行う方法を検討してみましょう。

どんなファイルを探すか?

スポンサーリンク



不要なファイルの条件をいくつか考えてみます。

  • 「.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/.... #直下のフォルダ群 省略

関連:ハードディスクの容量が足りないかも!と思ったら

スポンサーリンク



身の回りの不要なものにも着目!時間を無駄にしない生き方

たくさんのデータやファイル・モノに支配されているのは、PCの中だけでしょうか?たまには、身の回りの不要なものにも目を向けてみましょう。部屋の中やデスクまわりが散らかっていると時間の浪費につながります。

すっきり暮らすための時間とお金の使い方、考えてみませんか?


家事の時短や事前管理などは、意外とデータ管理のルール化のヒントになるかも?


私はモノが捨てれないので、こちらの本を参考にしています。場所毎の整理方法が良いです。思い切った「断拾離」もしやすくなりました。