![ファイルが重複しているが名前が異なるかどうかはどうすればわかりますか? [コピー]](https://linux33.com/image/167987/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E9%87%8D%E8%A4%87%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8C%E5%90%8D%E5%89%8D%E3%81%8C%E7%95%B0%E3%81%AA%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%8F%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
自分のコンピュータに異なるファイル(たとえば、内容は同じですが名前が異なるファイル)があるかどうかは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 サポート。
これ地図時間親切にお手伝いしてご案内いたします ;)