Menggunakan find
:
find /tmp/ -type f -exec md5sum {} + | grep '^file_md5sum_to_match'
Jika Anda mencari melalui /
maka Anda dapat mengecualikan /proc
dan /sys
melihat find
contoh perintah berikut :
Juga saya telah melakukan beberapa pengujian, find
membutuhkan lebih banyak waktu dan lebih sedikit CPU dan RAM di mana skrip ruby mengambil lebih sedikit waktu tetapi lebih banyak CPU dan RAM
Hasil tes
Menemukan
[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
Temukan dengan -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
Script Ruby
[root@dc1 ~]# time ruby findm.rb
File Found at: /tmp/file1
real 1m3.065s
user 0m2.231s
sys 0m20.706s