Як швидко і ефективно редагувати файли конфігурації в linux

Як швидко і ефективно редагувати файли конфігурації в linux

Jack Wallen описує інструменти з інтерфейсом командного рядка, які значно підвищують ефективність роботи з файлами конфігурації.

Насправді, все не так сумно. Фактично, більшість адміністраторів Linux-систем виконують завдання, пов'язані з налагодженням або конфігурацією додатків з великим ентузіазмом. Дослідження особливостей функціонування серверів і прикладних програм є відмінним дозвіллям. При цьому описані дії не повинні здійснюватися за допомогою малоефективних інструментів. Варто пам'ятати про те, що кожному сістмний адміністратору доступні спеціалізовані інструменти, які зазнали безліч еволюційних змін з метою максимального спрощення процесу редагування файлів конфігурації. Я збираюся описати кілька таких інструментів, що дозволяють трохи спростити вашу професійну діяльність в ролі адміністратора Linux-систем. В першу чергу я пропоную обговорити інструменти з інтерфейсом командного рядка, які просто необхідні в тому випадку, якщо ви хочете оптимізувати процес редагування файлів конфігурації системи.

Ну що ж, давайте приступимо до розгляду описаних інструментів.

Якщо ви ніколи не використовували утиліту diff раніше, ви напевно не підозрюєте про те, що втрачали. Утиліта diff призначена для вирішення простий завдання: вона порівнює один файл з іншим і виводить інформацію про їх відмінностях. Дозвольте мені пояснити більш детально.

Уявіть, що у вас є два файли конфігурації. Файл File1 містить наступний текст:

Файл File2 - наступний текст:

Завдяки існуванню утиліти diff ми зможемо без будь-яких складнощів знайти відмінності між цими файлами. Якщо ми відкриємо вікно терміналу і виконаємо за допомогою нього команду diff File1 File2. ми побачимо наступний висновок, чітко відображає відмінності між ними (Малюнок 1).

Як швидко і ефективно редагувати файли конфігурації в linux

Малюнок 1: Утиліта diff виводить інформацію про відмінності між файлами File1 і File2.

Вам слід звертати особливу увагу на літери a. c і d. причому:

  • a позначає, що рядок була додана
  • c позначає, що рядок була змінена
  • d позначає, що рядок була видалена

В даному прикладі нескладно виявити рядок виведення 1c1. яка позначає, що рядок 1 була змінена в другому файлі.

Висновок утиліти diff є трохи неочевидним, так як він призначений для читання спеціалізованим програмним забезпеченням, а не людьми. Ця утиліта була розроблена з метою отримання інформації про те, як потрібно модифікувати файли для того, щоб синхронізувати їх вміст. Однак, важливо розуміти, що в її виведення відображаються лише ті рядки файлів, які розрізняються. У нашому прикладі всі рядки файлів є ідентичними за винятком їх перших рядків, точніше їх фрагментів, а саме "/ var / www" в першому файлі і "/ var / www / html" в другому. Використання утиліти diff значно спрощує пошук відмінностей між двома файлами конфігурації. Звичайно, утиліта diff є набагато складнішою, але розуміння даного фундаментального прийому її використання може значно полегшити завдання пошуку відмінностей в файлах.

Ми можемо змінити вміст файлу File2 наступним чином:

У цьому випадку висновок утиліти diff буде більш складним. Щоб спростити його, ми можемо виконати команду diff -c File1 File2. Параметр c дозволяє активувати контекстний формат виводу, який набагато простіше читається (Малюнок 2).

Як швидко і ефективно редагувати файли конфігурації в linux

Малюнок 2: Більш складний висновок команди diff в більш простому для розуміння форматі завдяки наявності параметра c.

В даному випадку утиліта diff виводить інформацію про те, що рядки 1 і 4 з файлу File1 і рядки 1 і 3 файлу File2 відрізняються. Тепер ви можете внести всі необхідні зміни в них.

Утиліта grep всього лише виводить номера рядків, які збігаються з пошуковим запитом. Так, все настільки просто. Однак, в разі додавання параметра -n вона буде також виводити номери рядків, в яких зустрічається пошуковий запит. У нашому випадку утиліта grep повідомляє нам про те, що директива EnableSendfile зустрічається в рядках під номерами 340, 346 і 349 (Малюнок 3).

Як швидко і ефективно редагувати файли конфігурації в linux

Малюнок 3: Використання утиліти grep для пошуку директиви у файлі конфігурації.

Як швидко і ефективно редагувати файли конфігурації в linux

Утиліта grep є надзвичайно потужною. Зверніться до сторінки керівництва (man grep) для отримання інформації про всі можливості даного корисного інструменту.

Уявіть, що ви відкрили файл конфігурації /etc/httpd/conf/httpd.conf за допомогою GEdit. Так як даний файл конфігурації є по своїй суті звичайним текстовим файлом, GEdit буде використовувати режим підсвічування синтаксису "Текст" після його відкриття (іншими словами, взагалі не буде активувати механізм підсвічування синтаксису). Ви можете вибрати відповідний режим підсвічування синтаксису за допомогою меню, що розкривається в рядку стану в нижній частині вікна. Якщо ви оберете режим "PHP", буде здійснюватися підсвічування всіх синтаксичних конструкцій даного мови програмування, а також тегів HTML (Малюнок 5).

Як швидко і ефективно редагувати файли конфігурації в linux

Малюнок 5: Активація механізму підсвічування синтаксису для спрощення процесу редагування файлу конфігурації.

Не дозволяйте системі придушити вас

Ви можете значно спростити процес редагування конфігураційних файлів Linux-системи за допомогою декількох простих інструментів. Почавши використовувати їх, ви з часом зможете підібрати інші інструменти, які будуть краще сумісні з вашим робочим процесом. Зрештою ви зможете зібрати потужний інструментарій, що дозволяє редагувати файли конфігурації на професійному рівні. І ні в якому разі не забувайте про сторінки керівництв використовуваних інструментів!

Схожі статті