GNU/Linux >> Linux の 問題 >  >> Linux

巨大なディレクトリ ツリーを比較する最適な方法

ターミナルで使用できます

du -a

これにより、サイズを含むすべてのサブフォルダー内のすべてのファイルが返され、ファイルを比較するだけです

データをテキストファイルに保存するには

du -a > dump.txt

次に、 diff のようなものを使用できます ファイルを比較する

これはLinux用です:D


過去に MD5 ハッシュと diff を使用してツリーを比較しました。 遅い ただし、日付が信頼できない場合は、変更されたファイルが検出されます。また、ポータブルであるため、ネットワーク経由でファイルを比較する代わりにインデックスを転送できます。

find /path/to/check -type f | xargs md5sum > after.txt

diff before.txt after.txt > diffs.txt

Total Commander でそれを行う方法を少し拡張してみます (何をしたいのか理解できたと思います)。

  • DiskDir パッカー プラグインをインストールします (プラグインへの直接リンクを貼っておきます。必要に応じて、プラグイン ページに移動して DiskDir プラグインを探します
  • プラグインをインストールした後、変更を追跡したいディレクトリを Alt+F5 で「pack」し、ダイアログ ボックスの Packer 部分のドロップダウン リストから「lst」を選択します。これにより、ディレクトリを入力するように、Enter キーを押して入力できる「パッケージ」が作成され、ディレクトリの完全な内容が表示されます
  • 結果を比較するときは、左側のペインで元のディレクトリに移動し、右側のペインに目的のスナップショットを入力します
  • [コマンド] メニューにある [同期ディレクトリ] 機能を使用します
  • [ディレクトリの同期] ウィンドウで [内容による比較] のチェックを外し、[サブディレクトリ] と [日付を無視] にチェックを入れ (変更日が重要な場合はチェックしないでください)、比較を実行します
  • ウィンドウには、等しいファイル (この場合は内容ではなくサイズのみ)、異なるファイル、左側/右側にないファイルが表示されます

スナップショットはプレーン テキスト ファイルであり、コンテンツで比較していないため、高速であるはずですが、非常に巨大なディレクトリに使用したことはありません.

これは、バックアップを作成するのではなく、ある時点でのディレクトリの内容のスナップショットを作成したい場合に便利です。バックアップを作成する場合は、同じツール (ディレクトリの同期) を使用して内容を比較することもできます。

DiskDir プラグインの拡張バージョンもあります。ダウンロード リンクは最初の投稿にあります。このバージョンでは、パッケージ (zip、7z など) をスナップショットのディレクトリとして表示できます。もちろん、これによりスナップショットを作成する時間が増えます。


Linux
  1. ディレクトリとサブディレクトリ内のファイル数を見つける方法

  2. Linuxで巨大な(100-200GB)ファイルを削除する方法

  3. 各ディレクトリ内のファイル数を数える方法は?

  1. Linuxで特定のディレクトリまたは別のディレクトリにtarファイルを抽出する方法

  2. 2 つの tarball のコンテンツを比較する方法

  3. Linux でバイナリ ファイルを比較するにはどうすればよいですか?

  1. Linux:ファイルを比較せずにディレクトリ構造を比較する

  2. ソートされた順序でファイルを tar する方法は?

  3. ディレクトリ内の ._ ファイルを削除するには? Ubuntu