bash md5sum コマンド
-
Bash
md5sum
コマンド -
Bash で一度に複数のファイルで
md5sum
を使用する -
md5sum
を使用して Bash で変更されたファイルを表示する -
md5sum
を使用して Bash で無効なハッシュ値を特定する -
Bash でファイル名なしで
md5sum
出力を取得する
このチュートリアルでは、Bash で md5sum
コマンドを使用する方法を示します。
Bash md5sum
コマンド
md5sum
コマンドは、指定されたファイルの 32 文字と 128 ビットのチェックサムを出力します。 このコマンドは、MD5 アルゴリズムを使用してファイルをハッシュに変換します。 このコマンドの構文は次のとおりです。
md5sum [OPTION]... [FILEPATH]...
次の内容のテキスト ファイルに対して単純な md5sum
コマンドを実行してみましょう。
Hello! this is md5sum command checking from delftstack.com
ファイル名は delftstack1
です。 このファイルの md5sum
コマンドは次のようになります。
md5sum delftstack1.txt
上記のコマンドは、ファイル delftstack1.txt
を md5
ハッシュに変換します。 結果を参照してください。
7a09013df4a60cc5eda609d03008c547 delftstack1.txt
--tag
オプションを使用して、この出力を BSD 形式で表示することもできます。
md5sum --tag delftstack1.txt
このコマンドの出力は次のようになります。
MD5 (delftstack1.txt) = 7a09013df4a60cc5eda609d03008c547
md5sum
には、使用できるさまざまなオプションがあります。 下の表を参照してください。
左の列 | 右の列 |
---|---|
-b |
バイナリ モードで結果を読み取るために使用されます。 |
-c |
指定されたファイルから MD5 を読み取り、チェックするために使用されます。 |
–tag |
BSD スタイルのチェックサムで出力を取得するために使用されます。 |
-t |
デフォルトでもテキストモードで読むために使用します。 |
–ignore-missing |
欠落ファイルのレポート ステータスを無視するために使用されます。 |
–quiet |
検証に成功した各ファイルの OK の出力を停止するために使用されます。 |
–status |
ステータス コードが成功を示す出力を停止するために使用されます。 |
–strict |
不適切にフォーマットされたチェックサム ファイルを非ゼロから終了するために使用されます。 |
-w |
不適切にフォーマットされたチェックサム ファイルについて警告するために使用されます。 |
md5sum
コマンドは、複数のファイルに対して一度に md5
を使用する、変更されたファイルのみを表示する、無効なハッシュ値を識別するなど、さまざまな方法で使用できます。
Bash で一度に複数のファイルで md5sum
を使用する
md5sum
を使用して、複数のファイルを同時に検証することもできます。 さらに 2つのテキスト ファイルを作成し、3つのファイルすべてを一度に検証してみましょう。
delftstack2.txt
:
Hello! this is md5sum command checking from delftstack.com file 2
delftstack3.txt
:
Hello! this is md5sum command checking from delftstack.com file 3
一度に複数のファイルのハッシュを取得するコマンドは次のとおりです。
md5sum delftstack1.txt delftstack2.txt delftstack3.txt > hashes
上記のコマンドは、ファイルをハッシュに変換するだけで、出力は表示しません。 出力を表示するには、次のコマンドを実行する必要があります。
md5sum --check hashes
上記のコマンドは、ファイルが正常にハッシュに変換されたかどうかを示します。 出力を参照してください。
delftstack1.txt: OK
delftstack2.txt: OK
delftstack3.txt: OK
md5sum
を使用して Bash で変更されたファイルを表示する
md5sum
コマンドは、複数のファイルに md5sum
を適用しながら、変更されたファイルを表示することもできます。 まず、ファイルを変更するには、次のコマンドを使用します。
echo "!" >> delftstack1.txt
上記のコマンドは、ファイル delftstack1.txt
を変更します。 次に、md5sum
オプションを使用して、変更されたファイルを表示しましょう。
次のコマンドを参照してください。
md5sum --quiet --check hashes
上記のコマンドは、変更されたファイルを検索し、出力に名前を出力します。 出力を参照してください。
delftstack1.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
md5sum
を使用して Bash で無効なハッシュ値を特定する
md5sum
コマンドをオプション付きで使用して、無効なファイルを特定することもできます。 このために、-warn
オプションと sed
コマンドを使用して余分な文字を挿入し、ファイルを無効にします。
最初のコマンドを参照してください。
sed -i '1s/.*/a&/' hashes
上記のコマンドは、抽出文字を出力の最初の行に追加します。 このコマンドの出力を参照してください。
sed: -e expression #1, char 2: extra characters after command
次に、--warn
オプションを指定した md5sum
コマンドを使用して、無効なハッシュ値をチェックしてみましょう。 次のコマンドを参照してください。
md5sum --warn --check hashes
上記は、出力に無効なハッシュ値を持つファイルを表示します。 出力を参照してください。
delftstack1.txt: FAILED
delftstack2.txt: OK
delftstack3.txt: OK
md5sum: WARNING: 1 computed checksum did NOT match
Bash でファイル名なしで md5sum
出力を取得する
ご覧のとおり、md5sum
はファイル名を含むハッシュ出力を返しますが、さらに使用できるように、ファイル名なしで出力を取得する必要がある場合があります。 これに対する解決策は、テキスト処理、データ抽出、およびレポート ツールに使用されるドメイン固有の言語である awk
コマンドです。
次のポイントに従って、Bash でファイル名なしで出力を取得します。
- 出力を変数に割り当てます。
- まず、与えられたファイルに対して
md5sum
を実行し、awk
コマンドを使用して$1
を出力します。
次のコマンドを参照してください。
DemoMD5= md5sum delftstack1.txt | awk '{ print $1 }'
上記は md5sum
出力からのハッシュ出力のみを返します。
出力:
698ac7ad395a9c887b1abf3c9ded7abe
awk
コマンドを使用したくない場合は、ファイル名なしで md5sum
からハッシュ出力を直接取得できる別の方法があります。 md5sum
出力を配列に割り当ててから、出力します。
コマンドを参照してください。
DemoMD5=($(md5sum delftstack1.txt))
echo $DemoMD5
上記のコマンドは、md5sum
のファイル名なしでハッシュ出力も直接取得します。 出力を参照してください。
698ac7ad395a9c887b1abf3c9ded7abe
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook