インターネットからファイルをダウンロードするといった使い方をしていると、いろんな場所に同じファイルが存在するといった状況になることがある。まったく同じファイルを複数持っているとストレージの空き容量を圧迫する要因になる。そうした場合は、重複したファイルを見つけて削除することでストレージの空き容量を増やすことができる。

Tecmint.comに掲載された記事「2 Useful Tools to Find and Delete Duplicate Files in Linux」が、そうした目的で利用できるコマンドとしてrdfindおよびrdupesを紹介した。これらコマンドを利用することで重複するファイルを自動的に探し出し、削除したりハードリンクに置き換えるといったことを行うことができる。

紹介されている主な使い方は次のとおり。

コマンド 内容
rdfind ディレクトリパス 重複したファイルを調べる
rdfind -dryrun true ディレクトリパス 重複したファイルを調べるだけ
rdfind -makehardlinks true ディレクトリパス 重複したファイルをハードリンクに置き換え
rdfind -deleteduplicates true ディレクトリパス 重複したファイルを削除
fdupes ディレクトリパス 重複したファイルを調べる
fdupes -r ディレクトリパス 重複したファイルを再帰的に調べる
fdupes -S ディレクトリパス ファイルサイズを計算する
fdupes -m ディレクトリパス 調査結果をまとめて表示させる
fdupes -d ディレクトリパス 重複したファイルを削除する
  • fdupesコマンドの実行例

    fdupesコマンドの実行例

rdfindコマンドやrdupesコマンドを使うことで、重複したファイルを探すことができる。自動的に削除したりハードリンクに置き換えたりすることもできるが、ファイルの削除を伴う作業を行う場合は注意が必要だ。ファイルの内容がよくわからない場合は自動で処理するのではなく、手動で確認しながら削除するといった操作を行ったほうがよいだろう。