/bin/ash
/bin/bsh
/bin/ksh
/usr/bin/ksh
/usr/bin/pdksh
/bin/tcsh
/bin/csh
Начальная оболочка для каждого пользователя, запускаемая для него при регистрации в системе, указывается в файле /etc/passwd
:
$ grep den /etc/passwd # выбрать из файла строки,
# содержащие подстроку den
den:x:501:501:Denis:/home/den:/bin/bash
В дальнейшем вы можете сменить текущую ободочку на любую из установленных (точнее, войти в подоболочку). Чтобы выйти из нее и вернуться в родительскую оболочку, введите команду exit
. В начальной оболочке эта команда завершает сеанс работы.
В любой оболочке можно запускать командные сценарии, состоящие из команд другой оболочки: первая строка каждого сценария содержит указание на то, в какой оболочке его следует выполнять, и текущая оболочка запускает для него указанную как дочерний процесс.
По умолчанию новому пользователю назначается оболочка bash. Это прекрасная оболочка, включающая много усовершенствований и лучших свойств других ободочек, и менять ее я не рекомендую. В дальнейшем, говоря «оболочка», я буду иметь в виду именно bash.
3.4.1. Встроенные команды
Список встроенных команд оболочки bashможно получить по команде helpили найти на man-странице в секции SHELL BUILTIN COMMANDS. Напоминаю, что поиск в выводе команды man выполняется командой /<���образец><���Ввод>
, а поиск следующего вхождения образца — по нажатии клавиши .
Справку по команде, имя которой вы знаете, можно получить командой help <���имя>
.
Вот несколько полезных встроенных команд:
♦ alias <���псевдоним> <���длинная команда с аргументами>
— назначение псевдонима. Без аргументов выводит список всех имеющихся псевдонимов. Обратите внимание, что у пользователя root команда rmсделана псевдонимом для « rm -i
», чтобы он не забыл воспользоваться ключом -i (см.п.2.1.4.3). Вы тоже можете назначить псевдоним для опасной команды risk, создав сценарий, который сначала будет спрашивать «а вы уверены?», и только при положительном ответе запускать riskна выполнение. Дайте этому сценарию имя risk, а внутри него ссылайтесь на настоящую команду riskпо ее полному пути. Удалить псевдоним из списка можно командой unalias.
♦ echo [аргументы]
— вывод аргументов на экран. Полезно, если нужно выполнить подстановку (п.3.4.4) и посмотреть, что получится.
♦ enable <���имя_команды>
— заставляет оболочку вместо встроенной команды выполнить исполняемый файл с таким же именем. Полезно, если у вас есть собственный сценарий по имени, например, echo.
♦ eval [аргументы]
— конструирование команды на лету, из указанных аргументов, и отправка ее на выполнение.
♦ let <���переменная>=<���арифметическое выражение>
— вычисление выражений. Так, команда var= 1 + 2 присвоит переменной var (см. п.3.4.3) значение «1 + 2», а команда let var=1+2 — значение «3».
♦ source <���файл>
— прочитать и выполнить команды, содержащиеся в файле. Применяется для определения пользовательских переменных и функций (п.3.4.3).
Другие встроенные команды служат инструкциями командного языка bash.
Оболочка предлагает вам много возможностей для облегчения ввода команд и редактирования командной строки. Помимо функции автозаполнения, с которой вы познакомились в п.1.1.4.7, bashсодержит механизм командной истории. Суть его в том, что вводимые вами команды (по умолчанию 1000) запоминаются и доступны для повторного вызова — без изменений или с ними.
Команда history
без аргументов выводит всю историю, нумеруя при этом команды в порядке их ввода.
Если вас интересуют только последние несколько команд:
$ history 23 # показать последние 23 команды
Если вас интересуют все команды, имеющие отношение к монтированию каталога public
:
$ history | grep mount | grep public
# еще один пример конвейера
Номера команд выводятся для того, чтобы вы могли снова ввести эту команду, набрав
$ ! <���номер>
или
$ !! # запускает последнюю из введенных команд
или
$ !<���первые_буквы> # запускает последнюю из команд,
# начинающихся с этих букв.
Читать дальше
Конец ознакомительного отрывка
Купить книгу