Шрифт:
Существует множество редакторов с текстовым интерфейсом. Наиболее популярные из них, с которыми, возможно, вы столкнетесь: nano, vi и emacs. Редактор nano — простой в использовании редактор, созданный как замена редактору pico, поставляемому в составе пакета программ для работы с электронной почтой PINE. Редактор vi (в большинстве систем Linux его замещает программа vim, название которой является сокращением от Vi IMproved (Vi улучшенный)) — традиционный редактор для Unix-подобных систем. Подробнее о нем рассказывается в главе 12. Редактор emacs был написан Ричардом Столлманом (Richard Stallman). Это невероятная, универсальная среда программирования, построенная по принципу «все в одном». Но, несмотря на свою доступность, он редко устанавливается по умолчанию в большинстве систем Linux.
Использование текстового редактора
Любой текстовый редактор можно запустить из командной строки, введя имя редактора и имя файла, который требуется отредактировать. Если указанный файл не существует, редактор решит, что вы хотите создать новый файл. Ниже приводится пример использования gedit:
[me@linuxbox ~]$ gedit some_file
Эта команда запустит текстовый редактор gedit и загрузит в него файл с именем some_file, если таковой существует.
Все текстовые редакторы с графическим интерфейсом имеют интуитивно понятный интерфейс, поэтому мы не будем описывать их здесь. Вместо этого сосредоточимся на редакторе с текстовым интерфейсом nano. Давайте запустим nano и внесем изменения в файл .bashrc. Но перед этим поговорим немного о мерах предосторожности. Всякий раз, собираясь редактировать важный конфигурационный файл, создайте сначала его резервную копию. Это обезопасит вас, если в процессе редактирования вы безнадежно испортите содержимое файла. Чтобы создать резервную копию файла .bashrc, выполните следующую команду:
[me@linuxbox ~]$ cp .bashrc .bashrc.bak
Неважно, как вы назовете файл с резервной копией; просто дайте ему такое имя, чтобы было понятно, что это за файл. Наиболее часто для имен файлов с резервными копиями используются расширения .bak, .sav, .old и .orig. Да, и не забудьте, что команда cp без лишних вопросов затирает существующие файлы.
Теперь, когда резервная копия создана, можно запускать редактор:
[me@linuxbox ~]$ 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
Предписывает механизму истории командной оболочки игнорировать команду, если непосредственно перед ней точно такая же команда была записана в историю