Текстовые редакторы
Для редактирования (то есть изменения) файлов запуска командной оболочки, а также большинства других конфигурационных файлов в системе используется программа, которая называется текстовым редактором. Текстовый редактор, подобно текстовому процессору, позволяет редактировать слова на экране, перемещая курсор. От текстового процессора эта программа отличается только поддержкой простого текста и нередко наличием особенностей, необходимых при разработке программ. Текстовые редакторы — основной инструмент, используемый программистами для создания программного кода и системными администраторами для управления конфигурационными файлами, определяющими настройки системы.
Для Linux существует огромное число текстовых редакторов; в вашей системе почти наверняка установлено несколько из них. Почему было создано так много редакторов? Вероятно, потому, что программистам нравится писать их, а так как программисты очень активно пользуются редакторами, они стремятся воплотить в них свои взгляды на то, как должны работать эти редакторы.
Текстовые редакторы делятся на две основные категории: с графическим и с текстовым интерфейсом. Оба окружения рабочего стола, GNOME и KDE, включают несколько популярных редакторов с графическим интерфейсом. В состав GNOME входит редактор с названием gedit, который в меню GNOME обычно называется Text Editor (Текстовый редактор). Вместе с KDE обычно распространяется три редактора (в порядке увеличения сложности): kedit, kwrite и kate.
Существует множество редакторов с текстовым интерфейсом. Наиболее популярные из них, с которыми, возможно, вы столкнетесь: nano, vi и emacs. Редактор nano — простой в использовании редактор, созданный как замена редактору pico, поставляемому в составе пакета программ для работы с электронной почтой PINE. Редактор vi (в большинстве систем Linux его замещает программа vim, название которой является сокращением от Vi IMproved (Vi улучшенный)) — традиционный редактор для Unix-подобных систем. Подробнее о нем рассказывается в главе 12. Редактор emacs был написан Ричардом Столлманом (Richard Stallman). Это невероятная, универсальная среда программирования, построенная по принципу «все в одном». Но, несмотря на свою доступность, он редко устанавливается по умолчанию в большинстве систем Linux.
Использование текстового редактора
Любой текстовый редактор можно запустить из командной строки, введя имя редактора и имя файла, который требуется отредактировать. Если указанный файл не существует, редактор решит, что вы хотите создать новый файл. Ниже приводится пример использования gedit:
[[email protected] ~]$ gedit some_file
Эта команда запустит текстовый редактор gedit и загрузит в него файл с именем some_file, если таковой существует.
Все текстовые редакторы с графическим интерфейсом имеют интуитивно понятный интерфейс, поэтому мы не будем описывать их здесь. Вместо этого сосредоточимся на редакторе с текстовым интерфейсом nano. Давайте запустим nano и внесем изменения в файл .bashrc. Но перед этим поговорим немного о мерах предосторожности. Всякий раз, собираясь редактировать важный конфигурационный файл, создайте сначала его резервную копию. Это обезопасит вас, если в процессе редактирования вы безнадежно испортите содержимое файла. Чтобы создать резервную копию файла .bashrc, выполните следующую команду:
[[email protected] ~]$ cp .bashrc .bashrc.bak
Неважно, как вы назовете файл с резервной копией; просто дайте ему такое имя, чтобы было понятно, что это за файл. Наиболее часто для имен файлов с резервными копиями используются расширения .bak, .sav, .old и .orig. Да, и не забудьте, что команда cp без лишних вопросов затирает существующие файлы.
Теперь, когда резервная копия создана, можно запускать редактор:
[[email protected] ~]$ nano .bashrc
После запуска nano вы увидите на экране примерно такую картину:
GNU nano 2.0.3 File: .bashrc
# .bashrc
# Загрузить глобальные определения
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Пользовательские псевдонимы и функции
[ Read 8 lines ]
^G Get Help^O WriteOut^R Read Fil^Y Prev Pag^K Cut Text^C Cur Pos
^X Exit ^J Justify ^W Where Is^V Next Pag^U UnCut Te^T To Spell
ПРИМЕЧАНИЕ
Если в вашей системе не установлен редактор nano, можете вместо него использовать редактор с графическим интерфейсом.
Экран редактора делится на три части: заголовок в верхней части, область редактирования текста в середине и меню команд внизу. Так как nano проектировался как замена текстового редактора, входящего в состав почтового клиента, он не обладает развитыми функциями редактирования.
Первая команда, которую нужно узнать при использовании любого редактора, — это команда выхода из программы. Чтобы покинуть nano, нажмите CTRL+X. Эта команда присутствует в меню, в нижней части экрана. Нотация ^X означает CTRL+X. Это распространенная форма записи управляющих комбинаций, используемая во многих программах.
Вторая команда, которую следует знать, — как сохранить изменения. В nano сохранение выполняется нажатием CTRL+O. Теперь, обладая новыми знаниями, приступим к правке текста. Используя клавишу со стрелкой вниз и/или Page Down, переместите курсор в конец файла и добавьте в .bashrc следующие строки:
umask 0002
export HISTCONTROL=ignoredups
export HISTSIZE=1000
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
ПРИМЕЧАНИЕ
Ваш дистрибутив уже может включать некоторые из этих строк, но если повторить их, это ничему не навредит.
Эти изменения описаны в табл. 11.4.
Таблица 11.4. Дополнения в файле .bashrc
Строка
Значение
umask 0002
Определяет маску umask для устранения проблемы с общими каталогами, обсуждавшейся в главе 9
export HISTCONTROL=ignoredups
Предписывает механизму истории командной оболочки игнорировать команду, если непосредственно перед ней точно такая же команда была записана в историю
export HISTSIZE=1000
Увеличивает историю команд с 500 строк по умолчанию до 1000
alias l.='ls -d .* --color=auto'
Создает новую команду с именем l., которая выводит все элементы каталога с именами, начинающимися с точки
alias ll='ls -l –color=auto'
Создает новую команду с именем ll, которая выводит содержимое каталога в подробном формате
Как видите, догадаться о назначении многих новых строк непросто, поэтому нелишним будет снабдить их комментариями, чтобы прояснить смысл для тех, кто будет читать файл .bashrc. Используя редактор, добавьте пояснения, как показано ниже:
# Изменить маску umask, чтобы упростить использование общих каталогов
umask 0002
# Игнорировать дубликаты в истории команд и увеличить
# объем истории до 1000 строк
export HISTCONTROL=ignoredups
export HISTSIZE=1000
# Добавить несколько удобных псевдонимов
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
Так намного лучше! Закончив правку, нажмите CTRL+O, чтобы сохранить измененный файл .bashrc, и CTRL+X, чтобы выйти из nano.
важность комментариев
Всякий раз, изменяя конфигурационные файлы, добавляйте краткие комментарии, описывающие эти изменения. Вне всяких сомнений, вы будете помнить назначение своих изменений завтра, но вспомните ли вы об этом через шесть месяцев? Сделайте себе подарок, добавьте несколько комментариев. Кроме того, хорошо бы завести файл журнала и в нем фиксировать произведенные изменения.
Комментарии в сценариях на языке командной оболочки и в файлах запуска начинаются с символа #. В других конфигурационных файлах для этой цели могут использоваться другие символы. Комментарии можно найти в большинстве конфигурационных файлов. Используйте их как руководство.