uz
DF
июня 23, 2025
Обновлено июня 23, 2025

Краткая шпаргалка по Linux: Поиск

Linux

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

Поиск файлов по названию

  • find /path -name “*.log” — поиск файлов с определённым именем или шаблоном (например, всех файлов с расширением .log).
  • find /path -iname “file.txt” — поиск файла без учёта регистра.
  • find /path -type d -name “config” — поиск каталога с определённым именем.
  • find /path -type f -name “file” — поиск всех файлов, начинающихся на file.

Поиск файлов по размеру и дате

  • find /path -size +100M — поиск файлов больше 100 мегабайт.
  • find /path -size -10k — поиск файлов меньше 10 килобайт.
  • find /path -mtime -7 — поиск файлов, изменённых за последние 7 дней.
  • find /path -atime +30 — поиск файлов, которые не открывались более 30 дней.

Поиск строк в файлах

  • grep “pattern” file — поиск указанного шаблона в файле.
  • grep -i “pattern” file — поиск без учёта регистра.
  • grep -r “pattern” /path — рекурсивный поиск по каталогу и его подкаталогам.
  • grep -rnw . -e “pattern” — поиск строки в файлах внутри текущей директории и её поддиректорий.
  • grep -v “error” file — поиск строк, НЕ содержащих слово error.

Поиск и удаление файлов

  • find /path -name “*.tmp” -delete — найти и удалить временные файлы .tmp.
  • find /path -type f -empty -delete — удалить все пустые файлы.
  • find /path -type d -empty -delete — удалить все пустые каталоги.

Использование locate и whereis

  • locate file.txt — быстрый поиск файла с именем file.txt (требует базы updatedb).
  • updatedb — обновление базы данных locate (нужно запускать периодически).
  • whereis ls — поиск местоположения бинарного файла, исходников и документации команды ls.

Комбинирование поиска с командами

  • find /path -name “*.log” | xargs grep “error” — найти файлы .log и в них строки, содержащие error.
  • grep -r “function” /path | cut -d: -f1 | sort | uniq — найти все файлы с function, вывести их пути без дубликатов.

FAQ (Часто задаваемые вопросы)

Как ускорить поиск файлов? Используйте команду locate, она работает быстрее find, так как ищет в заранее обновлённой базе данных.

Как искать только в определённых файлах? Можно использовать grep с указанием расширения: grep -r –include=\*.txt “pattern” /path.

Как искать файлы с определёнными правами? Используйте find с -perm, например, find /path -type f -perm 644 найдёт файлы с правами 644.

Вывод

Знание команд поиска в Linux значительно облегчает работу с системой. Используйте find, grep и locate, чтобы быстро находить нужные файлы и строки в них. Комбинируя команды, можно создать мощные поисковые конструкции, экономящие время DevOps-инженеров и системных администраторов.

База знаний Serverspace

В базе знаний Serverspace вы найдете еще больше полезных шпаргалок, инструкций и руководств по Linux, администрированию серверов, облачным технологиям и DevOps. Здесь собраны статьи, которые помогут как новичкам, так и опытным специалистам эффективно работать с системами и автоматизировать задачи.

Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
100029 Ташкент Улица Якка Чинар, дом 2/1
ООО «ИТГЛОБАЛКОМ ЛАБС»

Вам также может быть интересно...