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

Вы можете использовать графический файл-менеджер для поиска файлов в Linux, например, Nautilus в Gnome,Dolphin в KDE KDE и Thunar в Xfce. Однако, есть несколько способов использовать командную строку для поиска файлов в любой Linux менеджере рабочего стола.

С помощью команды Find — Найти

Команда find позволяет вам искать файлы, для которых вы знаете примерный файл. Простейшая форма команды ищет файлы в текущем каталоге и рекурсивно через его подкаталоги, которые соответствуют критериям поиска. Вы можете искать файлы по имени, владельцу, группе, типу, правам доступа, дате и другим критериям.

Введите следующую команду в командной строке и будут перечислены все найденные файлы в текущем каталоге.

find.

Точка после «find.» указывает на текущий каталог.

Чтобы найти файлы, которые соответствуют определенному шаблону, используйте аргумент «-name» . Вы можете использовать файл метасимволов (такие как «*»), но вы должны либо положить Символ («\»), перед каждым из них или заключать их в кавычки.

Например, если мы хотим найти все файлы, которые начинаются с «pro» в каталоге документы, мы будем использовать команду «cd Documents/» (без кавычек) , чтобы перейти в каталог документов, а затем введите следующую команду .

-name pro\*

Все файлы в текущем каталоге, начинающиеся с «pro» появятся  в списке.

ПРИМЕЧАНИЕ: команда find по умолчанию, чтобы быть чувствительной к регистру.Если вы хотите найти слово или фразу, чтобы они были чувствительны к регистру, используйте вариант «, iname»  с командой  find. Это без учета регистра вариант «-name».

Если команда find не найдёт любые файлы, отвечающие Вашим критериям, она не произведёт никакого вывода.

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

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

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

База данных обновляется периодически командой cron , но вы также можете обновить её самостоятельно в любое время, так что вы можете получить последние результаты. Для этого введите следующую команду в командной строке.

sudo updatedb

Введите пароль.

Основная форма команды Locate находит все файлы в файловой системе, начиная с корней, которые содержат всё или любую часть критерия поиска.

locate mydata

Например, вышеприведенная команда обнаружила два файла, содержащих «MyData» и один файл, содержащий «data».

Если вы хотите найти все файлы или каталоги, которые содержат именно и только ваши критерии поиска, используйте «-b» с опцией команды Locate, следующим образом.

locate -b ‘\mydata’

Обратный слеш (‘\’) в приведенной выше команде подстановка характера, что дает возможность расширению подстановочных знаков в не специфических именах файлов в наборе конкретных имен. Маска это символ, который может быть заменён на один или несколько символов, когда испоьзуются выражения. Наиболее распространенный шаблон символов знак вопроса (?), Который выступает за один символ, а звездочка (*), что означает непрерывную строку символов. В приведенном выше примере, обратный слеш отключает неявные замены «MyData» на «* MyData *», поэтому в итоге вы получите результаты содержащие «MyData».

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

При установке mlocate, /usr/bin/locate/ бинарный файл изменений указывают на mlocate. Для установки mlocate, если он ещё не включен в дистрибутив, введите следующую команду в командной строке.

sudo apt-get install mlocate

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

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

sudo /etc/cron.daily/mlocate

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

Для получения дополнительной информации о каждой команде locate или команда mlocate, типа «man mlocate» или «man mlocate» (без кавычек) в командной строке в окне терминала и нажмите Enter. Такой же экран отображает помощь для обеих команд.

С помощью команды which

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

ПРИМЕЧАНИЕ: По умолчанию, команда which отображает только первые исполняемые соответствия. Чтобы отобразить все соответствующие исполняемые файлы, использовать вариант  «,»  с командой «which firefox.»  команда  станет «which -a firefox.».

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

ПРИМЕЧАНИЕ: исполняемый «ps»,  сообщает снимок текущего процесса, запущенного на вашем компьютере.

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

Дополнительные сведения о командах, типа «man which» (без кавычек) в командной строке в окне терминала и нажмите Enter.

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

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

Если вы хотите найти только путь к исполняемому файлу для отображения, а не путь к источнику, и тсраницу man (UAL), используйте вариант «-b» . Например, команда «Whereis-b Firefox» в качестве результата будет показывать только «/usr/bin/firefox» . Это удобно, потому что вы, скорее всего, будете выполнять поиск исполняемого файла программы чаще, чем вы будете искать источник и страницы для этой программы. Вы можете также искать только исходные файлы («-s») или только для страницы man   («-m»).

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

Понимание разницы между командами Whereis и Which

Команда Whereis показывает местоположение для двоичных источников, и страницы для команды, а команда which только показывает вам, где двоичные команды.

Команда Whereis делает поиск  по списку конкретной директории для двоичных источников, и man, тогда как файл, какая команда ищет в каталогах, перечисленных в переменной окружения PATH текущего пользователя. Для команды Whereis, перечень конкретных каталогов можно найти в разделе ФАЙЛЫ страницы man для команды.

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

Так как команда Whereis использует только  пути к жёсткому диску, вы не всегда можете найти то, что вы ищете. Если вы ищете программу,и вы думаете,что она может быть установлена в каталоге не указанном в справочной странице для команды Whereis, вы можете использовать, команду which с параметром «-«, чтобы найти все вхождения команды во всей системе.

 

2 комментариев к записи “Как найти файлы и папки в Linux с помощью командной строки.”

Оставить комментарий