ディスク領域を解放すぐに、システム内の重複ファイルを検索するには?

かどうかのWindows PCまたはLinuxコンピュータ、プロセスの使用は、多かれ少なかれ重複したファイルの多くを残します。これらの文書は、当社のディスクを取るだけでなく、私たちのシステム上でドラッグし、これらの重複したファイルを取り除くことが必要であるだけではなく。

6つの方法は、この記事では、あなたがすぐにハードディスク領域を解放することができ、重複したファイルを検索するシステムを紹介します!

1.ファイルを比較するためにdiffコマンド

二つの文書間の比較の中で、私たちの通常の操作では、おそらく使用する最も簡単な方法であるdiffコマンドを。diffコマンドの出力に使用する<>、我々は同じファイルを見つけることができます。この機能を使用し、シンボルが2つのファイルの違いを示しました。

差の2つのファイルが異なり、差分コマンドの出力点:

$ diff index.html backup.html
2438a2439,2441
> <pre>
> That's all there is to report.
> </pre>

あなたのdiffが何もコマンド出力しない場合は、同じ2つのファイルを意味します。

$ diff home.html index.html
$

しかし、欠点は、我々は複数のファイルを比較したい場合には、差分コマンドだけなので2が2の効率が非常に低くなければならない比較という、2つのファイルを比較することができるということです。

2.チェックサム

チェックサム・コマンドは、cksumファイルの内容に長い数(例えば2,819,078,353,228,029)を計算するために所定のアルゴリズムに基づきます。計算結果は絶対にユニークではありませんが、内容はほとんどのワールドカップに中国のサッカーチームと同じファイルのチェックサムと同じ可能性につながるものではないが。

$ cksum *.html
2819078353 228029 backup.html
4073570409 227985 home.html
4073570409 227985 index.html

私たちのような動作では、我々は、第2および第3のファイルのチェックサムが同じである見ることができるので、我々は、これら二つの文書が同じであると言うことができます。

3. findコマンド

findコマンドは、重複ファイルを検索するオプションはありませんが、名前やタイプと実行cksumのコマンドでファイルを検索するために使用することができますが。次のように具体的な動作です。

$ find . -name "*.html" -exec cksum {} \;
4073570409 227985 ./home.html
2819078353 228029 ./backup.html
4073570409 227985 ./index.html

4.コマンドfslint

fslintコマンドは、具体的に重複したファイルを見つけるために使用することができます。しかし、ここで私達はそれを開始位置を与える必要があることに注意してください。我々は多数のファイルを実行する必要がある場合は、コマンドは、検索を完了するのに長い時間がかかることがあります。

$ fslint .
-----------------------------------file name lint
-------------------------------Invalid utf8 names
-----------------------------------file case lint
----------------------------------DUPlicate files   <==
home.html
index.html
-----------------------------------Dangling links
--------------------redundant characters in links
------------------------------------suspect links
--------------------------------Empty Directories
./.gnupg
----------------------------------Temporary Files
----------------------duplicate/conflicting Names
------------------------------------------Bad ids
-------------------------Non Stripped executables

ヒント:私たちは、システムにインストールされている必要がありfslint、あなたはまた、検索パスに追加する必要があります。

$ export PATH=$PATH:/usr/share/fslint/fslint

5.コマンドrdfind

rdfindコマンドは、重複したファイル(同じ内容)を検索します。「冗長データの検索、」ファイルの日付に基づいて、どのファイルを決定するためのコマンドは、元の文書であると呼ばれ、それは新しいファイルを削除しますので、私たちにこれが役に立つの削除重複を選択します。

$ rdfind ~
Now scanning "/home/alvin", found 12 files.
Now have 12 files in total.
Removed 1 files due to nonunique device and inode.
Total size is 699498 bytes or 683 KiB
Removed 9 files due to unique sizes from list.2 files left.
Now eliminating candidates based on first bytes:removed 0 files from list.2 files left.
Now eliminating candidates based on last bytes:removed 0 files from list.2 files left.
Now eliminating candidates based on sha1 checksum:removed 0 files from list.2 files left.
It seems like you have 2 files that are not unique
Totally, 223 KiB can be reduced.
Now making results file results.txt

我々はまた、DRYRUNで実行することができます。

$ rdfind -dryrun true ~
(DRYRUN MODE) Now scanning "/home/alvin", found 12 files.
(DRYRUN MODE) Now have 12 files in total.
(DRYRUN MODE) Removed 1 files due to nonunique device and inode.
(DRYRUN MODE) Total size is 699352 bytes or 683 KiB
Removed 9 files due to unique sizes from list.2 files left.
(DRYRUN MODE) Now eliminating candidates based on first bytes:removed 0 files from list.2 files left.
(DRYRUN MODE) Now eliminating candidates based on last bytes:removed 0 files from list.2 files left.
(DRYRUN MODE) Now eliminating candidates based on sha1 checksum:removed 0 files from list.2 files left.
(DRYRUN MODE) It seems like you have 2 files that are not unique
(DRYRUN MODE) Totally, 223 KiB can be reduced.
(DRYRUN MODE) Now making results file results.txt

rdfindコマンドは、いくつかの空のファイル(-ignoreempty)を無視し、シンボリックリンクのオプション(-followsymlinks)に従うなどが挙げられます。その共通のオプションの以下の詳細な説明。

オプション 意味
-ignoreempty 空のファイルを無視します
-minsize 特定のサイズのファイル未満を無視
-followsymlink シンボリックリンクをたどります
-removeidentinode 同じinodeファイルの削除を参照
-checksum 使用されるチェックサムタイプ識別子
-deterministic ファイルをソートする方法を決定
-makesymlinks 重複したファイルがシンボリックリンクの変換
-makehardlinks ハードリンクと重複したファイルを置き換えます
-makeresultsfile カレントディレクトリに結果ファイルを作成します。
-outputname 結果は、ファイルの名前を提供します
-deleteduplicates 削除/リンク解除重複ファイル
-睡眠 セットの睡眠時間(ミリ秒)ファイルを読むために
-n、-dryrun 操作表示を実行する必要がありますが、実行はしません

ここでは、rdfindコマンドを使用提供し、ノートに必要な-deleteduplicates true一連の削除重複ファイルのオプションを選択します。名前が示すように、それは自動的に重複したファイルを削除するには、このオプションを使用します。

$ rdfind -deleteduplicates true .
...
Deleted 1 files.    <==

もちろん、我々はまた、システム上rdfindコマンドをインストールする必要があること。

6.コマンドfdupes

fdupesコマンドはまた、非常に簡単に重複したファイルを特定し、便利なオプションの数を提供することができます。次のように最も簡単な操作で、それは、一緒にファイルを複製します。

$ fdupes ~
/home/alvin/UPGRADE
/home/alvin/mytwin

/home/alvin/lp.txt
/home/alvin/lp.man

/home/alvin/penguin.png
/home/alvin/penguin0.png
/home/alvin/hideme.png

-r再帰の代わりにオプションは、それが重複したファイルを見つけるために、各ディレクトリで次の再帰的に使用すると述べました。しかし、Linuxに多くの重複したファイルが存在しているシステムが削除された場合、(例えば、ユーザの.bashrcのとの.profileファイルなど)が非常に重要な例外が発生します。

# fdupes -r /home
/home/shark/home.html
/home/shark/index.html

/home/dory/.bashrc
/home/eel/.bashrc

/home/nemo/.profile
/home/dory/.profile
/home/shark/.profile

/home/nemo/tryme
/home/shs/tryme

/home/shs/arrow.png
/home/shs/PNGs/arrow.png

/home/shs/11/files_11.zip
/home/shs/ERIC/file_11.zip

/home/shs/penguin0.jpg
/home/shs/PNGs/penguin.jpg
/home/shs/PNGs/penguin0.jpg

/home/shs/Sandra_rotated.png
/home/shs/PNGs/Sandra_rotated.png

fdupesは、次の表に示す一般的なオプションをコマンド:

オプション 意味
-r --recurse 再帰
-R --recurse 指定されたディレクトリを再帰的に
-s --symlinks-H --hardlinks シンボリックリンクディレクトリをフォロー
-H --hardlinks 重複リンクとハードリンク
-n --noempty 空のファイルを無視します
-f --omitfirst 一致する最初のファイルのそれぞれが省略されています
それ--nohidden 隠されたファイルを無視
-1 --smeline 単一の行に一致する同じリスト
-S --size ディスプレイ重複ファイルのサイズ
-m --summarize 概要重複ファイル情報
-q --quiet 進捗インジケータ
-d --delete ファイルを保存するようにユーザに促します
-N --noprompt --deleteと組み合わせて使用​​すると効果がない、コレクション内の最初のファイルを保持
-I --immediate 削除は顔でそれらを複製します
-p --permissions SONCIDERファイルのアクセス権は、別の所有者/グループ許可ビットを持っているか、重複などはありません
-o --order = WORD オーダーファイルWORDの仕様によると、
-i --reverse 並べ替えながら、逆の順序を逆に
-v --version ディスプレイのバージョンfdupes
-h --help ヘルプを表示します

概要

Linuxシステムは、すぐに重複したファイルのディスクを検索し、それらを削除するには、これらのツールを使用して、重複したファイルを見つけて削除するツールの多くを提供してくれます。私たちが共有に助けをもたらすことができるという希望〜

-----------------

徐梁世界のトップ500の外国Linuxの開発エンジニアは、Linuxのエバンジェリスト、私は公共の数「の注意歓迎梁徐Linuxの」乾燥品がいっぱいです!
→「ドライ技術プッシュ」
→「排他的な情報共有」
→「コミュニティをクリアする。」
あなたは私のトピックの内容に興味があるなら、あなたは私のブログに焦点を当てることができます。lxlinux.net

おすすめ

転載: www.cnblogs.com/yychuyu/p/12455007.html