Как найти файл или папку в Кали Линукс?

Графическим интерфейсом способен пользоваться каждый. Windows нас давно к тому приучила, отодвинув на задний план консольные возможности. Однако порой надо найти нужный файл, который, как оказывается, запрятан неизвестно куда. И здесь проводник часто просто не способен ничем помочь. Сегодня мы разбираем самые полезные команды поиска и локализации файлов и директорий в Кали. Есть немало способов, с помощью которых можно найти файл или папку в Кали Линукс (впрочем, как и в других версиях и сборках Линукс-систем), которые в Windows, например, недоступны.

Найти найти файл или папку в Кали Линукс: locate

Начинаем с самой популярной команды (локейт), которая под это и заточена.

locate имя-файла/папки

набранная в терминале, найдёт требуемое по имени, а также остальное с этим именем связанное. Так, если попробуете найти директорию root, терминал вам долго будет возвращать не только папку, но все вложенные в неё — корневую директорию — другие подпапки и файлы. Таким образом, это — самый базовый вариант команды поиска: поиск может вернуть не только полные совпадения, но и «вложения»  поискового слова в другие слова (ищете род — он покажет и брод, и бутерброд, причём со всеми расширениями — скрипты, папки и т.д). Команда locate, конечно, удобна тем, что понимает не только имя файла, но и его расширение. А значит, найти нужный файл в Кали можно будет и по имени, и по расширению, причём раздельно. Хотя, если ваше поисковое слово встречается часто, приготовьтесь ко множественной выдаче.

Но если вы уверены, что искомый файл не запрятан настолько глубоко, вы можете указать команде глубину шагов поиска:

locate -n 5 имя-файла/папки

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

locate -b \слово

locate -b firefox

Вот оба аргумента в одной команде:

найти файл в пределах первых пяти

Метод поиска locate требователен сразу к нескольким условиям. Во-первых, на просмотр директорий вам необходимы соответствующие права: без root прав содержимое одноимённой директории будет недоступно; во-вторых, поиск через locate чувствителен к регистру вводимых символов (как, впрочем, и остальные команды Кали и входящих в неё инструментов). В этом случае приготовьтесь к тому, что результат будет отличен от, казалось бы, аналогичного, а потому, вероятно, и не совсем корректен. И, наконец, в-третьих, что является самой непонятной чертой команды: база данных, в которой вы попытаетесь найти файл или папку в Кали Линукс при помощи этой команды, обновляется… ежедневно. Так что файл, созданный только что, до завтрашнего дня через locate не появится.

Эти условности, однако, можно обойти. Так вот, чтобы найти нужный файл, расширив зону поиска, включив туда оба регистра (и малый и большой), добавьте к locate флаг -i:

locate -i имя-файла/папки

терминал вернёт всевозможные результаты. Кроме того, нам доступна для скачивания и установки разновидность команды (в Кали моей сборки mlocate уже установлена)

apt-get install mlocate

После этого поиском через mlocate можно будет заниматься  в пределах своей учётной записи.

Как найти файл или папку в Кали Линукс: whereis

Вот эта команда («уериз«) используется для того, чтобы обнаружить бинарные файлы, файлы справки, исходники программы:

whereis firefox

команда whereis

Но и эту команду можно уточнить, попросив найти именно бинарник (как исполнительный файл в Windows) программы:

whereis -b firefox

Как найти файл или папку в Кали Линукс: which

Команда whichуитч«) возвращает точное расположение исполнительного файла, который вызывается при наборе команды из терминала. Она очень полезна для того, чтобы найти файл или папку в Кали Линукс с той целью, чтобы затем создать, например, ярлык для быстрого вызова программы или скрипта. Для того, чтобы попросить терминал показать все подходящие исполнительные файлы по вашему запросу, можно представить команду в виде:

which -a firefox

Команда ищет переменные только в пределах пользовательских прав.

команда whichis

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

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

Как найти файл или папку в Кали Линукс: find

Команда поиска find (файнд) в семействе Линукс вообще считается самой мощной. На фоне других команд она используется именно для поиска программ и утилит. Она будет рыскать везде в поисках вашего запроса. Файлы, которые она обнаруживает, будут отвечать следующим критериям:

  • дата и время создания или последних изменений
  • владелец
  • группа
  • разрешения на файл
  • размер

Основной синтаксис команды:

find <список-директорий-для-поиска> <опции> <выражение>

Так, если вы желаете найти файл или папку в Кали Линукс, начиная с главенствующих директорий root/директория с наименованием apache2, есть смысл начать поиск так:

find / -type f  -name apache2

где

  • / — директория, с которой поиск начинается
  • type — тип файла (в нашем случае флаг f) или обычный файл
  • name — название файла

команда find

У команды find замечен только один, но порой серьёзный минус — она медленная. Для регулярного пользования поиском с её помощью Кали должна быть установлена на мощной машине. Так что порой лучше уточнить директорию. Например,

find /etc -type f -name apache2

команда find в конкретной директории

А вот плюс по сравнению, например, с locate серьёзный: никаких похожестей — только точные совпадения. Но в таком случае стоит помнить о том, что у файлов есть расширения. Т.е. при поиске файла apache2 в выдаче не будет файла apache2.conf. Ограничение можно убрать, разбавив место там, где должно быть расширение, символами * , ? или [].

find /etc -type f -name 'apache2.*'

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

Как найти файл или папку в Кали Линукс: grep

Проводит расширенный поиск. Предназначена не только для поиска по имени файла, но и по его содержимому. Это своеобразный фильтр по ключевым словам. Он часто используется в тот момент, когда запрос является выходом из одной команды, переходя в этом запросе в другую (пайпинг). В Линукс так происходит часто — большинство команд и операций здесь происходит именно в терминале, а не через графический интерфейс.

ps aux

Запустите команду и увидите запущенные прямо сейчас на вашей Кали службы. Допустим, мне нужно вычленить одну из них. Опять же, пусть это будет apache2. Так запущен он или нет?

ps aux | grep apache2

команда grep

Это та же команда, что до того, но здесь я приказал «показать запущенные службы и вывести на grep, где я буду искать apache2; если служба работает — показать ТОЛЬКО её«. Grep отфильтрует остальные сервисы, что поможет здорово сэкономить время, вместо того, чтобы вручную просматривать весь список процессов.

Успехов.

Запись опубликована в рубрике Linux. Добавьте в закладки постоянную ссылку.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

девять + 8 =