- •Командная строка unix
- •Терминал и командная строка Терминал
- •Командная оболочка
- •Одновременный доступ к системе
- •Формат командной строки Приглашение
- •Формат команды
- •Процесс выполнения команды
- •Возвращаемое значение
- •Способы объединения команд
- •Последовательное выполнение
- •Служебные символы
- •Стандартные переменные окружения
- •Возможности интерфейса командной оболочки
- •Редактирование командной строки
- •История команд
- •Псевдонимы
- •Автодополнение
- •Шаблоны
- •Командная оболочка как средство программирования
- •Справочная подсистема
- •Страницы руководства
- •Поиск по руководствам
- •Программа info
- •Документация, поставляемая с программой
Стандартные переменные окружения
При старте командной оболочки, инициализируется множество системных переменных, которые можно посмотреть с помощью команды env. Некоторые из них представляют особый интерес для пользователя системы:
DISPLAY
Переменная используется графической подсистемой X11 и указывает на адрес X-сервера и номер используемого экрана.
EDITOR
Если какая-то утилита требует редактирования файла, то вместо написания и использования встроенного редактора, этот файл можно передать на редактирование программе, путь к которой хранится в переменной EDITOR.
HOME
Переменная содержит имя домашней директории текущего пользователя.
PATH
Переменная окружения содержит список директорий, разделённый символом «:». Этот список просматривается при каждом запуске команды – в нём производится поиск исполняемых файлов с соответствующем команде именем. Примером значения переменной окружения может быть «/bin:/usr/bin:/usr/local/bin».
Как правило, значение этой переменной различается для простого пользователя и администратора – для того, чтобы разделить их рабочий инструментарий.
SHELL
Имя текущей программы оболочки.
TERM
Тип терминала, используемого в настоящий момент. Эта переменная анализируется программами для того, чтобы варьировать свой интерфейс в зависимости от возможностей терминала.
USER
Имя текущего пользователя.
_(одиночный символ подчёркивания)
Последняя команда, выполненная в командной оболочке.
Возможности интерфейса командной оболочки
Современные командные оболочки, например bash предоставляют пользователю ряд удобных особенностей пользовательского интерфейса, облегчающих работу с командной строкой.
Редактирование командной строки
Вводимую команду можно редактировать с помощью клавиш BackspaceиDelete, перемещаться стрелками по всей строке.
Для управления запущенными командами используются сочетания клавиш. Ввод следует завершать командой Ctrl-D(конец ввода). Эту команду интерпретирует при вводе с терминала система. Она же превращает некоторые другие управляющие символы (например,Ctrl-C– «перывание» илиCtrl-Z– «засыпание») в сигналы.
История команд
Двумя другими клавишами со стрелками – вверх и вниз – задействуется весьма мощный механизм bash – работа с историей команд. Все команды, набранные пользователем, командная оболочка запоминает и позволяет обращаться к ним впоследствии. История команд сохраняетсямеждусеансами работы пользователя.
Псевдонимы
Поиск по истории – удобное средство: длинную командную строку можно не набирать целиком, а отыскать и использовать. Однако давнюю команду придется добывать с помощью нескольких нажатий клавиши вверх – а можно и совсем не доискаться, если она уже выбыла оттуда. Для того чтобы оперативно заменять короткие команды длинными, стоит воспользоваться псевдонимами(aliases). В конфигурационных файлах командного интерпретатора пользователя обычно уже определено несколько сокращений, список которых можно посмотреть с помощью команды alias без параметров:
user@desktop ~ $ alias
alias cp='cp -i'
alias l='ls -lapt'
alias ll='ls -laptc'
alias ls='ls --color=auto'
alias md='mkdir'
alias mv='mv -i'
alias rd='rmdir'
alias rm='rm -i'
Например, по команде lsвместо утилиты /bin/ls bash запускает собственную команду-сокращение, превращающееся в командуls --color=auto. Повторно появившуюся в команде подстроку "ls" интерпретатор уже не обрабатывает, во избежание вечного цикла. Например, командаls -alпревращается в результате вls --color=auto -al.
Сокращения не наследуются с окружением.