locate принимает в качестве параметра имя файла (или часть имени) и моментально
выводит список путей до этого файла в файловой системе; альтернативой этой
программе является find, но разница между ними заключается в том, что find
производит поиск по файловой системе и требуется значительный период времени для
получения результата, а отличие в работе этих программ состоит в том, что locate
использует собственную базу данных для хранения имен файлов в то время, как find
исследует директории в поисках заданного параметром командной строки имени файла.
Команда locate является очень простой в использовании. Все, что вам нужно сделать,
это ввести имя файла, который вы хотите найти .
Может такое произойти что locate не найдет ничего а find найдет, причина в том
что база данных не обновлена, точнее последний раз она была обновлена перед тем
как был создан тот файл который нужно найти.
sudo updatedb обновить базу данных
locate "*text*" найти все файлы, которые имеют в своём названии строку "text"
locate –c "*file*" показать количество совпадающих записей
если файл был удален, но не была обновлена база данных, то поиск выдат что файл в базе есть,
но реально его нет, тут нужно или обновить базу(вопрос спорный) или выполнять поиск так
locate –e "*tosearch*"
locate –i "*file*" найти все файлы с совпадениями игнорируя регистр
locate -r /file$ искать точное имя файла (по умолчанию, когда ищите файл с помощью команды locate, то имя - это неявно заменяется на *file*)
locate -b "file" возвращать только файлы, содержащие сам запрос, вместо того чтобы выводить каждый файл, который содержит запрос в ведущих к нему каталогах
locate --statistics просмотреть статистику, занесенную командой locate в каталог
locate .php -n 10 вывести только 10 результатов поиска
locate -0 "file" указывает locate генерировать нулевые разделители вместо пробелов (поэтому он может обрабатывать имена файлов, которые содержат пробелы)
locate -eb0P "file" | xargs -r0 ls -ald вывести подробную информацию о файлах
sudo updatedb -o ~/new_locatedb.db создать новую базу данных в корне домашней директории
locate -d ~/new_locatedb.db "*file*" искать в указанной базе
locate -d ~/new_locatedb.db: "*file*" искать в указанной базе, и сделать поиск в ней по умолчанию :
Комментарии
Отправить комментарий