31 votos

Calcular la suma de comprobación MD5 de un directorio

Estoy buscando una forma rápida para comparar los contenidos de los directorios. Es posible hacer un md5sum (o el equivalente de la suma de comprobación) de un directorio completo?

Usando Ubuntu Linux

38voto

Shane Madden Puntos 81409

Seguro - md5sum directory/*

Si usted necesita algo un poco más flexible (por ejemplo, para el directorio de la recursividad o la comparación de hash), intente md5deep.

apt-get install md5deep
md5deep -r directory

Para comparar una estructura de directorios, que se le puede dar una lista de hashes para comparar:

md5deep -r -s /directory1 > dir1hashes
md5deep -r -X dir1hashes /directory2

Esta es la salida de todos los archivos en directory2 que no coinciden para directory1.

Este no mostrará los archivos que han sido eliminados de directory1 o archivos que se han añadido a directory2.

28voto

JakePaulus Puntos 1737

Si quieres ver lo que es diferente (si algo) entre dos directorios, rsync sería un buen ajuste.

rsync --archive --dry-run --checksum --verbose /source/directory/ /destination/directory

Esto mostrará una lista de los archivos que son diferentes.

13voto

Dan D. Puntos 191

creo que he contestado esto antes con esta respuesta:

find . -xtype f -print0 | xargs -0 sha1sum | cut -b-40 | sort | sha1sum

da: b1a5b654afee985d5daccd42d41e19b2877d66b1

la idea es que todos los hash de los archivos de cortar el hash de cada uno en una línea, ordenarlos y hash, que cediendo un único hash. esto no depende de los nombres de los archivos.

5voto

Hubert Kario Puntos 4508

El cfv aplicación es bastante útil, no solo se puede comprobar y crear sumas de comprobación MD5, también puede hacer CRC32, sha1, torrent, par, par2.

para crear un archivo de suma de comprobación CRC32 para todos los archivos en el directorio actual:

cfv-C

para crear una suma de comprobación MD5 del archivo para todos los archivos en el directorio actual:

cfv-C-t-md5 f "directorio actual.de las sumas md5"

Para crear un archivo de suma de comprobación para cada sub-directorio:

cfv-C-r

Para crear un "super" de la suma de comprobación del archivo que contiene los archivos en todos los sub-directorios:

cfv-C-rr

3voto

jmservera Puntos 3239

Esto funcionó para mí: (mientras en el directorio en el que está interesado)

md5deep -rl . | awk '{print $1}' | sort -n | md5sum

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: