/ binとサブディレクトリのすべてのファイルをmd5sumし、bashスクリプトを使用してハッシュを確認するにはどうすればよいですか?

/ binとサブディレクトリのすべてのファイルをmd5sumし、bashスクリプトを使用してハッシュを確認するにはどうすればよいですか?

私は前に試しました

find /bin -type -f -exec md5sum {} + >>sum.md5 

ディレクトリ/binには複数のファイル形式が含まれていますが、上記は通常のファイルのチェックサムのみを返します。調べる方法はありますか?すべてのファイルそして以下で/bin実行してmd5sum チェックサムを確認しますか?

私が達成したいものの詳細は次のとおりです。/binサブディレクトリとすべてのファイルをmd5sumにバックアップold.md5して圧縮し、クラウドにアップロードします。たとえば、システムがクラッシュした後、クラウドから/binディレクトリをダウンロードして復元し、md5sumコマンドを再実行してnew.md5すべてのファイルのハッシュを含むファイルを作成しました。次に、new.md5ファイルをold.md5ファイルと比較して、ダウンロードまたはアップロードプロセス中にファイルに変更がないことを確認したいと思います。このスクリプトはハッシュ値を確認する必要があります。

完全なスクリプトが必要です。

ベストアンサー1

ディレクトリ以外のすべてのファイル検索を使用するには、findディレクトリを消去するテストを使用してください。

find -H /bin ! -type d -exec md5sum {} + >sum.md5

これはmd5sum、ユーティリティディレクトリの提供を回避しながら、シンボリックリンクを含む可能な限り多くのファイルに対して一括実行されます(警告を表示)。

この-Hオプションを使用するfindと、コマンドラインで提供されているすべてのシンボリックリンク、つまり/binシンボリックリンクであることを確認できます。

計算されたチェックサムを確認するには、を使用しますmd5sum -c sum.md5

おすすめ記事