ルートフォルダのコンテンツIDを確認する最速の方法は何ですか?

ルートフォルダのコンテンツIDを確認する最速の方法は何ですか?

いくつかの独自の解決策がありますが、実行するのに時間がかかりすぎます。

find "/home/user" -type d -printf "%P\n" | sort > "source_1d"
find "/mnt/home/user" -type d -printf "%P\n" | sort > "source_2d"
diff -u "source_1d" "source_2d"                                    # '-_d' means 'directories'

pat="/home/user"; rpt="\/home\/user"
find "$pat" -type f -print0 | sort -z | xargs -r0 sha256sum | sed -E "s/\s\s$rpt\//  .\//" | > "source_1f"
pat="/mnt/tra/home/user"; rpt="\/mnt\/tra\/home\/user"
find "$pat" -type f -print0 | sort -z | xargs -r0 sha256sum | sed -E "s/\s\s$rpt\//  .\//" | > "source_2f"
diff -u "source_1f" "source_2f"

2番目の部分を比較に使用された2番目のソースのディスクサイズ使用量の計算に置き換えることはできますか?それともext4が属するフォルダのサイズとサイズが同じであれば、同じ意味ではありませんか?

答え1

もう一つの方法は実行することですrsync --dry-run。その後、両方のツリーを確認して違いを出力します。

rsync --dry-run --checksum source destination

またはrsync信頼できる迅速な方法(修正時間とサイズ)。

rsync --dry-run source destination

または、使用可能な方法の中でどのチェックサムを使用するかを決定します--checksum-choice。また、違いに関する追加情報が必要な場合も追加できます--itemize

各ファイルの完全なチェックサムを実行すると、ファイル全体を読む必要があるため、速度が遅くなる可能性があることに注意してください。

答え2

使用hardlink -vn。望むよりhttp://manpages.ubuntu.com/manpages/bionic/man1/hardlink.1.htmlhardlink同じファイルを確認してリンクしますが、-nv同じファイルのみをリストします。

関連情報