Поиск файла в Linux | Losst

Поиск файла в Linux

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

Существуют два типа поиска в Linux. Первый тип утилит производит живой поиск по файловой системе. Второй же тип индексирует файлы, а потом уже производит поиск файла в Linux по индексу. В этой статье мы рассмотрим оба типа, а вы уже сами выберете то, что вам подходит больше.

Поиск с помощью консольных утилит

Есть люди, которые ненавидят работу в терминале, а есть те, кому наоборот такой способ общения с системой нравится больше. Но мы рассмотрим как терминальные утилиты, так и графические.

find

Итак, самая важная команда поиска в Linux. Она ищет строку текста в соответствии с указанными параметрами в файлах и каталогах. Например:

$ find /home/username/Documents -iname “writ*” -type f

Такая команда будет искать файлы (-type f) без чувствительности к регистру (-iname) в каталоге Documents, название которых начинается с "writ". Так же вы можете искать файлы с определенным расширением. "*.pdf" найдет все PDF файлы в указанном каталоге.

Также с помощью операнда -empty можно искать пустые файлы. Еще можно искать файлы по времени модификации и весу. Утилита find поддерживает регулярные выражения, и если вы хотите выполнить поиск по содержимому Linux файлов, можете комбинировать команду find с grep. Чтобы узнать больше, прочитайте официальную документацию или введите в терминале эту команду:

$ man find

locate

Утилиту locate можно отнести ко второму типу средств для поиска в Linux. Команда locate опирается на базу данных, которая создана утилитой updatedb. Эта база данных также обновляется системным планировщиком cron. Этот способ поможет найти файлы, которые реально существуют в файловой системе. Базу данных вы можете обновлять и сами.

Команда locate позволяет выполнить поиск файла по имени Linux. Вы можете использовать различные регулярные выражения в запросе:

$ locate -ei grub.cfg

Параметр -e указывает, что поиск будет проводиться по всем существующим путям, ключ -i сообщает утилите locate о том, что не нужно учитывать регистр. Если вы не знаете полное название искомого файла, просто введите его часть, и в списке отобразятся все файлы, которые содержат в своем названии искомую строку.

whereis

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

Вы можете запускать утилиту whereis как без операндов, так и с ними. Ключ -b покажет нахождение бинарных файлов, -s - исходных файлов, -m - руководства.

Поиск с помощью файлового менеджера

Большинство файловых менеджеров умеет сортировать файлы или каталоги по имени и выполнять базовые запросы. Если вам не нужны никакие дополнительные параметры, то это самый быстрый и удобный метод.

Nautilus

Чтобы получить доступ к поисковой строке, нажмите Ctrl + F или на значок лупы на панели инструментов. Поисковые запросы нечувствительны к регистру, вы можете сортировать файлы и каталоги по типу и местоположению.

Dolphin

Для того, чтобы открыть поиск в файловом менеджере Dolphin, так же нажмите Ctrl + F или же найдите его в меню "Правка". Вы можете фильтровать файлы по имени, содержанию и размещению. Если вы включили индексацию файлов Baloo, то Dolphin сможет отфильтровать элементы по типу и дате изменения.

Krusader

Данная программа распространена среди пользователей KDE Plasma в качестве альтернативы Dolphin, так как Krusader имеет множество дополнительных опций. Данное приложение работает как GUI для вышеперечисленных утилит find и locate.

Krusader позволяет настроить множество фильтров, такие как тип файла, включенные и исключенные каталоги, размер, владелец и права доступа. Эта программа также может искать по ключевым словам, и вы даже можете использовать регулярные выражения для сужения поисковой выдачи. Если вы никогда не пробовали пользоваться программой Krusader, то обязательно стоит это попробовать.

Thunar

В файловый менеджер Thunar интегрирована поисковая утилита под названием Catfish. Вы можете сортировать файлы по имени, типу и дате изменения, можете выполнить поиск по содержимому Linux. Catfish может искать и по неполным именам файлов, так что вам не обязательно нужно помнить полное и точное название искомого файла.

Поиск с помощью лаунчеров

Обычно лаунчеры используются для запуска каких-либо приложений. Но вы можете превратить лаунчеры в утилиты для поиска, благодаря различным плагинам. Это очень удобно, стоит только попробовать.

Kupfer

Kupfer - это простой лаунчер, доступный в репозиториях таких дистрибутивов, как Debian, Ubuntu, Fedora и Arch Linux. Данная утилита поставляется с множеством плагинов, так что из Kupfer можно сделать прекрасный поисковый инструмент, который можно назвать GUI для утилиты locate. Этот инструмент может также создать свой каталог индексируемых директорий.

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

KRunner

KRunner - это стандартный лаунчер графического окружения KDE Plasma. Чтобы открыть этот лаунчер, нажмите Alt + F2. Если вы хотите настроить KRunner, то зайдите в раздел Plasma Search в системных настройках.

В KRunner также поддерживаются и плагины, которые помогут вам найти не только какие-либо файлы, но и вы сможете взаимодействовать с другими Linux приложениями и элементами окружения рабочего стола KDE Plasma. С помощью плагинов вы сможете искать статьи на Википедии, видео на YouTube, недавние документы и многое другое.

Albert

Разработчики данного лаунчера были вдохновлены лаунчером Alfred из macOS. Albert является достаточно простым приложением, но плагины превращают его в мощную утилиту.

Плагин "Files" индексирует директории, а сам лаунчер Albert производит поиск по индексу. Также имеется возможность поиска файлов при неполном его названии в запросе, еще вы можете выбрать типы файлов, которые будут проиндексированы. Чтобы выполнить поиск папки в Linux или какого-нибудь файла, запустите Albert сочетанием клавиш и начните вводить свой поисковый запрос.

Mutate

Это еще один лаунчер, разработчики которого были вдохновлены Alfred из macOS. Правда Mutate не имеет такого количества опций, как Albert, но он все равно имеет возможность поиска по типу и обычного файлового поиска. Также вы можете искать файлы по имени или же по расширению. Диалог настроек Mutate несколько необычен, так как он показывает, какие скрипты используются. Кроме ключевых слов и сочетаний клавиш вы настроить ничего не сможете.

Поиск с помощью специальных приложений

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

GNOME Search

Если вы не пользуетесь окружением рабочего стола GNOME и хотите иметь это приложение, то поищите "gnome-search-tool" в репозиториях вашего дистрибутива. GNOME Search работает поверх таких консольных утилит, как find, locate и grep, а также поддерживает регулярные выражения и неточный поиск. Вы можете совмещать несколько вариаций поиска, выбрав их из выпадающего меню и нажав на кнопку "Добавить".

KFind

KFind можно назвать аналогом GNOME Search для окружения рабочего стола KDE Plasma с некоторыми дополнительными опциями. Данное приложение умеет выполнять поиск по имени или содержанию файла. А если вы включили индексирование, то поиск будет выполняться по индексу, что ускорит процесс. Опции разделены на вкладки, последняя из них под названием "Свойства" позволяет находить файлы по размеру, дате изменения и владельцу. Кроме регулярных выражений поддерживаются вопросительные знаки для пропущенных букв в имени файла. Например, ваш поисковый запрос такой: "no?es", будет выполнен поиск по запросам "notes", "nodes", "noses" и так далее.

Unity Dash

Пользователи дистрибутива Ubuntu с окружением рабочего стола Unity знакомы с такой вещью, как Dash. Dash позволяет выполнить поиск файлов и директорий по таким параметрам, как имя файла, тип, дата модификации и размер. Также вы можете расширить функциональность с помощью различных расширений. Они интегрируют внешние сервисы в Dash. Это позволяет вам выполнять поиск по закладкам браузера, файлы из Google Docs, историю браузера и так далее.

SearchMonkey

SearchMonkey - достаточно старая, но удобная программа для поиска. В этом приложении вы можете использовать регулярные выражения, а программа даже поможет составить их. SearchMonkey поддерживает все необходимые параметры поиска: имя, время модификации, размер и содержимое файла. Также имеется возможность сузить поисковую выдачу в отдельных папках.

Вы можете экспортировать результаты поиска в файл *.CSV, ограничив при этом поисковую выдачу для каждого запроса.

DocFetcher

DocFetcher чаще всего используется для поиска не по имени файла, а по его содержимому. Это приложение подойдет студентам, исследователям и другим пользователям, чтобы выполнить поиск текста Linux в больших коллекциях документов. DocFetcher сначала создает базу файлов и каталогов, которые вы выберите. Эта база данных автоматически обновляется, когда DocFetcher узнает о модификации какого-либо файла.

При поиске вы можете сортировать выдачу по типу и размеру или же использовать регулярные выражения для детальных запросов. Данное приложение может выполнить поиск по содержимому файлов в форматах PDF, EPUB, HTML, RTF и офисных файлов. Также можно выполнить поиск по содержимому архивов в форматах ZIP, TAR, 7z и даже по содержимому писем Outlook.

Одним из преимуществ DocFetcher является то, что он портативный. Вы можете скопировать программу и базу данных на флеш-накопитель, а потом работать на другом компьютере.

Recoll

Recoll - это одна из самых мощных поисковых систем для Linux. Эта программа очень похожа на DocFetcher: он используется для поиска по содержимому. При первом запуске вам будет предложено проиндексировать файлы и каталоги. Вы сами можете выбрать, какие папки и типы файлов будут проиндексированы, также есть возможность поставить ограничение по размеру. Если вы активируете индексацию, то не забудьте настроить расписание обновления таким образом, чтобы база индексов всегда была синхронизирована с реальными файлами. Также имеется возможность создать несколько баз индексов и искать файлы и каталоги как по одной базе индексов, так и по всем.

Вы можете выполнять поиск по имени или же ключевым словам внутри файлов. Recoll позволяет фильтровать результаты по нескольким критериям. Также имеется возможность поиска похожих файлов, поиска по фразам в файлах и распознавания форм слова, благодаря стеммингу. Это означает, что если вы введете поисковый запрос, например, "work", в поисковой выдаче будут файлы, содержащие слова "workers", "worked", "working" и так далее.

В список поддерживаемых форматов входят обычные текстовые файлы, логи, man страницы, HTML, PDF, CHM, RTF, DJVU, EPUB, документы LibreOffice и Microsoft Office (включая Excel и PowerPoint), архивы TAR, RAR, 7z и ZIP.

Примечание: Могут потребоваться различные внешние библиотеки или вспомогательные утилиты для поддержки некоторых вышеперечисленных форматов.

Выводы

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

Источник: www.beebom.com

Редактор сайта losst.ru, увлекаюсь свободным программным обеспечением и изучаю программирование. Я использую на своём компьютере macOS.

Ваше имя тоже может быть здесь. Как? Пишите для нас! Смотрите подробнее как стать автором Losst.

Оцените статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (12 оценок, среднее: 5,00 из 5)
Загрузка...

  3 comments for “Поиск файла в Linux

  1. Апрель 6, 2017 at 7:18 пп

    Мне кажется, так же можно добавить grep из вашей же статьи, как поиск по содержимому в терминале и gnome shell ведь одна из основных фишек гнома, если честно то часто именно им все и нахожу, иногда в Nautilus и recoll тоже очень полюбился. А в терминале классически ‘find / -name ИмяФайла’.

  2. Апрель 7, 2017 at 6:57 дп

    Для терминала предпочитаю поиск из Midnight Commander. Тоже заслуживает упоминания в статье.

    • Апрель 7, 2017 at 7:33 пп

      Midnight Commander самая бесполезная вещь в линуксе, убейте, не для перфектов, для нудистов.

Добавить комментарий

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: