В Linux работа на компьютере неразрывно связана с понятием командная оболочка (shell) – программа, позволяющая пользователю взаимодействовать с системой посредством ввода и выполнения команд. Тем не менее, командная оболочка является обычной программой. Доказать это можно, установив в качестве оболочки по умолчанию в файле passwd для пользователя другую программу. Но для того, чтобы система знала ее как оболочку, необходимо добавить абсолютное имя файла в /etc/shells.
В составе Linux идет несколько командных оболочек, их состав может меняться в зависимости от дистрибутива, но всегда вы сможете обнаружить:
Bourne Shell (sh) – самая старая и самая распространенная командная оболочка для Unix-систем. Нет ни одной системы Unix, где она бы не применялась.
Bourne Again Shell (bash) – расширенная Bourne Shell. Обладает массой приятных преимуществ, поэтому стала так популярна в последнее время. Является оболочкой “по умолчанию” практически для всех дистрибутивов Linux.
Также популярными оболочками являются:
csh – оболочка, система команд которой близка к языку программирования C
tclsh – оболочка, система команд которой близка к языку программирования Tcl.
zsh – оболочка, обладающая, наверное, самыми широкими возможностями. Является расширением sh (bourne shell).
Поскольку в Linux “по умолчанию” используется bash, то о ней мы и поговорим.