かどうかの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