md5sumコマンドはmd5というアルゴリズムによって、128ビットのメッセージダイジェスト(ハッシュ値)を計算するコマンドのひとつです。
このメッセージダイジェストはファイルの分割や転送等で利用でき、ファイルが破損していないかどうかを確認することができます。
目次
md5sumコマンドの利用例
メッセージダイジェストの作成
(オプションなし)
md5sumコマンドはファイルを引数に取ります。このファイルからmd5sumコマンドはハッシュ値の計算を行い、メッセージダイジェストを作成することができます。実行結果の1列目は計算されたハッシュ値で、2列目がファイルのパスになります。
また、この実行結果をファイルに保存しておくことで、md5sumコマンドの-cオプションでファイルの同一性を確認することができます。
コマンド例
1 |
md5sum file.txt |
file.txt
1 |
md5sum command test |
実行結果
1 |
4bcf85c46067383b1e9c2f4f7d03aaf6 file.txt |
ファイルの同一性をチェック
(-cオプション)
計算されたメッセージダイジェストは、-cオプションで確認することができます。-cオプションを用いるとき、引数にはメッセージダイジェストの一覧を並べたファイルを指定します。この一覧のファイルはmd5sumコマンドで作成された出力結果が利用できます。
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 |
$ls -1 file1.txt file2.txt $ $md5sum file* > checksum $ $md5sum -c checksum file1.txt: 完了 file2.txt: 完了 |
file1.txtとfile2.txtと作成されたchecksumの内容
1 2 3 4 5 6 7 |
$cat file1.txt file1.txt $cat file2.txt file2.txt $cat checksum daa05c683a4913b268653f7a7e36a5b4 file1.txt 9bbe1047cffbb590f59e0e5aeff46ae4 file2.txt |
絶対パスでハッシュ値を計算した例
1 2 |
$md5sum $(readlink -f file1.txt) daa05c683a4913b268653f7a7e36a5b4 /home/ubuntu/test_md5sum/file1.txt |
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 |
$rm file1.txt $echo "line append" >> file2.txt $ $md5sum -c checksum md5sum: file1.txt: No such file or directory file1.txt: FAILED open or read file2.txt: 失敗 md5sum: 警告: 一覧にある 1 個のファイルが読み込めませんでした md5sum: 警告: 1 個の計算したチェックサムが一致しませんでした |
存在しないファイルはチェックしない
(--ignore-missingオプション)
--ignore-missingオプションは、-cオプションと組み合わせて利用することができます。--ignore-missingオプションを用いると、メッセージダイジェストを確認する際に存在しないファイルについては飛ばして、処理を行います。
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 |
$ls -1 checksum file1.txt file2.txt $ $rm file1.txt $ $md5sum --ignore-missing -c checksum file2.txt: 完了 |
file1.txtとfile2.txtと作成されたchecksumの内容
1 2 3 4 5 6 7 |
$cat file1.txt file1.txt $cat file2.txt file2.txt $cat checksum daa05c683a4913b268653f7a7e36a5b4 file1.txt 9bbe1047cffbb590f59e0e5aeff46ae4 file2.txt |
エラーメッセージのみを表示
(--quietオプション)
--quietオプションは-cオプションと組み合わせて利用できます。--quietオプションを用いるとエラーメッセージのみを表示し、ファイルの同一性の確認に成功したときは特にメッセージを表示しません。
コマンド例と実行結果
1 2 3 4 |
$md5sum --quiet -c checksum md5sum: file1.txt: No such file or directory file1.txt: FAILED open or read md5sum: 警告: 一覧にある 1 個のファイルが読み込めませんでした |
BSDスタイル出力
(--tagオプション)
--tagオプションを用いるとハッシュ値の出力をBSDスタイルで出力できます。
コマンド例と実行結果
1 2 3 |
$md5sum --tag file1.txt file2.txt MD5 (file1.txt) = daa05c683a4913b268653f7a7e36a5b4 MD5 (file2.txt) = 9bbe1047cffbb590f59e0e5aeff46ae4 |
また、-cオプションでファイルの同一性を確認することができます。
コマンド例と実行結果
1 2 3 4 |
$md5sum --tag file1.txt file2.txt > bsdchecksum $md5sum -c bsdchecksum file1.txt: 完了 file2.txt: 完了 |