Иллюстрированный самоучитель по Linux

Find, locate, whereis и grep

Locate

Если команда find выполняется слишком долго, можно попробовать воспользоваться командой locate. Эта команда сканирует базу данных файлов вашего компьютера, обновляемую раз в сутки. Алгоритм ее работы несколько отличается от алгоритма команды find, поскольку locate возвращает все файлы, в имени или названии каталога которого есть искомая строка.

Например, команда locate xauth породит следующий результат:

$ locate xauth
/home/mj/.xauth
/home/mj/.xauth/refcount
/home/mj/.xauth/refcount/root
/home/mj7.xauth/refcount/root/testlinux
/lib/security/pam_xauth.so
/usr/XllR6/bin/mkxauth
/usr/XllR6/bin/xauth
/usr/XllR6/man/manl/mkxauth.1x.gz
/usr/XllR6/man/manl/xauth.1x.gz
/usr/share/doc/pam-0.72/txts/README.pam_xauth
/usr/share/man/man8/pam_xauth.8.gz

Обратите внимание, что эта команда выдала полный путь для всех файлов и каталогов, имена которых включают строку "xauth," в том числе каталоги /home/mj /.xauth и /usr/X11R6/ bin/mkxauth, а также файл команды /usr/X11R6/bin/xauth.

Эта команда работает гораздо быстрее, чем аналогичная команда find. Причина состоит в том, что команда locate работает с базой данных файлов, обновляемой только раз в сутки. Но по этой же причине результаты поиска могут не соответствовать текущему положению вещей, ведь некоторые файлы после обновления базы могли быть перемещены, удалены или созданы.

Whereis

Если вы ищете команду с известным названием, воспользуйтесь whereis, чтобы найти, в каком каталоге расположена искомая команда, ее исходный код и соответствующая страница документации. В отличие от find или locate, здесь вам потребуется точное знание названия команды. Например, команда whereis fdisk выдаст следующий результат:

$ whereis fdisk
fdisk: /sbin/fdisk /usr/share/man/man8/fdisk,8.gz

Полученные сведения указывают, где расположена команда fdisk (/sbin/fdisk), а также где находится соответствующая страница документации. Поскольку местонахождение исходного текста команды fdisk не приведено, можно сделать вывод, что соответствующие файлы просто не установлены.

К недостаткам команды whereis можно отнести то, что она просматривает только каталоги, включенные в специальный список. По этой причине она не сможет найти новую команду или страницу руководства, которую вы только что инсталлировали.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.