Использование команды «Найти»
Команда «find» позволяет вам искать файлы, для которых вы знаете приблизительные имена файлов. Простейшая форма команды ищет файлы в текущем каталоге и рекурсивно через свои подкаталоги, соответствующие заданным критериям поиска. Вы можете искать файлы по имени, владельцу, группе, типу, разрешениям, дате и другим критериям.
Ввод следующей команды в приглашении перечисляет все файлы, найденные в текущем каталоге.
find.
Точка после «find» указывает текущий каталог.
-name
аргумент. Вы можете использовать метасимволы имени файла (например,
*
), но вы должны либо поставить escape-символ (
) перед каждым из них или заключить их в кавычки.
Например, если мы хотим найти все файлы, начинающиеся с «pro» в каталоге Documents, мы будем использовать
cd Documents/
чтобы перейти в каталог «Документы», а затем введите следующую команду:
find. -name pro*
Все файлы в текущем каталоге, начиная с «pro», перечислены.
ПРИМЕЧАНИЕ. Команда find по умолчанию имеет чувствительность к регистру. Если вы хотите, чтобы поиск слова или фразы был нечувствительным к регистру, используйте
-iname
с помощью команды find. В этом случае нечувствительная версия
-name
команда.
find
не находит файлы, соответствующие вашим критериям, он не производит выход.
Команда find имеет множество опций для уточнения поиска. Для получения дополнительной информации о команде find выполните
man find
в окне терминала и нажмите Enter.
Использование команды Locate
Команда locate быстрее, чем команда find, потому что она использует ранее созданную базу данных, тогда как команда find выполняет поиск в реальной системе через все фактические каталоги и файлы. Команда locate возвращает список всех имен путей, содержащих указанную группу символов.
База данных периодически обновляется из cron, но вы также можете обновить ее самостоятельно в любое время, чтобы вы могли получать самые последние результаты. Для этого введите в командной строке следующую команду:
sudo updatedb
Введите пароль при появлении запроса.
locate mydata
Например, приведенная выше команда обнаружила два файла, содержащие «mydata» и один файл, содержащий «данные».
-b
с командой locate, следующим образом.
locate -b ‘mydata’
Обратная косая черта в приведенной выше команде является символом глобуса, который обеспечивает способ расширения подстановочных знаков в неспецифическом имени файла в набор определенных имен файлов. Подстановочный знак - это символ, который может быть заменен одним или несколькими символами при оценке выражения. Наиболее распространенными символами подстановочных знаков являются знак вопроса (
), который обозначает один символ и звездочку (
*
), который обозначает непрерывную строку символов. В приведенном выше примере обратная косая черта отключает неявную замену «mydata» на «* mydata *», поэтому вы получаете только результаты, содержащие «mydata».
Когда вы устанавливаете mlocate, бинарный файл / usr / bin / locate изменяется, чтобы указать на mlocate. Чтобы установить mlocate, если он еще не включен в ваш дистрибутив Linux, введите в командной строке следующую команду.
sudo apt-get install mlocate
ПРИМЕЧАНИЕ. В следующей статье мы покажем вам команду, которая позволяет определить, где находится исполняемый файл для команды, если он существует.
sudo /etc/cron.daily/mlocate
Команда mlocate не будет работать, пока база данных не будет создана вручную или при запуске скрипта из cron.
man locate
или же
man mlocate
в окне терминала и нажмите Enter. Тот же экран справки отображается для обеих команд.
Использование команды
Команда «which» возвращает абсолютный путь исполняемого файла, который вызывается при выдаче команды. Это полезно для определения местоположения исполняемого файла для создания ярлыка для программы на рабочем столе, на панели или в другом месте диспетчера рабочего стола. Например, ввод команды
which firefox
отображает результаты, показанные на изображении ниже.
-a
с командой:
which -a firefox
Вы можете одновременно искать несколько исполняемых файлов, как показано на следующем рисунке. Отображаются только пути к найденным исполняемым файлам.В приведенном ниже примере был найден только исполняемый файл «Äúps».
Для получения дополнительной информации о команде, введите, Äúman, который (без кавычек) в командной строке в окне терминала и нажмите Enter.
Использование команды Whereis
Команда whereis используется, чтобы узнать, где находятся файлы двоичной, исходной и служебной страниц для команды. Например, гостиницы
whereis firefox
в приглашении отображает результаты, как показано на следующем рисунке.
-b
вариант. Например, команда
whereis -b firefox
будет отображаться только
/usr/bin/firefox
в результате. Это удобно, потому что вы, скорее всего, будете искать исполняемый файл программы чаще, чем поиск исходных и справочных страниц для этой программы. Вы также можете искать только исходные файлы (
-s
) или только для страниц руководства (
-m
).
Для получения дополнительной информации о команде whereis введите
man whereis
в окне терминала и нажмите Enter.
Понимание разницы между командой Whereis и командой
Команда whereis показывает вам местоположение для двоичных, исходных и справочных страниц для команды, тогда как в той команде указывается только расположение бинарного файла для команды.
Команда whereis выполняет поиск по списку конкретных каталогов для двоичных, исходных и файловых файлов, тогда как команда ищет каталоги, перечисленные в переменной среды PATH текущего пользователя. Для команды whereis список конкретных каталогов можно найти в разделе FILES на страницах man для команды.
Когда дело доходит до результатов, отображаемых по умолчанию, команда whereis отображает все, что находит, а какая команда показывает только первый исполняемый файл, который он находит. Вы можете изменить это, используя
-a
вариант, обсужденный ранее, для какой команды.
Поскольку команда whereis использует только жесткие коды команд в команде, вы не всегда можете найти то, что ищете. Если вы ищете программу, которая, по вашему мнению, может быть установлена в директорию, не указанную на страницах man для команды whereis, вы можете захотеть использовать команду с
-a
возможность найти все вхождения команды в системе.