Как найти файлы и папки в Linux с помощью командной строки

Оглавление:

Как найти файлы и папки в Linux с помощью командной строки
Как найти файлы и папки в Linux с помощью командной строки

Видео: Как найти файлы и папки в Linux с помощью командной строки

Видео: Как найти файлы и папки в Linux с помощью командной строки
Видео: Mac в качестве Wi-Fi точки доступа или как раздать интернет с Macbook. - YouTube 2024, Апрель
Anonim
Большинство людей используют графический файловый менеджер для поиска файлов в Linux, таких как Nautilus в Gnome, Dolphin в KDE и Thunar в Xfce. Однако есть несколько способов использования командной строки для поиска файлов в Linux, независимо от того, какой менеджер рабочего стола вы используете.
Большинство людей используют графический файловый менеджер для поиска файлов в Linux, таких как Nautilus в Gnome, Dolphin в KDE и Thunar в Xfce. Однако есть несколько способов использования командной строки для поиска файлов в Linux, независимо от того, какой менеджер рабочего стола вы используете.
Image
Image

Использование команды «Найти»

Команда «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 представляет собой новую реализацию локации. Он индексирует всю файловую систему, но результаты поиска включают только файлы, к которым имеет доступ текущий пользователь. Когда вы обновляете базу данных mlocate, она сохраняет информацию о временной отметке в базе данных. Это позволяет mlocate знать, изменилось ли содержимое каталога, не читая его содержимое, и делает обновление базы данных более быстрым и менее требовательным на вашем жестком диске.
Команда mlocate представляет собой новую реализацию локации. Он индексирует всю файловую систему, но результаты поиска включают только файлы, к которым имеет доступ текущий пользователь. Когда вы обновляете базу данных mlocate, она сохраняет информацию о временной отметке в базе данных. Это позволяет mlocate знать, изменилось ли содержимое каталога, не читая его содержимое, и делает обновление базы данных более быстрым и менее требовательным на вашем жестком диске.

Когда вы устанавливаете mlocate, бинарный файл / usr / bin / locate изменяется, чтобы указать на mlocate. Чтобы установить mlocate, если он еще не включен в ваш дистрибутив Linux, введите в командной строке следующую команду.

sudo apt-get install mlocate

ПРИМЕЧАНИЕ. В следующей статье мы покажем вам команду, которая позволяет определить, где находится исполняемый файл для команды, если он существует.

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

sudo /etc/cron.daily/mlocate

Команда mlocate не будет работать, пока база данных не будет создана вручную или при запуске скрипта из cron.

Для получения дополнительной информации о команде locate или mlocate введите
Для получения дополнительной информации о команде locate или mlocate введите

man locate

или же

man mlocate

в окне терминала и нажмите Enter. Тот же экран справки отображается для обеих команд.

Использование команды

Команда «which» возвращает абсолютный путь исполняемого файла, который вызывается при выдаче команды. Это полезно для определения местоположения исполняемого файла для создания ярлыка для программы на рабочем столе, на панели или в другом месте диспетчера рабочего стола. Например, ввод команды

which firefox

отображает результаты, показанные на изображении ниже.

По умолчанию какая команда выводит только первый соответствующий исполняемый файл. Чтобы отобразить все соответствующие исполняемые файлы, используйте
По умолчанию какая команда выводит только первый соответствующий исполняемый файл. Чтобы отобразить все соответствующие исполняемые файлы, используйте

-a

с командой:

which -a firefox

Вы можете одновременно искать несколько исполняемых файлов, как показано на следующем рисунке. Отображаются только пути к найденным исполняемым файлам.В приведенном ниже примере был найден только исполняемый файл «Äúps».

ПРИМЕЧАНИЕ. Команда, которая выполняет поиск только переменной PATH текущего пользователя. Если вы ищете исполняемый файл, доступный только для пользователя root как обычный пользователь, результаты не будут отображаться.
ПРИМЕЧАНИЕ. Команда, которая выполняет поиск только переменной PATH текущего пользователя. Если вы ищете исполняемый файл, доступный только для пользователя root как обычный пользователь, результаты не будут отображаться.

Для получения дополнительной информации о команде, введите, Äúman, который (без кавычек) в командной строке в окне терминала и нажмите Enter.

Использование команды Whereis

Команда whereis используется, чтобы узнать, где находятся файлы двоичной, исходной и служебной страниц для команды. Например, гостиницы

whereis firefox

в приглашении отображает результаты, как показано на следующем рисунке.

Если вы хотите, чтобы только отображаемый путь к исполняемому файлу отображался, а не пути к исходной и мужской (ual) страницам, используйте
Если вы хотите, чтобы только отображаемый путь к исполняемому файлу отображался, а не пути к исходной и мужской (ual) страницам, используйте

-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

возможность найти все вхождения команды в системе.

Рекомендуемые: