Користувачі Linux зазвичай редагують файли конфігурації за допомогою термінальних інструментів, таких як nano і vim . Якщо ви хочете відредагувати файл графічно, навіть системний, текстовий редактор gedit робить це безболісним і простим.
Файли, файли всюди
Часто повторювана фраза щодо Linux та інших операційних систем на базі Unix, таких як macOS, — «все є файлом».
Хоча це не зовсім точно, текстові файли часто використовуються для системних журналів і конфігурації. Ви можете прочитати ці файли, щоб дізнатися більше про внутрішню роботу вашої операційної системи, і ви можете редагувати їх, щоб змінити її поведінку.
Типовим текстовим редактором GNOME є gedit, тому його можна знайти в будь-якій системі з робочим середовищем GNOME. Це включає Ubuntu, Fedora, Debian, CentOS і Red Hat. Це зручний інструмент для редагування файлів, коли все, що вам потрібно, — це достатньо редактора, щоб виконати роботу — без кривої навчання деяких потужних редакторів, таких як vim.
Запуск gedit
Щоб запустити gedit з командного рядка, введіть gedit та натисніть Enter.
Незабаром з’явиться текстовий редактор gedit.
Це чисте вікно програми. Ви можете продовжити виконання завдання друкувати все, над чим працюєте, не відволікаючись.
Звичайно, ви також можете запустити gedit з меню програм вашого робочого столу Linux. Його часто називають «Текстовим редактором». Просто знайдіть у меню програм «gedit».
Запуск gedit як фонове завдання
Вікно терміналу чекатиме закриття gedit, перш ніж поверне вас до командного рядка. Якщо ви хочете використовувати вікно терміналу, поки gedit все ще відкритий, замість цього запустіть gedit за допомогою цієї команди. Це відкриває gedit як фонове завдання. Ви відразу отримуєте підказку командного рядка, і ви можете продовжувати використовувати вікно терміналу, навіть коли gedit запущено.
Введіть gedit, пробіл, амперсанд &, а потім натисніть Enter — наприклад:
gedit &
Відкриття існуючого файлу
Щоб відкрити наявний текстовий файл, натисніть кнопку «Відкрити» на панелі інструментів gedit. Ви також можете натиснути Ctrl+O, щоб відкрити файл.
Це відкриє меню останніх файлів. Якщо ви хочете повторно відкрити один із перерахованих файлів, натисніть на ім’я файлу. Якщо ви хочете відкрити інший файл, натисніть кнопку «Інші документи…» внизу меню.
Відкриється стандартне діалогове вікно відкриття файлу. Ви можете використовувати це, щоб перейти до розташування файлу, який потрібно відредагувати.
Натисніть зелену кнопку «Відкрити», коли виділите файл, який потрібно відредагувати.
Відкриття файлу з командного рядка
Ви можете попросити gedit відкрити файл одразу після його запуску, вказавши ім’я файлу в командному рядку. Це змушує gedit завантажувати файл, щоб він був готовий до редагування, як тільки з’явиться gedit.
gedit ana.c
Функція підсвічування синтаксису gedit робить його особливо зручним для редагування файлів вихідного коду програми та сценаріїв оболонки.
Підсвічування синтаксису забарвлює слова у вихідному файлі, щоб можна було легко ідентифікувати змінні, зарезервовані слова, коментарі, параметри тощо.
На панелі інструментів відображається назва файлу, який ви редагуєте. Якщо ви змінили файл, біля імені файлу з’явиться зірочка *.
Це дає вам знати, що до вмісту файлу було внесено зміни. Він діє як нагадування, що якщо ви хочете зберегти зміни, вам потрібно зберегти файл.
Збереження змін у файлі
Щоб зберегти зміни, натисніть кнопку «Зберегти» на панелі інструментів. Ви також можете натиснути Ctrl+S, щоб зберегти файл.
Щоб зберегти файл під іншим ім’ям або в іншому місці, натисніть кнопку меню на панелі інструментів, а потім виберіть у меню «Зберегти як».
Це відкриє стандартне діалогове вікно збереження файлу. Ви можете перейти до каталогу, в якому хочете зберегти файл, і вказати ім’я файлу. Натисніть зелену кнопку «Зберегти», щоб зберегти файл.
Редагування системних файлів
Щоб редагувати системний файл, зазвичай потрібно використовувати sudo, оскільки власником файлу, швидше за все, є користувач root. Щоб бути абсолютно точним, ви зможете відкрити системний файл, навіть якщо не використовуєте sudo, але ви не зможете зберегти будь-які зміни назад у файл, якщо ви не використали sudo.
sudo gedit /etc/samba/smb.conf
Попередження: не редагуйте системні файли, якщо ви точно не знаєте, що внесені зміни внесуть до вашої системи. Змініть неправильний системний файл, і ви можете втратити доступ до комп’ютера після перезавантаження.
Ця команда відкриває gedit і завантажує файл конфігурації samba для редагування.
Відтворення прав власності та дозволів на новий файл
Обережний спосіб редагування системних файлів – і, отже, гідний похвали спосіб редагування системних файлів – це скопіювати файл, а потім відредагувати копію. Коли ви закінчите редагувати новий файл, ви можете скопіювати його назад на вихідний файл. Якщо ви заплутаєтеся з редагуванням скопійованого файлу, шкоди не буде завдано. Видаліть його і почніть спочатку.
Коли ви копіюєте файл, право власності на файл може змінитися, а дозволи режиму файлу можуть бути змінені. Перш ніж копіювати нову версію на оригінальний файл, переконайтеся, що вони точно такі ж у вашому новому файлі, як і в оригінальному файлі. Ось як це можна зробити.
Скажімо, ми хочемо відредагувати файл fstab.
Щоб переконатися, що у нас є зміна власника файлу та дозволів на режим, ми створимо новий файл, а потім скопіюємо наявний файл поверх нього. Цей крок призначений виключно для демонстраційних цілей, щоб переконатися, що новий файл не має таких же дозволів режиму та права власності, що й оригінальний файл. Вам не потрібно цього робити, коли ви редагуєте власні файли.
touch new_fstab
Ми можемо використовувати ls, щоб перевірити атрибути файлу та побачити, які дозволи в режимі файлу він має і хто є власником файлу.
ls -l new_fstab
Власником файлу є Дейв, а права доступу до режиму файлу доступні для читання та запису для власника файлу та лише для читання для групи та інших.
Тепер ми скопіюємо файл /etc/fstab поверх нового файлу, який ми щойно створили. Потім ми перевіримо атрибути файлу, щоб побачити, чи змінилися вони.
sudo cp /etc/fstab new_fstab
ls -l new_fstab
Fstab було скопійовано на файл new_fstab. Атрибути файлу new_fstab не змінилися. Давайте перевіримо атрибути файлу вихідного файлу fstab.
ls -l /etc/fstab
Як ми бачимо, власником є root, а дозволи режиму файлу різні. Дозволи групи доступні для читання та запису. Дозволи групи для new_fstab доступні лише для читання. Нам потрібно буде виправити ці два атрибути, перш ніж скопіювати файл назад.
Спочатку ми запустимо gedit і відредагуємо файл new_fstab, щоб внести необхідні зміни.
gedit new_fstab
Після того, як ми відредагуємо файл і збережемо зміни, нам потрібно повернути право власності на файл і дозволи режиму файлу до того, яким вони мають бути.
Ми можемо зробити це за допомогою параметра –reference команд chmod і chown.
Параметр –reference приймає ім’я файлу як параметр. Це змушує chmod і chown взяти з цього файлу дозволи режиму файлу та значення володіння файлом і скопіювати їх у цільовий файл. Потім ми можемо використовувати ls, щоб перевірити, чи правильно встановлені атрибути відредагованого файлу, перш ніж скопіювати його назад на вихідний файл.
sudo chmod --reference=/etc/fstab new_fstab
sudo chown --reference=/etc/fstab new_fstab
ls -l new_fstab
Дозволи та право власності на файл тепер правильні. Ми можемо скопіювати new_fstab поверх існуючого fstab, і наші зміни будуть внесені.
Оскільки це зміни у файлі fstab, вони набудуть чинності під час наступного перезавантаження комп’ютера або негайно, якщо так було використано команду монтування:
sudo mount -a
Будьте обережні там
Мій лозунг – обережність, і я не проти повторення попереджень. Якщо ви взагалі не впевнені в тому, як зміни до системного файлу змусять працювати комп’ютер, не вносьте зміни.
Коли вам потрібно відредагувати текстовий файл, незалежно від того, є це системним файлом чи ні, ви побачите, що gedit – це швидкий і простий редактор, який не завантажує вас багатьма параметрами, але має достатньо можливостей, щоб ви могли отримати виконана робота.