Як знайти певний файл за вмістом у Linux
Як знайти певний файл за вмістом у Linux
Якщо ви налагоджуєте веб-додаток, перевіряєте журнали сервера або відстежуєте певну конфігурацію на VPS або виділеному сервері ava.hosting, пошук файлів за вмістом є життєво важливою навичкою в Linux. Tools like
grep,
find,
ack, та
ripgrepдозволяють легко знаходити рядки або шаблони в тисячах файлів за лічені секунди, заощаджуючи ваш час та зусилля. Наприклад, якщо ви керуєте веб-сервером на ava.hosting і вам потрібно знайти неправильно налаштований
api_keyу файлі конфігурації, ці команди можуть миттєво його знайти. Цей посібник пропонує спрощений підхід до пошуку вмісту файлів у Linux, оптимізований для ефективності та адаптований для користувачів, які використовують надійну інфраструктуру ava.hosting.
Створіть тестовий каталог з деякими файлами (створіть каталог, який відповідає вашим потребам)
Змоделюємо робочий каталог з конфігураційними файлами.
mkdir -p ~/test-configcd ~/test-configecho "db_user=root" > db.confecho "db_password=12345" >> db.confecho "api_key=abcdef" > api.confecho "some random data" > readme.txtТепер маєш:

Класичний варіант: grep find
🔍 Рекурсивний пошук рядка у всіх файлах:
. = поточний каталог
–тип f = тільки файли
–exec grep -l “password” {} = запустити grep для файлів і показати лише ті, що містять “password”.
2. Потужніший варіант: grep з фільтрацією за regex і розширенням файлів
Приклад: Знайти всі файли .conf у каталозі /etc/, які містять “max_connections”
find . -name "*.conf" -exec grep -Hn "max_connections" {} +
find . – пошук з поточного каталогу
–name “*.conf” – шукає тільки файли .conf
–exec grep -Hn – шукає рядок max_connections
–H виводить ім’я файлу
–n – виводить номер рядка





