Aquí hay algunas líneas de comando que pueden ayudar a encontrar un archivo a partir de su digest SHA1. Digamos que el archivo que estamos buscando es MacOSXUpdCombo10.7.2.dmg
.
# almacenar el tamaño del archivo buscado
size=`/bin/ls -l MacOSXUpdCombo10.7.2.dmg | awk '{print $5}'`
# almacenar el digest del archivo buscado
sha1=`/usr/bin/openssl sha1 MacOSXUpdCombo10.7.2.dmg | awk '{print $2}'`
/usr/bin/sudo find / -type f -size ${size} -exec /usr/bin/openssl sha1 {} \; |
grep ${sha1}
Este find
se ejecutará en archivos simples y no directorios, sockets o archivos especiales. También se ejecutará solo en archivos del tamaño correcto, evitando así hacer un digest del Kernel o de tu biblioteca de iTunes y de un montón de pequeños archivos temporales.
Si estás seguro de que el nombre del archivo incluye la extensión correcta, este find podría ser acelerado aún más con la siguiente lista de argumentos:
/usr/bin/sudo find / -type f -name "*.dmg" -size ${size} -exec /usr/bin/openssl sha1 {} \; |
grep ${sha1}