Так, *
для цієї команди потрібна зірочка . Погляньте на цей приклад.
Це двійковий файл, і скажімо, що правильне значення md5sum становить exampleofcorrectmd5value00000000
(32 шістнадцяткових знаків)
[root@Linux update]# ls -lh
total 137M
-rw-r--r-- 1 root root 137M Nov 5 13:01 binary-file.run.tgz
[root@Linux update]#
-c, - перевірити
прочитайте суми MD5 з ФАЙЛІВ та перевірте їх
Якщо значення md5sum збігається з двійковим файлом, ви отримаєте цей вихід
[root@Linux ~]# md5sum -c <<< "exampleofcorrectmd5value00000000" *binary-file.run.tgz"
binary-file.run.tgz: OK
[root@Linux ~]#
І це коли значення md5sum не збігається
[root@Linux update]# md5sum -c <<< "exampleofwrongmd5value0000000000 *binary-file.run.tgz"
binary-file.run.tgz: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match
[root@Linux update]#
Без зірочки *
ви отримаєте таке повідомлення про помилку, навіть вважаючи, що значення md5 правильне
[root@Linux ~]# md5sum -c <<< "exampleofcorrectmd5value00000000 binary-file.run.tgz"
md5sum: standard input: no properly formatted MD5 checksum lines found
[root@Linux ~]#
Крім того, ви отримаєте те саме повідомлення про помилку, якщо md5sum не має в ньому 32 шістнадцяткових символів. У цьому прикладі він містить лише 31 символ.
[root@Linux ~]# md5sum -c <<< "exampleofmd5valuelessthan32char *binary-file.run.tgz"
md5sum: standard input: no properly formatted MD5 checksum lines found
[root@Linux ~]#
Рішення для багатьох файлів
Якщо у вас є багато файлів і ви хочете автоматизувати процес, ви можете виконати наступні дії:
user@Ubuntu:~$ ls -lh
total 12K
-rw-rw-r-- 1 user user 4 Nov 5 14:54 file-a
-rw-rw-r-- 1 user user 4 Nov 5 14:54 file-b
-rw-rw-r-- 1 user user 4 Nov 5 14:54 file-c
user@Ubuntu:~$
Створіть md5sum для кожного файлу і збережіть його в md5sum.txt
user@Ubuntu:~$ md5sum * | tee md5sum.txt
0bee89b07a24ae27c83fc3d5951213c1 file-a
1b2297c171a9a450d184871ccf6c9ad4 file-b
7f4d13d9b0b6ac086fd68637067435c5 file-c
user@Ubuntu:~$
Щоб перевірити md5sum на всі файли, використовуйте наступну команду.
user@Ubuntu:~$ md5sum -c md5sum.txt
file-a: OK
file-b: OK
file-c: OK
user@Ubuntu:~$
Це приклад, якщо значення md5sum не відповідає файлу. У цьому випадку я збираюся змінити file-b
вміст
user@Ubuntu:~$ echo "new data" > file-b
user@Ubuntu:~$
Дивіться, це повідомлення про помилку. Сподіваюся, це допомагає.
user@Ubuntu:~$ md5sum -c md5sum.txt
file-a: OK
file-b: FAILED
file-c: OK
md5sum: WARNING: 1 computed checksum did NOT match
user@Ubuntu:~$