ファイルが重複しているが名前が異なるかどうかはどうすればわかりますか? [コピー]

ファイルが重複しているが名前が異なるかどうかはどうすればわかりますか? [コピー]

自分のコンピュータに異なるファイル(たとえば、内容は同じですが名前が異なるファイル)があるかどうかはfoo.pdfどうすればわかりますか?bar.pdf

答え1

うまくいくか教えてください(まもなくではありません)。

find /home/user -type f -name "*.pdf" -exec md5sum {} + 2> /dev/null | uniq -f2 -D

答え2

fdupes賢く聞こえますが、すべてのファイルを一緒に一致させます。一致させるファイルがすでに存在する場合は、同じテクノロジの一部をより最適に使用できます。

まず、ファイルサイズを取得してfoo.pdfから、find正しいサイズにのみ一致するコマンドを設定できます。これは安い最終候補リストでなければなりません。

次に、各ファイルから最初の数バイト(数百バイト)を切り取りますcmp -s

それでも重複する可能性があるファイルの場合は、これを行うことができcksumますmd5sum

ハードリンクのコピーが見つかった場合は、inode 番号が元のインデックス番号と異なることを確認できます。

答え3

これを使用して、fdupes別のディレクトリから重複ファイルを検索できます。デフォルト設定は、重複ファイルを空行で区切られたチャンクとしてリストすることです。

両方のファイルが同じディレクトリにある場合dir1

fdupes dir1

再帰検索の場合は-r/--recurseオプションを追加します。

fdupes -r dir1

複数のディレクトリを検索し、特定のディレクトリの再帰オプションを設定できます。

fdupes dir1 dir2 --recurse: dir3

答え4

rmlint -r

リント重複した項目を見つけ、必要に応じて選択的に削除できる非常に高速なツールです。

特徴

発見する…

  • ...重複ファイルと重複ディレクトリ。
  • ...削除されていないバイナリ(例:デバッグ記号付きのバイナリ)
  • ...シンボリックリンクが壊れています。
  • ...空のファイルとディレクトリ。
  • ...ユーザーまたはグループIDがファイルを破損しています。

他の冗長ファインダーとの違い:

  • とても速いスピード(誇張しない、約束します!)
  • 妄想モードはハッシュを信頼しない人のためのものです。
  • さまざまな出力フォーマット。
  • 相互作用はありません。
  • 特定のmtimeよりも最新のファイルのみを検索します。
  • 重複を処理する方法はいくつかあります。
  • キャッシュと再生。
  • btrfs サポート。

これ地図時間親切にお手伝いしてご案内いたします ;)

関連情報