From 96378bd6ae8fc74bda251a63cd894b7c2eb632db Mon Sep 17 00:00:00 2001 From: semaev Date: Mon, 2 Oct 2017 22:28:20 +0300 Subject: [PATCH] 103_1 updated --- 103_1.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ docx/103_1.docx | Bin 21978 -> 22293 bytes 2 files changed, 62 insertions(+) create mode 100644 103_1.md diff --git a/103_1.md b/103_1.md new file mode 100644 index 0000000..a8c9f14 --- /dev/null +++ b/103_1.md @@ -0,0 +1,62 @@ +**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** , позволяющую выполнять команду за пределами текущей оболочки, сбрасывая права суперпользователя. \ No newline at end of file diff --git a/docx/103_1.docx b/docx/103_1.docx index 92ec20b4f9c8caf81319834494f76094d91995fa..61e3b174d376882ad5bbc73caf69f1da8ac202d6 100644 GIT binary patch delta 9805 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