Назначение переменной окружения производится с помощью команды export. Если, например, вы желаете сделать переменную оболочки $STUFF переменной окружения, используйте следующий синтаксис:
$ STUFF=blah
$ export STUFF
Переменные окружения практичны, поскольку многие команды считывают из них значения своих настроек и параметров. Например, вы можете поместить ваши излюбленные параметры для команды less в переменную окружения LESS, и тогда команда less будет использовать их при запуске. Многие страницы руководства содержат раздел с названием Environment («Окружение»), в котором описаны такие переменные.
2.9. Командный путь
PATH является специальной переменной окружения, которая содержит командный путь, или просто путь. Командный путь — это перечень системных каталогов, которые просматривает оболочка, пытаясь найти какую-либо команду. Например, когда вы запускаете команду ls, оболочка просматривает каталоги, перечисленные в переменной PATH, в поисках команды ls. Если команда встречается сразу в нескольких каталогах, оболочка запустит первый найденный экземпляр.
Если вы запустите команду echo $PATH, вы увидите, что компоненты пути отделены с помощью двоеточия (:). Например, так:
$ echo $PATH
/usr/local/bin:/usr/bin:/bin
Чтобы указать оболочке дополнительные места для поиска команд, измените переменную окружения PATH. Например, с помощью приведенной ниже команды можно добавить в начало пути каталог dir, чтобы оболочка начала просмотр каталогов с него, до других каталогов из переменной PATH.
$ PATH=dir:$PATH
Можно также добавить название каталога в конец переменной PATH, тогда оболочка обратится к нему в последнюю очередь:
$ PATH=$PATH:dir
примечание
Будьте осторожны при изменении пути, поскольку вы можете случайно полностью стереть его, если неправильно наберете $PATH. Если это случилось, не следует паниковать. Ущерб не является необратимым, вы можете просто запустить новую оболочку. Чтобы сильнее нарушить работу, необходимо сделать ошибку при редактировании некоторого файла конфигурации, но даже и в этом случае ее нетрудно исправить. Один из простейших способов вернуться в нормальное состояние — закрыть текущее окно терминала и открыть другое.
2.10. Специальные символы
Вам следует знать названия некоторых специальных символов системы Linux. Если вам нравятся вещи подобного рода, загляните на страницу Jargon File (http://www.catb.org/jargon/html/) или посмотрите ее печатную версию в книге The New Hacker’s Dictionary («Новый словарь хакера») (MIT Press, 1996).
В табл. 2.1 описан набор специальных символов, многие из них вы уже встречали в этой главе. Некоторые утилиты, например язык программирования Perl, используют почти все эти символы! Помните о том, что здесь приведены американские варианты названий символов.
Таблица 2.1. Специальные символы
Символ
Название
Применение
*
Звездочка
Регулярные выражения, джокерные символы
.
Точка
Текущий каталог, разделитель имени файла и хоста
!
Восклицательный знак
Отрицание, история команд
|
Вертикальная черта
Командный конвейер
/
Прямой слеш
Разделитель каталогов, команда поиска
\
Обратный слеш
Литералы, макросы (но не каталоги)
$
Доллар
Обозначение переменной, конец строки
'
Одиночная кавычка
Буквенные строки
`
«Обратная галочка»
Замена команды
"
Двойная кавычка
Частично буквенные строки
^
Знак вставки
Отрицание, начало строки
~
Тильда
Отрицание, ярлык каталога
#
Диез, знак фунта
Комментарии, препроцессор, подстановки
[ ]
Квадратные скобки
Массивы
{ }
Фигурные скобки
Блоки инструкций, массивы
_
Подчеркивание
Просто замена символа пробела
примечание
Вам часто будут встречаться символы, снабженные знаком вставки; например, ^C вместо Ctrl+С.
2.11. Редактирование командной строки
Во время работы с оболочкой обратите внимание, что вы можете редактировать командную строку, используя клавиши
и , а также перемещаться к предыдущим командам с помощью клавиш и . Такой способ работы является стандартным в большинстве систем Linux.Кроме того, вместо них можно применять управляющие сочетания клавиш. Если вы запомните сочетания, перечисленные в табл. 2.2, то обнаружите, что у вас появились дополнительные возможности ввода текста во многих командах Unix по сравнению с использованием стандартных клавиш.
Таблица 2.2. Сочетания клавиш для командной строки
Сочетание клавиш
Действие
Ctrl+B
Перемещение курсора влево
Ctrl+F
Перемещение курсора вправо
Ctrl+P
Просмотр предыдущей команды (или перемещение курсора вверх)
Ctrl+N
Просмотр следующей команды (или перемещение курсора вниз)
Ctrl+A
Перемещение курсора в начало строки
Ctrl+E
Перемещение курсора в конец строки
Ctrl+W
Удаление предыдущего слова
Ctrl+U
Удаление текста от курсора до начала строки
Ctrl+K
Удаление текста от курсора до конца строки
Ctrl+Y
Вставка удаленного текста (например, после команды CTRL+U)
2.12. Текстовые редакторы
Для работы в системе Unix вы должны уметь редактировать текстовые файлы, не повреждая их. Большинство частей системы использует для конфигурации простые текстовые файлы (подобные тем, которые расположены в каталоге /etc). Редактировать их несложно, но вам предстоит делать это часто, поэтому понадобится мощный инструмент.
Попробуйте освоить один из двух редакторов, которые де-факто являются стандартом для системы Unix: vi и Emacs. Большинство «кудесников» Unix относятся к выбору редактора с большим трепетом. Не прислушивайтесь к ним — выбирайте редактор сами, вам будет проще его освоить.
При выборе редактора принимайте во внимание следующие моменты.
• Если вам необходим редактор, который может практически все, а также обладает обширной справочной системой и при этом вы не возражаете против набора дополнительных символов для использования различных функций, попробуйте редактор Emacs.
• Если скорость работы превыше всего, выберите редактор vi. Работа в нем чем-то напоминает видеоигру.
ПРИМЕЧАНИЕ
Книга Learning the vi and Vim Editors: Unix Text Processing («Изучаем редакторы vi и Vim: работа с текстом в системе Unix»), 7-е издание (O’Reilly, 2008), расскажет вам все, что необходимо знать о редакторе vi. В редакторе Emacs можно воспользоваться справочной системой, запустив редактор, а затем нажав сочетание клавиш Ctrl+H и клавишу T. Можно также почитать книгу GNU Emacs Manual («Руководство по редактору GNU Emacs») (Free Software Foundation, 2011).
У вас может появиться искушение поэкспериментировать на начальных этапах с более дружественным редактором, таким как Pico или одним из множества имеющихся GUI-редакторов. Однако, если вы сразу привыкаете к программе, лучше не следовать такой практике.
примечание