Я часто ищу файлы в моей файловой системе, используя команду tree
и grep
, или команду find
, но недавно я загрузил некоторый контент с сайта, но забыл, где я его сохранил, сейчас Я знаю, что это сумма SHA256, но я не знаю его имени и не знаю его содержимого. Так есть ли способ поиска в моей системе, чтобы найти какие-либо файлы, которые соответствуют этой конкретной хэш-сумме? И если нет простого встроенного способа, может кто-нибудь предложить сценарий, который позволил бы мне выполнить эту задачу?
Информация об ОС:
Description: Ubuntu 15.04
Release: 15.04
Используйте это:
#!/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
.