Как искать файлы через хэш-суммы

Я часто ищу файлы в моей файловой системе, используя команду tree и grep, или команду find, но недавно я загрузил некоторый контент с сайта, но забыл, где я его сохранил, сейчас Я знаю, что это сумма SHA256, но я не знаю его имени и не знаю его содержимого. Так есть ли способ поиска в моей системе, чтобы найти какие-либо файлы, которые соответствуют этой конкретной хэш-сумме? И если нет простого встроенного способа, может кто-нибудь предложить сценарий, который позволил бы мне выполнить эту задачу?


Информация об ОС:

Description:    Ubuntu 15.04
Release:    15.04
3
задан 30 May 2015 в 17:02

1 ответ

Используйте это:

#!/bin/bash
saved='b3eeb9430063ee4db5f80b97d4dfb4c4f7667e6e58fd12f849a4ed6779b7f212'
find /home/user/ -type f | while IFS= read -r file; do
    [[ "$(sha256sum "$file" | cut -d' ' -f1)" == $saved ]] && echo "$file"
done
  • saved будет содержать hashsum файла, который Вы имеете

  • , Это найдет все файлы в /home/user/ (замените его местоположением (местоположениями), которое Вы хотите), и подкаталоги, и будет соответствовать их hashsums saved

  • , Если подобрано, это распечатает имя файла

Выполнение сценарий с помощью sudo в случае, если, если Вы хотите искать места, у Вас нет требуемых полномочий.

Примечание, что эта операция является вполне CPU, интенсивным, поскольку это вычислит хеши всех файлов и затем попытается соответствовать saved один. Я не знаю ни о каком автономном инструменте, который может achive, что Вы хотите, таким образом, это могло бы быть способом пойти, учитывая задачу и вход в руке.

Также примечание, что можно минимизировать сумму файлов, которые будут искаться путем применения соответствующих опций к find, например, если к файлу получили доступ в рамках использования прошлых 24 часов find /location -atime 0 -type f.

0
ответ дан 30 May 2015 в 17:02

Другие вопросы по тегам:

Похожие вопросы: