- Поиск в Linux с помощью команды find
- Общий синтаксис
- Описание опций
- Примеры использования find
- Поиск файла по имени
- Поиск по дате
- По типу
- Поиск по правам доступа
- Поиск файла по содержимому
- С сортировкой по дате модификации
- Лимит на количество выводимых результатов
- Поиск с действием (exec)
- Чистка по расписанию
- Как выполнить поиск файлов и папок в Linux
- Поиск файла по имени при помощи утилиты locate
- Поиск в Linux при помощи утилиты find
- Поиск файла по имени
- Поиск файла по дате
- Поиск файла по размеру
- Поиск папки
- Поиск текста в Linux при помощи утилиты grep
- Поиск файлов в Linux
- Поиск через графический интерфейс
- Главное меню
- Файловые менеджеры
- KFind
- SearchMonkey
- Recoll
- Поиск файлов через терминал. Команда find
- Поиск файлов по имени
- Поиск файлов по расширению
- Поиск файлов по типу
- Поиск файлов по размеру
- Поиск файлов по дате изменения
- Поиск файлов по правам доступа
- Поиск файлов по владельцу
- Поиск и удаление файлов
- Запись результатов поиска в файл
- Поиск файлов через терминал. Команда locate
- Поиск файлов через терминал. Команда grep
- Поиск файлов через терминал. Команда whereis
- Заключение
- Комментариев: 2
Поиск в Linux с помощью команды find
Утилита find представляет универсальный и функциональный способ для поиска в Linux. Данная статья является шпаргалкой с описанием и примерами ее использования.
Общий синтаксис
— путь к корневому каталогу, откуда начинать поиск. Например, find /home/user — искать в соответствующем каталоге. Для текущего каталога нужно использовать точку «.».
— набор правил, по которым выполнять поиск.
* по умолчанию, поиск рекурсивный. Для поиска в конкретном каталоге можно использовать опцию maxdepth.
Описание опций
Опция | Описание |
---|---|
-name | Поиск по имени. |
-iname | Регистронезависимый поиск по имени. |
-type | |
-size | Размер объекта. Задается в блоках по 512 байт или просто в байтах (с символом «c»). |
-mtime | Время изменения файла. Указывается в днях. |
-mmin | Время изменения в минутах. |
-atime | Время последнего обращения к объекту в днях. |
-amin | Время последнего обращения в минутах. |
-ctime | Последнее изменение владельца или прав на объект в днях. |
-cmin | Последнее изменение владельца или прав в минутах. |
-user | Поиск по владельцу. |
-group | По группе. |
-perm | С определенными правами доступа. |
-depth | Поиск должен начаться не с корня, а с самого глубоко вложенного каталога. |
-maxdepth | Максимальная глубина поиска по каталогам. -maxdepth 0 — поиск только в текущем каталоге. По умолчанию, поиск рекурсивный. |
-prune | Исключение перечисленных каталогов. |
-mount | Не переходить в другие файловые системы. |
-regex | По имени с регулярным выражением. |
-regextype | Тип регулярного выражения. |
-L или -follow | Показывает содержимое символьных ссылок (симлинк). |
-empty | Искать пустые каталоги. |
-delete | Удалить найденное. |
-ls | Вывод как ls -dgils |
Показать найденное. | |
-print0 | Путь к найденным объектам. |
-exec <> \; | Выполнить команду над найденным. |
-ok | Выдать запрос перед выполнением -exec. |
Также доступны логические операторы:
Оператор | Описание |
---|---|
-a | Логическое И. Объединяем несколько критериев поиска. |
-o | Логическое ИЛИ. Позволяем команде find выполнить поиск на основе одного из критериев поиска. |
-not или ! | Логическое НЕ. Инвертирует критерий поиска. |
Полный набор актуальных опций можно получить командой man find.
Примеры использования find
Поиск файла по имени
1. Простой поиск по имени:
find / -name «file.txt»
* в данном примере будет выполнен поиск файла с именем file.txt по всей файловой системе, начинающейся с корня /.
2. Поиск файла по части имени:
* данной командой будет выполнен поиск всех папок или файлов в корневой директории /, заканчивающихся на .tmp
3. Несколько условий.
а) Логическое И. Например, файлы, которые начинаются на sess_ и заканчиваются на cd:
find . -name «sess_*» -a -name «*cd»
б) Логическое ИЛИ. Например, файлы, которые начинаются на sess_ или заканчиваются на cd:
find . -name «sess_*» -o -name «*cd»
в) Более компактный вид имеют регулярные выражения, например:
find . -regex ‘.*/\(sess_.*cd\)’
* где в первом поиске применяется выражение, аналогичное примеру а), а во втором — б).
4. Найти все файлы, кроме .log:
find . ! -name «*.log»
* в данном примере мы воспользовались логическим оператором !.
Поиск по дате
1. Поиск файлов, которые менялись определенное количество дней назад:
find . -type f -mtime +60
* данная команда найдет файлы, которые менялись более 60 дней назад.
2. Поиск файлов с помощью newer. Данная опция доступна с версии 4.3.3 (посмотреть можно командой find —version).
а) дате изменения:
find . -type f -newermt «2019-11-02 00:00»
* покажет все файлы, которые менялись, начиная с 02.11.2019 00:00.
find . -type f -newermt 2019-10-31 ! -newermt 2019-11-02
* найдет все файлы, которые менялись в промежутке между 31.10.2019 и 01.11.2019 (включительно).
б) дате обращения:
find . -type f -newerat 2019-10-08
* все файлы, к которым обращались с 08.10.2019.
find . -type f -newerat 2019-10-01 ! -newerat 2019-11-01
* все файлы, к которым обращались в октябре.
в) дате создания:
find . -type f -newerct 2019-09-07
* все файлы, созданные с 07 сентября 2019 года.
find . -type f -newerct 2019-09-07 ! -newerct «2019-09-09 07:50:00»
* файлы, созданные с 07.09.2019 00:00:00 по 09.09.2019 07:50
По типу
Искать в текущей директории и всех ее подпапках только файлы:
* f — искать только файлы.
Поиск по правам доступа
1. Ищем все справами на чтение и запись:
find / -perm 0666
2. Находим файлы, доступ к которым имеет только владелец:
find / -perm 0600
Поиск файла по содержимому
find / -type f -exec grep -i -H «content» <> \;
* в данном примере выполнен рекурсивный поиск всех файлов в директории / и выведен список тех, в которых содержится строка content.
С сортировкой по дате модификации
find /data -type f -printf ‘%TY-%Tm-%Td %TT %p\n’ | sort -r
* команда найдет все файлы в каталоге /data, добавит к имени дату модификации и отсортирует данные по имени. В итоге получаем, что файлы будут идти в порядке их изменения.
Лимит на количество выводимых результатов
Самый распространенный пример — вывести один файл, который последний раз был модифицирован. Берем пример с сортировкой и добавляем следующее:
find /data -type f -printf ‘%TY-%Tm-%Td %TT %p\n’ | sort -r | head -n 1
Поиск с действием (exec)
1. Найти только файлы, которые начинаются на sess_ и удалить их:
find . -name «sess_*» -type f -print -exec rm <> \;
* -print использовать не обязательно, но он покажет все, что будет удаляться, поэтому данную опцию удобно использовать, когда команда выполняется вручную.
2. Переименовать найденные файлы:
find . -name «sess_*» -type f -exec mv <> new_name \;
find . -name «sess_*» -type f | xargs -I ‘<>‘ mv <> new_name
3. Вывести на экран количество найденных файлов и папок, которые заканчиваются на .tmp:
find . -name «*.tmp» | wc -l
4. Изменить права:
find /home/user/* -type d -exec chmod 2700 <> \;
* в данном примере мы ищем все каталоги (type d) в директории /home/user и ставим для них права 2700.
5. Передать найденные файлы конвееру (pipe):
find /etc -name ‘*.conf’ -follow -type f -exec cat <> \; | grep ‘test’
* в данном примере мы использовали find для поиска строки test в файлах, которые находятся в каталоге /etc, и название которых заканчивается на .conf. Для этого мы передали список найденных файлов команде grep, которая уже и выполнила поиск по содержимому данных файлов.
6. Произвести замену в файлах с помощью команды sed:
find /opt/project -type f -exec sed -i -e «s/test/production/g» <> \;
* находим все файлы в каталоге /opt/project и меняем их содержимое с test на production.
Чистка по расписанию
Команду find удобно использовать для автоматического удаления устаревших файлов.
Открываем на редактирование задания cron:
0 0 * * * /bin/find /tmp -mtime +14 -exec rm <> \;
* в данном примере мы удаляем все файлы и папки из каталога /tmp, которые старше 14 дней. Задание запускается каждый день в 00:00.
* полный путь к исполняемому файлу find смотрим командой which find — в разных UNIX системах он может располагаться в разных местах.
Источник
Как выполнить поиск файлов и папок в Linux
В качестве вступительного слова дадим некоторое описание того, как вообще можно совершать поиск в linux. Для этих целей есть множество программ, но некоторые из них уже стали классикой поиска в linux. Подчеркнем, в данной статье мы сконцентрируемся исключительно на linux. Это означает, что даже если вы встретите утилиты с теми же самыми названиями в Solaris или операционных системах на ядрах BSD, приведенные советы могут работать не всегда. Так же это относится к busybox, которая реализует лишь небольшую часть функциональности оригинальных утилит.
Итак встречайте героев сегодняшнего обзора: locate — предоставляет поиск по имени файла в заранее подготовленной базе данных, find — работает на реальной файловой системе и предоставляет невероятные возможности для поиска файлов и папок по различным параметрам. Также мы расскажем вскользь о grep — утилите для поиска текста в файлах.
Поиск файла по имени при помощи утилиты locate
Чтобы выполнить просто поиск файла по имени в Linux логичнее использовать команду locate — за счет заранее подготовленной базы она быстро выдаст нужный результат:
Если же вы получили сообщение о том, что команда не найдена, возможно её нужно установить. Для Debian-based дистрибутивов (Ubuntu, Mint) установить её можно командой:
# apt-get install mlocate
Пользователям RedHat, CentOS и Fedora стоит выполнить
# yum install mlocate
После установки нужно создать/обновить базу данных — файл, содержащий в себе «снимок» файловой системы, благодаря которому locate работает так быстро:
Т.е. вместо того, чтобы каждый раз проходиться по всей файловой системе, locate доверяет updatedb создать файл, содержащий в себе все имена и пути файловой системы, и выполняет поиск в нем. Важно поддерживать его актуальность, иначе вы можете случайно найти уже давно удаленные файлы, или не найти новые. Поэтому updatedb при инсталляции «вешается» на CRON и выполняется автоматически — вы можете в этом убедиться, посмотрев на файлы заданий CRON.
Поиск в Linux при помощи утилиты find
Куда более мощным и гибким инструментом для поиска файлов и папок в Linux выступает команда find. Её синтаксис упрощенно выглядит так:
find [path. ] [expression]
Поиск файла по имени
Чтобы выполнить в linux поиск файла по имени по всей файловой системе нужно ввести:
# find / -name myfilename
Учтите, что в данном случае поиск будет идти по имени файла в точности соответствующему заданному. Чтобы сымитировать поведение команды locate для find следует ввести:
# find / -name «*part_of_name*»
«*» означает любое количество любых символов. Это дает нам возможность также производить поиск файлов по расширению:
Поиск файла по дате
Вот пример того, как можно выполнить поиск в Linux файла по дате:
# find /home -mtime -5
Данная команды выведет все файлы из каталога /home, измененные не более 5-ти дней назад.
Поиск файла по размеру
А так, например, можно выполнит поиск файлов по размеру:
# find /home -size +1G
Данная команды выведет все файлы из каталога /home, имеющие размер более одного гигабайта. Очень удобно для поиска больших файлов в linux
Поиск папки
На самом деле поиск папки в linux ничем не отличается от поиска файла, так как папка — это файл. Однако find дает нам возможность указать тип. Например, чтобы явно выполнить поиск только папок, имена которых содержат слово, например, mysql, выполните
# find / -type d -name «*mysql*»
Здесь ключ «-type» указывает на тип. На текущий момент времени find поддерживает следующие типы:
- b — блочное устройство
- c — символьное устройство
- d — папка (дирректория)
- p — именнованный канал
- f — обычный файл
- l — символическая ссылка
- s — сокет
- D — дверь (только для Solaris)
Подробнее о различных параметрах поиска find вы можете почитать, введя команду
Поиск текста в Linux при помощи утилиты grep
Да, grep действительно очень хорош, когда речь заходит о поиске текста в файлах в linux по паттерну. Сразу оговоримся, что искать текст мы будем в файлах в формате plain text — чистый текст, таких как конфигурационные файлы, сценарии командного интерпретатора (bash. python, php. ) и др. Искать по файлам Word и Excel грепом эффективно вряд ли получится.
Итак, чтобы выполнить поиск строки по всем файлам в каталоге, например /etc следует ввести
# grep -lri root /etc/*
Такая команда выведет имена всех файлов, в которых удастся найти заветные 4 буквы «root». Здесь ключ «-l» заставляет grep выводить только имена файлов. Т.е. если вы хотите увидить ещё и ту саму строку, где удалось найти запрашиваемое слово, то «-l» стоит не указывать. Ключ «-r» выполняет поиск не только по /etc, но и по всем файлам во всех подпапках. И наконец ключ «-i» говорит не принимать во внимание регистр, т.е. grep будет искать не только слово «root», но и «ROOT», и «rOOt». Вы поняли
Конечно, вмемогущий grep поддерживает регулярные выражения. Чтобы выполнить, например, поиск строки, явно начинающийся всё с того же слова, введите
# grep -lri ^root /etc/*
Крышка в начале слова «root» обязывает grep выводит только те файлы, где слово «root» стоит в начале строки. И таких трюков достаточно много. Если вы еще не знакомы с regex, то стоит начать хотябы с википедии
Источник
Поиск файлов в Linux
Обновл. 4 Сен 2021 |
Каждое окружение рабочего стола в Linux имеет свой встроенный инструмент поиска файлов и папок. Но даже если по умолчанию такой инструмент отсутствует, то вы в любой момент можете его установить самостоятельно. Но как обстоят дела с поиском файлов из командной строки? Если вам часто приходится работать в терминале или администрировать Linux-серверы без графического интерфейса, к чему вы обращаетесь, когда вам нужно найти файл или папку? К счастью, в Linux имеются встроенные прямо в систему утилиты, которые помогут отыскать всё, что вам нужно.
Поиск через графический интерфейс
Главное меню
С помощью главного меню ОС вы можете не только искать и запускать программы, но также и выполнять поиск файлов. Подобный функционал присутствует во многих окружениях рабочего стола (KDE, GNOME, Xfce и пр.). Например, в KDE это представлено следующим образом:
При этом стоит отметить, что такой вариант поиска ориентирован больше на поиск программ, нежели на поиск файлов, поэтому выполняется он только в домашнем каталоге и не уходит вглубь файловой системы.
Файловые менеджеры
Многие файловые менеджеры также предоставляют возможности поиска файлов. Например, в Dolphin для запуска поиска достаточно просто нажать кнопку со значком лупы, а затем ввести имя файла (или папки) в строку поиска. При этом вы можете выбрать папку, в которой будет выполняться поиск, а также указать дополнительные параметры (поиск по содержимому и пр.). Помимо этого в качестве поискового запроса допускается применять символы ? и * :
Поиск по содержимому в Dolphin:
KFind
В KDE, помимо вышеупомянутых инструментов поиска, также есть замечательная утилита под названием KFind. С её помощью вы можете точно настроить параметры поиска (указать имя файла, его тип и путь поиска, обычный текстовый поиск или мета-поиск, дату изменения, размер, пользователя, группу и пр.). Она также позволяет сохранять результаты поиска в виде простого текстового списка URL-адресов найденных файлов:
SearchMonkey
SearchMonkey позволяет выполнять поиск файла, как по имени, так и по его содержимому, по диапазону дат и пр. Но главное преимущество SearchMonkey — это возможность везде применять регулярные выражения.
Поиск с применением регулярного выражения в SearchMonkey:
Recoll
Recoll — это приложение (поисковый движок) для полнотекстового поиска, выполняющее поиск ваших данных по содержимому, а не по внешним атрибутам (например, по имени файла). Вам не нужно запоминать, в каком файле или сообщении электронной почты вы хранили ту или иную информацию. Необходимо лишь указать слова (или выражения), которые должны или не должны присутствовать в искомом тексте, и взамен вы получите список соответствующих документов, упорядоченных таким образом, что первыми идут наиболее релевантные из них (подобно поисковым системам Интернета).
Установить программу можно из официальных репозиториев через командную строку:
sudo apt-get install recoll
Или через графический интерфейс:
Сразу же после запуска утилита предложит вам создать индекс документов, которые присутствуют в вашем домашнем каталоге. После создания индекса вы сможете выполнять по нему поиск. Для этого достаточно ввести какой-нибудь запрос, например, ravesli , и вы увидите все файлы, которые содержат это слово с примерами вхождений, отсортированные по релевантности:
Это может быть очень удобно при работе с большим объемом текстовых данных. Программа поддерживает такие форматы файлов, как: .pdf, .djvu, .doc, .docx, .odf. А также умеет находить перечисленные файлы в архивах.
Поиск файлов через терминал. Команда find
Команда find — производит поиск файлов и каталогов на основе заданного пользователем выражения и может выполнять назначенные пользователем действия над каждым найденным файлом.
Вы можете применять команду find для поиска файлов и каталогов на основе их разрешений, типа, даты, владельца, размера и многого другого. Она также может быть объединена с другими инструментами, такими как grep или sed .
Общий синтаксис команды find выглядит следующим образом:
find [опции] [путь. ] [выражение]
опции — аргументы, управляющие обработкой символьных ссылок, параметрами отладки и методом оптимизации;
путь — начальный каталог (или каталоги), в которых команда find будет искать файлы;
выражение — состоит из параметров, шаблонов поиска и действий, разделенных операторами.
Для выполнения поиска файлов в каталоге пользователь, применяющий команду find , должен иметь разрешения на чтение в этом каталоге.
Давайте рассмотрим следующий пример:
find -L /var/www -name «*.js»
опция -L — указывает команде find следовать по символическим ссылкам;
путь /var/www — задает каталог, в котором будет выполняться поиск;
выражение -name «*.js» — сообщает команде find искать файлы, заканчивающиеся на .js (расширение JavaScript-файлов).
Поиск файлов по имени
Поиск файлов по имени, вероятно, является наиболее распространенным применением команды find . Чтобы найти файл по его имени, используйте опцию -name , за которой следует имя файла, который вы ищете.
Например, для поиска файла document.pdf в каталоге /home/linuxize можно применить следующую команду:
find /home/linuxize -type f -name document.pdf
Чтобы выполнить поиск без учета регистра, замените -name на -iname :
find /home/linuxize -type f -iname document.pdf
Критериям поиска вышеприведенной команды будут соответствовать как Document.pdf, так и DOCUMENT.pdf и т.д.
Поиск файлов по расширению
Поиск файлов по расширению аналогичен поиску файлов по имени. Например, чтобы найти внутри каталога /var/log/nginx все файлы, заканчивающиеся на .log.gz, необходимо выполнить:
find /var/log/nginx -type f -name ‘*.log.gz’
Важно отметить, что шаблон поиска необходимо взять в одинарные кавычки, либо экранировать символ звездочки * обратной косой чертой \ , чтобы при использовании подстановочного знака он не интерпретировался командной оболочкой.
Чтобы найти все файлы, которые не соответствуют регулярному выражению *.log.gz вы можете использовать опцию -not . Например, чтобы найти все файлы, которые не заканчиваются на *.log.gz вы можете использовать:
find /var/log/nginx -type f -not -name ‘*.log.gz’
Поиск файлов по типу
Иногда вам может потребоваться выполнить поиск файлов определенного типа: обычные файлы, каталоги или символические ссылки. В Linux, как вы помните, всё является файлом.
Для поиска файлов по их типу используется параметр -type и один из следующих идентификаторов для указания типа файла в Linux:
f — обычный файл;
l — символьная ссылка;
c — символьные устройства;
b — блочные устройства;
p — именованный канал (FIFO);
Например, чтобы найти все папки в текущем рабочем каталоге, используйте:
Поиск файлов по размеру
Для поиска файлов по заданному размеру необходимо добавить параметр -size . Указание размера происходит с помощью следующих суффиксов:
b — 512-байтовые блоки (по умолчанию);
w — двухбайтовые слова;
Следующая команда найдет все файлы размером 1024 байта в каталоге /tmp:
find /tmp -type f -size 1024c
Команда find также позволяет искать файлы, размер которых больше или меньше заданного.
В следующем примере мы ищем в текущем рабочем каталоге все файлы размером менее 1 МБ. Обратите внимание на символ минуса — перед значением размера:
find . -type f -size -1M
Если вы хотите выполнить поиск файлов размером более 1 МБ, то вам нужно использовать символ плюса + :
find . -type f -size +1M
Вы даже можете искать файлы в пределах диапазона размеров. Следующая команда найдет все файлы размером от 1 до 2 МБ:
find . -type f -size +1M -size 2M
Поиск файлов по дате изменения
Команда find также может выполнять поиск файлов на основе даты их последнего изменения или времени доступа к ним.
Так же, как и при поиске по размеру, используйте символы + или — для критериев «больше» или «меньше».
Допустим, несколько дней назад вы изменили один из конфигурационных файлов dovecot, но забыли, какой именно. Вы можете легко отфильтровать все файлы в каталоге /etc/dovecot/conf.d, которые заканчивается на .conf и были изменены за последние пять дней:
find /etc/dovecot/conf.d -name «*.conf» -mtime 5
Вот еще один пример фильтрации файлов на основе даты изменения с помощью параметра -daystart . Следующая команда выведет список всех файлов в каталоге /home, которые были изменены 30 или более дней назад:
find /home -mtime +30 -daystart
Поиск файлов по правам доступа
Параметр -perm позволяет выполнять поиск файлов на основе прав доступа к ним.
Например, чтобы найти внутри каталога /var/www/ravesli все файлы с разрешением 644, вы должны использовать:
find /var/www/ravesli -perm 644
Рассмотрим следующий пример команды:
Данная команда найдет все файлы с разрешениями на чтение для пользователя, группы или других пользователей.
Если же в качестве префикса используется символ минуса — , то у найденных файлов должны совпадать все указанные биты. Следующая команда будет искать файлы, имеющие разрешение на чтение и запись для владельца и группы и доступные для чтения другими пользователями:
Поиск файлов по владельцу
Чтобы найти файлы, принадлежащие определенному пользователю или группе, применяются параметры -user и -group .
Например, для поиска всех файлов и каталогов, принадлежащих пользователю ravesli, вы должны выполнить команду:
find / -user ravesli
Вот еще один пример. Допустим, вы хотите найти все файлы, принадлежащие пользователю www-data, и изменить владельца соответствующих файлов с www-data на nginx. Вам нужно выполнить следующий набор команд:
find / -user www-data -type f -exec chown nginx <> \;
Поиск и удаление файлов
Чтобы удалить все совпадающие с поисковым запросом файлы, необходимо в конец поискового запроса добавить опцию -delete .
Прежде всего, убедитесь, что вы используете эту опцию только тогда, когда уверены, что результат поиска совпадает с теми файлами, которые вы действительно хотите удалить. Всегда полезно предварительно изучать список потенциально удаляемых файлов перед использованием опции -delete .
Например, чтобы удалить из каталога /var/log/ все файлы, заканчивающиеся на .temp, применяется следующий набор команд:
find /var/log/ -name *.temp -delete
Предупреждение: Используйте опцию -delete с особой осторожностью. Команда find вычисляется как выражение, и если вы добавите опцию -delete в начало данного выражения, то команда удалит всё в указанных вами папках.
Когда дело доходит до каталогов, команда find , как и команда rmdir , может удалять только пустые каталоги.
Запись результатов поиска в файл
Если вы заранее знаете, что поиск вернет большое количество найденных объектов, или хотите сохранить отображаемый результат для последующего неспешного ознакомления с ним, то вам поможет команда, записывающая найденную информацию в файл:
find /etc -type f -name «*.conf» > conf_search
Она производит поиск в каталоге /etc всех файлов, имеющих расширение .conf, и записывает результат в файл conf_search.
Поиск файлов через терминал. Команда locate
Команда locate считается устаревшей, т.к. она выполняет поиск не в реальном времени, подобно команде find , а только по ранее созданной базе файлов. Вы вводите слово, которое вас интересует, и команда выдает все известные ей файлы, имя которых содержит заданное слово. Команда locate поддерживает работу с регулярными выражениями. Например, чтобы найти все файлы, в имени которых содержится слово users, необходимо выполнить:
Стоит заметить, что если файл появился в системе уже после создания базы, то он не будет найден.
Иногда вам может потребоваться обновить базу данных, к которой обращается locate . Для этого необходимо ввести команду updatedb (её запуск производится от имени суперпользователя):
Поиск файлов через терминал. Команда grep
Команда grep может использоваться не только в роли фильтра для других команд, но и производить поиск файлов. Для этого необходимо задать параметр -r и указать папку, в которой следует искать текст. Предположим, что мы хотим найти в каталоге /var/log все файлы, которые содержат строку error:
sudo grep -r «error» /var/log
С помощью команды grep довольно легко проводить поиск нужной конфигурации или же проверять, не содержат ли файлы с кодом чего-нибудь подозрительного.
Поиск файлов через терминал. Команда whereis
Команда whereis выполняет только одну задачу — отображает местоположение исполняемого файла, переданного ей в качестве параметра. Например, для того, чтобы узнать, где находится исполняемый файл команды uname , достаточно выполнить:
Заключение
На этом уроке мы разобрали, как выполнить поиск файла в Linux различными способами: с помощью графического интерфейса или через терминал. Данный материал призван дать вам базовое понимание того, как выполнять поиск файлов в Linux-системах и показать, что существует множество различных вариантов, которые позволят вам решить любые задачи по поиску файлов и не только.
Поделиться в социальных сетях:
26 команд в Linux, которые должен знать каждый сисадмин
Комментариев: 2
Стоит добавить, что для обновления базы файлов, по которой осуществляется поиск с командой “locate”, есть команда “updatedb”.
А пакет, например, для Ubuntu или CentOS, в котором есть locate и updatedb — mlocate
Источник