web-dev-qa-db-ja.com

md5sumチェック(ファイルなし)

そのため、シェルスクリプトを使用して数十のファイルをチェックしようとしています。ファイルチェックはさまざまな時間に行われます。

これを行う方法はありますか?

md5sum -c 24f4ce42e0bc39ddf7b7e879a File.name

またはさらに良いsha512sum

sha512sum -c 24f4ce42e0bc39ddf7b7e879a File.name

今私はこれをしなければなりません:

md5sum -c file.md5sums File.name

または、さらに良いことに、すべてのmd5sumを1つのファイルに入れて、次のように確認することもできます。

md5sum -c `sed 1p file.md5sums` File.name
md5sum -c `sed 2p file.md5sums` File.name
md5sum -c `sed 3p file.md5sums` File.name
md5sum -c `sed 4p file.md5sums` File.name

単一のエントリを含む数十のファイルがあるのはばかげているようです。

4
Jon17

スクリプトでこれを行う場合は、簡単な比較チェックを行うことができます。

if [ "$(md5sum < File.name)" = "24f4ce42e0bc39ddf7b7e879a  -" ]
then
  echo Pass
else
  echo Fail
fi

Md5sumからの出力と一致させるために必要な余分なスペースと-に注意してください。

きれいに見える場合は、これをワンライナーにすることができます

[[ "$(md5sum < File.name)" = "24f4ce42e0bc39ddf7b7e879a  -" ]] && echo Pass || echo Fail
2
Stephen Harris

複数のファイルでsha256sumを実行し、出力をテキストファイルに書き込んで、sha256sum -c sumfileを実行することができましたが、うまくいったようです。

$ sha256sum $(find /etc/ -maxdepth 1 -type f) > test.txt
$ sha256sum -c test.txt
...
/etc/statetab: OK
/etc/sysctl.conf: OK
/etc/system-release: OK
/etc/system-release-cpe: OK
/etc/termcap: OK
/etc/updatedb.conf: OK
/etc/vconsole.conf: OK
/etc/vimrc: OK
/etc/virc: OK
/etc/yum.conf: OK
...
$ sha256sum --version
sha256sum (GNU coreutils) 8.22
4
Zachary Brady

md5sumユーティリティは、GNU coreutilsコレクション内の他のすべての同様のユーティリティと同様に、チェックサムのファイルを取得し、ファイルシステム内の対応するファイルに対してこれらを検証できます。

次のようなチェックサムファイルを生成したとしましょう。

$ md5sum /etc/* >sums
$ cat sums
e55afe6e88abb09f0bee39549f1dfbbd  /etc/afpovertcp.cfg
279f7ab7d2609163e5034738b169238b  /etc/aliases
5c1ba75b6d9d8cf921ec83e2a54c9bb5  /etc/asl.conf
[...]
d41d8cd98f00b204e9800998ecf8427e  /etc/xtab
32d37eb59a7c3735635db329adad86d7  /etc/zprofile
4efb8dbeb8f46ca3879666b313a2607f  /etc/zshrc

次に、次のように、これらすべてのチェックサムを一度に確認できます。

$ md5sum -c sums
/etc/afpovertcp.cfg: OK
/etc/aliases: OK
/etc/asl.conf: OK
[...]
/etc/xtab: OK
/etc/zprofile: OK
/etc/zshrc: OK

私があなたを誤解していて、あなたがあなたのsumsファイルのいくつかのうち1つの特定のファイルをチェックしたいだけなら、私はこれをしたいと思います:

$ fgrep "/etc/xtab" sums | md5sum -c -
3
Kusalananda