Comando Bash md5sum
-
Comando Bash
md5sum
-
Use
md5sum
en varios archivos a la vez en Bash -
Use
md5sum
para mostrar archivos modificados en Bash -
Use
md5sum
para identificar valores hash no válidos en Bash -
Obtenga la salida
md5sum
sin un nombre de archivo en Bash
Este tutorial demuestra cómo usar el comando md5sum
en Bash.
Comando Bash md5sum
El comando md5sum
imprime la suma de comprobación de 32 caracteres y 128 bits para el archivo dado. Este comando usa el algoritmo MD5 para convertir el archivo a hash; la sintaxis de este comando se encuentra a continuación.
md5sum [OPTION]... [FILEPATH]...
Intentemos ejecutar un comando simple md5sum
para un archivo de texto que tenga el siguiente contenido:
Hello! this is md5sum command checking from delftstack.com
El nombre del archivo es delftstack1
; el comando md5sum
para este archivo será:
md5sum delftstack1.txt
El comando anterior convertirá el archivo delftstack1.txt
en un hash md5
. Vea el resultado:
7a09013df4a60cc5eda609d03008c547 delftstack1.txt
También podemos mostrar esta salida en formato BSD utilizando la opción --tag
.
md5sum --tag delftstack1.txt
La salida de este comando será:
MD5 (delftstack1.txt) = 7a09013df4a60cc5eda609d03008c547
El md5sum
tiene muchas opciones diferentes que se pueden utilizar. Consulte la tabla a continuación.
Columnas de la izquierda | Columnas derechas |
---|---|
-b |
Se utiliza para leer el resultado en modo binario. |
-c |
Se usa para leer MD5 de archivos dados y luego verificarlos. |
–tag |
Se utiliza para obtener la salida en una suma de comprobación de estilo BSD. |
-t |
Úselo para leer en modo texto, que también es el predeterminado. |
–ignore-missing |
Se utiliza para ignorar el estado del informe de los archivos que faltan. |
–quiet |
Se utiliza para detener la impresión de OK para cada archivo verificado con éxito. |
–status |
Se usa para detener la salida de cualquier cosa en la que el código de estado muestre éxito. |
–strict |
Se utiliza para salir de un valor distinto de cero para los archivos de suma de comprobación que tienen un formato incorrecto. |
-w |
Se utiliza para advertir sobre los archivos de suma de comprobación que tienen un formato incorrecto. |
El comando md5sum
se puede usar de diferentes maneras, que incluyen usar md5
en varios archivos a la vez, mostrar solo los archivos modificados e identificar los valores hash no válidos.
Use md5sum
en varios archivos a la vez en Bash
El md5sum
también se puede utilizar para validar varios archivos simultáneamente. Vamos a crear dos archivos de texto más y luego intentar validar los tres archivos a la vez.
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
Ahora el comando para obtener el hash de varios archivos a la vez es:
md5sum delftstack1.txt delftstack2.txt delftstack3.txt > hashes
El comando anterior solo convertirá archivos a hash y no mostrará la salida. Para mostrar el resultado, necesitamos ejecutar el siguiente comando:
md5sum --check hashes
El comando anterior mostrará si los archivos se convirtieron con éxito a un hash. Ver la salida:
delftstack1.txt: OK
delftstack2.txt: OK
delftstack3.txt: OK
Use md5sum
para mostrar archivos modificados en Bash
El comando md5sum
también puede mostrar los archivos modificados mientras aplica md5sum
en varios archivos. En primer lugar, para modificar el archivo, utilice el siguiente comando:
echo "!" >> delftstack1.txt
El comando anterior modificará el archivo delftstack1.txt
. Ahora vamos a mostrar los archivos modificados usando las opciones md5sum
.
Ver el comando:
md5sum --quiet --check hashes
El comando anterior buscará archivos modificados e imprimirá el nombre en la salida. Ver la salida:
delftstack1.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
Use md5sum
para identificar valores hash no válidos en Bash
También podemos usar el comando md5sum
con opciones para identificar los archivos no válidos. Para esto, usamos la opción -warn
y el comando sed
para insertar caracteres adicionales para invalidar un archivo.
Ver el primer comando:
sed -i '1s/.*/a&/' hashes
El comando anterior agregará caracteres de extracto a la primera línea de la salida. Vea el resultado de este comando:
sed: -e expression #1, char 2: extra characters after command
Ahora vamos a verificar el valor hash no válido usando el comando md5sum
con las opciones --warn
. Ver el comando:
md5sum --warn --check hashes
Lo anterior mostrará el archivo con valores hash no válidos en la salida. Ver la salida:
delftstack1.txt: FAILED
delftstack2.txt: OK
delftstack3.txt: OK
md5sum: WARNING: 1 computed checksum did NOT match
Obtenga la salida md5sum
sin un nombre de archivo en Bash
Como podemos ver, el md5sum
devuelve la salida hash con su nombre de archivo, pero a veces es necesario obtener la salida sin un nombre de archivo para que podamos usarla más. La solución a esto es el comando awk
, un lenguaje específico de dominio utilizado para el procesamiento de texto, la extracción de datos y las herramientas de generación de informes.
Siga los siguientes puntos para obtener la salida sin un nombre de archivo en Bash:
- Asignaremos la salida a una variable.
- Primero, ejecutamos
md5sum
en el archivo dado, usamos el comandoawk
e imprimimos$1
.
Ver el comando:
DemoMD5= md5sum delftstack1.txt | awk '{ print $1 }'
Lo anterior solo devolverá la salida hash de la salida md5sum
.
Producción :
698ac7ad395a9c887b1abf3c9ded7abe
Si no desea utilizar el comando awk
, existe otro método en el que podemos obtener directamente la salida hash de md5sum
sin el nombre del archivo. Asignamos la salida md5sum
a una matriz y luego la imprimimos.
Ver los comandos:
DemoMD5=($(md5sum delftstack1.txt))
echo $DemoMD5
Los comandos anteriores también obtendrán directamente la salida hash sin el nombre de archivo para md5sum
. Ver la salida:
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