Pregunta:
Tengo el md5sum
de un archivo y no sé dónde está en mi sistema. ¿Existe alguna opción fácil de find
para identificar un archivo en función de su md5
? ¿O necesito desarrollar un pequeño guión?
Estoy trabajando en AIX 6 sin las herramientas GNU.
Respuesta:
Usando find
:
find /tmp/ -type f -exec md5sum {} + | grep '^file_md5sum_to_match'
Si busca en /
, puede excluir /proc
y /sys
consulte el siguiente ejemplo de comando de find
:
También hice algunas pruebas, find
toma más tiempo y menos CPU y RAM donde el script ruby está tomando menos tiempo pero más CPU y RAM
Resultado de la prueba
Encontrar
[root@dc1 ~]# time find / -type f -not -path "/proc/*" -not -path "/sys/*" -exec md5sum {} + | grep '^304a5fa2727ff9e6e101696a16cb0fc5'
304a5fa2727ff9e6e101696a16cb0fc5 /tmp/file1
real 6m20.113s
user 0m5.469s
sys 0m24.964s
Encontrar con -prune
[root@dc1 ~]# time find / \( -path /proc -o -path /sys \) -prune -o -type f -exec md5sum {} + | grep '^304a5fa2727ff9e6e101696a16cb0fc5'
304a5fa2727ff9e6e101696a16cb0fc5 /tmp/file1
real 6m45.539s
user 0m5.758s
sys 0m25.107s
Guión Ruby
[root@dc1 ~]# time ruby findm.rb
File Found at: /tmp/file1
real 1m3.065s
user 0m2.231s
sys 0m20.706s