fdupesを使用してLinuxで重複ファイルを見つけて削除する方法

大量のメディアやドキュメントを扱う場合、同じファイルの複数のコピーをコンピューターに蓄積することは非常に一般的です。必然的に、以下は冗長ファイルで満たされた雑然としたストレージスペースであり、システム上の重複ファイルの定期的なチェックを引き起こします。

この目的のために、重複ファイルを識別して削除するためのさまざまなプログラムがあります。そして、fdupesはたまたまLinux用のそのようなプログラムの1つです。したがって、fdupesについて説明し、Linuxで重複ファイルを見つけて削除する手順をガイドします。

fdupesとは何ですか?

Fdupesは、Linux上で重複ファイルを検索および削除するためのCLIベースのプログラムです。 GitHubのMITライセンスの下でリリースされています

最も単純な形式では、プログラムはmd5sumを介して指定されたディレクトリを実行し、ファイルのMD5署名を比較することによって機能します。次に、それらに対してバイトごとの比較を実行して、重複ファイルを識別し、重複が除外されていないことを確認します。

fdupesが重複ファイルを識別すると、それらを削除するか、ハードリンク(元のファイルへのリンク)に置き換えるかを選択できます。したがって、要件に応じて、それに応じて操作を続行できます。

Linuxにfdupesをインストールする方法は?

Fdupesは、Ubuntu、Arch、Fedoraなどのほとんどの主要なLinuxディストリビューションで使用できます。コンピューターで実行しているディストリビューションに基づいて、以下のコマンドを発行します。

UbuntuまたはDebianベースのシステムの場合:

 sudo apt install fdupes

Fedora / CentOSおよびその他のRHELベースのディストリビューションにfdupesをインストールするには:

 sudo dnf install fdupes

Arch LinuxとManjaroの場合:

 sudo pacman -S fdupes

fdupesの使い方は?

コンピュータにプログラムをインストールしたら、以下の手順に従って重複ファイルを見つけて削除します。

fdupesを使用した重複ファイルの検索

まず、ディレクトリ内のすべての重複ファイルを検索することから始めましょう。このための基本的な構文は次のとおりです。

 fdupes path/to/directory

たとえば、 Documentsディレクトリで重複フ​​ァイルを検索する場合は、次のコマンドを実行します。

 fdupes ~/Documents

出力:

fdupesが指定されたディレクトリで重複フ​​ァイルを検出すると、セットごとにグループ化されたすべての冗長ファイルのリストが返され、必要に応じてそれらに対してさらに操作を実行できます。

ただし、指定したディレクトリがサブディレクトリで構成されている場合、上記のコマンドはサブディレクトリ内の重複を識別しません。このような状況では、再帰検索を実行して、サブディレクトリ内に存在するすべての重複ファイルを見つける必要があります。

fdupesで再帰検索を実行するには、 -rフラグを使用します。

 fdupes -r path/to/directory

例えば:

 fdupes -r ~/Documents

出力:

上記の2つのコマンドは、指定されたディレクトリ(およびそのサブディレクトリ)内の重複ファイルを簡単に見つけることができますが、それらの出力には、長さがゼロ(または空)の重複ファイルも含まれます。

この機能は、システムに空の重複ファイルが多すぎる場合でも便利ですが、ディレクトリ内の空でない重複を見つけたいだけの場合は混乱を招く可能性があります。

幸い、fdupesでは、コマンドで使用できる-nオプションを使用して、検索結果から長さゼロのファイルを除外できます。

注:通常の検索と再帰的な検索の両方で、空でない重複ファイルを除外できます。

マシン上で空でない重複ファイルのみを検索するには:

 fdupes -n ~/Documents

出力:

重複ファイルの複数のセットを処理している場合は、後で参照できるように結果をテキストファイルに出力することをお勧めします。

これを行うには、次を実行します。

 fdupes path/to/directory > file_name.txt

…ここで、 path / to / directoryは、検索を実行するディレクトリです。

Documentsディレクトリで重複フ​​ァイルを検索し、出力をファイルに送信するには、次の手順に従います。

 fdupes /home/Documents > output.txt

大事なことを言い忘れましたが、ディレクトリ内の重複ファイルに関連するすべての情報の要約を表示したい場合は、コマンドで-mフラグを使用できます。

 fdupes -m path/to/directory

Documentsディレクトリの重複ファイル情報を取得するには:

 fdupes -m ~/Documents

出力:

fdupesの使用中はいつでも、コマンドまたは関数のヘルプが必要な場合は、 -hオプションを使用してコマンドラインヘルプ取得してください。

 fdupes -h

Linuxでfdupesを使用して重複ファイルを削除する

ディレクトリ内の重複ファイルを特定したら、システムからこれらのファイルを削除/削除して、煩雑さを解消し、ストレージスペースを解放できます。

重複ファイルを削除するには、コマンドで-dフラグを指定し、 Enterキーを押します。

 fdupes -d path/to/directory

ダウンロードフォルダ内の重複ファイルを削除するには:

 fdupes -d ~/Downloads

Fdupesは、そのディレクトリ内のすべての重複ファイルのリストを表示し、コンピュータに保持したいファイルを保持するオプションを提供します。

たとえば、セット1の最初のファイルを保持する場合は、fdupes検索の出力後に1入力し、Enterキーを押します。

さらに、必要に応じて、返された重複ファイルのセットに複数のファイルインスタンスを保存することもできます。このためには、重複ファイルに対応する番号をコンマ区切りのリストに入力して、Enterキーを押す必要があります。

たとえば、ファイル1、3、および5を保存する場合は、次のように入力する必要があります。

 1,3,5

重複ファイルのすべてのセットでファイルの最初のインスタンスを保持し、プロンプトを無視する場合は、次のコマンドに示すように、 -Nスイッチを含めることでこれを行うことができます。

 fdupes -d -N path/to/directory

例えば:

 fdupes -d -N ~/Documents

Linuxで重複ファイルを正常に削除する

ファイルの整理は、それ自体が面倒な作業です。それに加えて、重複ファイルが引き起こす問題があり、混乱したストレージを整理するために数時間の時間と労力が無駄になっています。

しかし、fdupesのようなユーティリティのおかげで、重複ファイルを識別して削除するのがはるかに簡単で効率的です。また、上記のガイドは、Linuxマシンでのこれらの操作を支援するはずです。

重複ファイルと同じように、ファイル内の重複した単語や繰り返される行も、処理するのにイライラする可能性があり、高度なツールを削除する必要があります。このような問題が発生した場合も、 uniqを使用してテキストファイルから重複行を削除できます。