**103.1** Работа в командной строке Студент должен уметь работать с командными оболочками и командами в командной строке **Изучаем** : - работу с оболочками и командами для выполнения основных задач; - использование и изменение среды оболочки, в том числе переменных среды; - работу с историей выполненных команд; - работу с командами исходя из текущего месторасположения. **Термины и утилиты:**** ** - bash - echo - env - export - pwd - set - unset - man - uname - history - .bash\_history Работа администратора с Linux заключается прежде всего в оперировании в командной строке. Командная строка, или консоль — это отдельная программируемая среда со своими настройками, возможностями и инструментами. Существует множество различных оболочек, в данном уроке рассматривается bash, используемая в большинстве современных ОС. Увидеть название оболочки, используемой пользователем по умолчанию, можно в конце каждой строки файла **/**** etc ****/**** passwd **. Глобальные настройки командной строки находятся в файле** / ****etc**** / ****profile** , а настройки для каждого пользователя в файлах его домашней директории. При этом существует несколько вариантов расположения настроек, в зависимости от семейства ОС. В общем виде поиск настроек осуществляется в следующем порядке: **~/.bash\_profile, ~/.bash\_login** , и **~/.profile** (настройки берутся из первого обнаруженного файла). При работе в консоли используются следующие распространенные команды (их больше, но в данной теме LPI почему-то заостряет внимание на этих): - **cat** – вывод содержимого файла в консоль; - **cd** – переход в каталог; - **ls** – вывод содержимого каталога; - **echo** – вывод текста в консоль; - **touch** – обновление времени редактирования файла или создание нового пустого файла; - **uname ** – вывод имени ОС; Консоль, как отдельная рабочая среда содержит свои переменные: переменные среды (глобальные переменные, использующиеся в ОС) и обычные переменные (работают в пределах запущенного сеанса консоли). Для просмотра переменных доступны команды: - **env** – вывод переменных среды; - **export** – превращение переменной в переменную среды; - **unset** – отключение переменной; Для создания переменной используется простой синтаксис **имя\_переменной=значение\_переменной**. Для обращения к переменной указывается знак **$** , например: **X**** =12 ** _(задать переменной_ _X_ _значение 12);_ **echo** **$**** X **** ** _(вывести значение переменной_ _X__);_ Для выполнения команды в текущем каталоге (его можно узнать командой **pwd** ), нужно указывать полный путь к команде (_например, / __home__ / __semaev__ /__script_), если текущий каталог не перечислен в значениях переменной среды **PATH**. Для получения справочной информации доступны команды: - **man** – справка по команде; - **file** – справка по файлу; - **whatis** – справка по названию; - **history** – вывод истории команд (список хранится в .bash\_history); Отдельно следует упомянуть команду **exec** , позволяющую выполнять команду за пределами текущей оболочки, сбрасывая права суперпользователя.