Незалежно від того, чи ви перевіряєте вихідний код, налагоджуєте проблеми з конфігурацією або шукаєте журнали, Linux пропонує потужні інструменти для пошуку файлів за їхнім вмістом, а нелише за назвою. За допомогою правильних утиліт командного рядка ви можете знайти точні рядки, шаблони або навіть багаторядкові збіги в тисячах файлів за лічені секунди.
У цьому розширеному посібнику ви дізнаєтеся, як шукати файли, що містять певний вміст, у Linux за допомогою таких інструментів, як:
grep
, find
, ack
, ripgrep
Змоделюємо робочий каталог з конфігураційними файлами.
grep -r "password" ~/test-config
. = поточний каталог
–тип f = тільки файли
–exec grep -l “password” {} = запустити grep для файлів і показати лише ті, що містять “password”.
Приклад: Знайти всі файли .conf у каталозі /etc/, які містять “max_connections”
find . -name "*.conf" -exec grep -Hn "max_connections" {} +
find . – пошук з поточного каталогу
–name “*.conf” – шукає тільки файли .conf
–exec grep -Hn – шукає рядок max_connections
–H виводить ім’я файлу
–n – виводить номер рядка
Ігнорує .git, node_modules, vendor/ тощо.
Підтримує regex та фільтри за типами файлів
Швидше і чистіше, ніж grep у середовищі розробників
Встановлення ack (якщо ще не встановлено)
sudo apt install ack-grep # Debian/Ubuntu
brew install ack # macOS
ack "connectDB" ~/test-code
Надшвидкий (написаний на Rust)
Рекурсивний за замовчуванням
Підсвічування синтаксису
Враховує Git (пропускає .git-нормовані файли)
Деякі системні файли потребують підвищених привілеїв:
Або в комбінації з find:
2>/dev/null: пригнічує помилки з правами доступу
Комбінація: grep -rwi “word”
уникайте бінарних файлів:
✅ Обмеження глибини:
✅ Пошук файлів журналу за датою:
Приклад – витягнути знайдений рядок через 2 рядки після нього:
Або скористайтеся awk для вилучення шаблонів:
Пошук файлів за вмістом є однією з найважливіших навичок для будь-якого користувача або розробника Linux. Від простих команд grep до потужних інструментів, таких як ripgrep , ви можете швидко знайти інформацію, приховану в тисячах файлів.
Оволодіння цими інструментами означає швидше налагодження, безпечніший аудит та ефективніші робочі процеси.