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 можно отнести то, что она просматривает только каталоги, включенные в специальный список. По этой причине она не сможет найти новую команду или страницу руководства, которую вы только что инсталлировали.