Справочник от Автор24
Поделись лекцией за скидку на Автор24

Основы работы в командной оболочке BASH

  • ⌛ 2021 год
  • 👀 211 просмотров
  • 📌 182 загрузки
  • 🏢️ МИРЭА
Выбери формат для чтения
Статья: Основы работы в командной оболочке BASH
Найди решение своей задачи среди 1 000 000 ответов
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Основы работы в командной оболочке BASH» pdf
Дисциплина: «Операционные системы» Преподаватель: Алексеев Кирилл Анатольевич учебный год 2020/2021 online.mirea.ru Тема 2 Оболочки операционных систем Занятие 2.4 лекция ОСНОВЫ РАБОТЫ В КОМАНДНОЙ ОБОЛОЧКЕ BASH online.mirea.ru ОСНОВЫ РАБОТЫ В КОМАНДНОЙ ОБОЛОЧКЕ BASH Учебные вопросы: 1) Каналы и перенаправления команд в bash. 2) Использование переменных в bash. 3) Использование кавычек в bash. 1)потоками Литература Основная: 1) Купер Мендель. Искусство программирования на языке сценариев командной оболочки. 2) Bash Reference Manual (http://www.gnu.org/software/bash/manual/bash.html) Дополнительная: 1) Справочные страницы ОС GNU/Linux (man <имя команды>) online.mirea.ru Команды в bash Синтаксис команды <имя> [<ключи>] [<аргументы>] <> - обязательный элемент, [] – опциональный элемент Виды команд • запускающие внешние программы $ /bin/pwd /home/student • встроенные $ pwd /home/student Структура строки приглашения: userx@acer-pc:~$ текущий пользователь имя сетевого узла userx@acer-pc:/home/userx# текущий пользователь не является суперпользователем текущий пользователь является суперпользователем текущий каталог ~ - псевдоним домашнего каталога текущего пользователя:online.mirea.ru /home/userx 1. Каналы и перенаправления команд в bash Каждому процессу доступны по меньшей мере три информационных канала: “стандартный ввод” (STDIN), “стандартный вывод” (STDOUT) и “стандартная ошибка” (STDERR). Для систем UNIX используется унифицированная модель ввода-вывода, в которой каждому каналу присваивается целое число, именуемое файловым дескриптором. Точное число (номер), назначаемое каналу, обычно не имеет значения, но каналам STDIN, STDOUT и STDERR гарантированно соответствуют файловые дескрипторы 0, 1 и 2 соответственно, чтобы обеспечить безопасное обращение к ним по номерам. В контексте интерактивного окна терминала канал STDIN обычно считывает данные с клавиатуры, а оба канала STDOUT и STDERR записывают свои выходные данные на экран. online.mirea.ru Перенаправления потоков команд Командная оболочка интерпретирует символы и <, > и >> как инструкции по изменению направления передаваемых командой данных в файл или принимаемых данных из файла. Символ < связывает канал STDIN с содержимым некоторого существующего файла. Символы > и >> перенаправляют поток STDOUT; причем символ > используется для замены содержимого файла, а >> – для добавления данных в его конец. Символ >& используется для перенаправления потоков STDOUT и STDERR в одно и то же место (файл), символ 2> используется для перенаправления только потока STDERR. Примеры: 1. Сохранение строки в файл. $ echo "Это тестовое сообщение." > /tmp/mymessage 2. Отправка сообщения с файлом по электронной почте. $ mail -s "Mail test" user < /tmp/mymessage 3. Вывод потока STDOUT с отбрасыванием всех сообщений об ошибках $ find / -name core 2> /dev/null online.mirea.ru Связывание команд в bash Связывание канала STDOUT одной команды с каналом STDIN другой <команда> | <команда> ps -ax | grep httpd cut -d: -f7 < /etc/passwd | sort -u Выполнение последующей команды только в случае успешного выполнения предыдущей <команда> && <команда> lpr /tmp/t2 && rm /tmp/t2 Выполнение последующей команды в случае неуспешного выполнения предыдущей <команда> || <команда> ср --preserve --recursive /etc/* /spare/backup || echo "Резервное копирование не выполнено" online.mirea.ru Запись команд в терминале (файле сценария) Несколько команд в одной строке (независимое выполнение команд) <команда>; <команда> gnome-terminal; gedit Перенос длинной строки <команда> \ <продолжение команды> for d in "/home/sales /home/dbs /data1"; do find $d -iname "*.bak" >> /tmp/list; done online.mirea.ru 2. Использование переменных в bash Инициализация переменных <переменная>=<значение> etcdir='/etc' Использование переменных <команда/выражение> $<переменная> $<переменная> ${<переменная>} $ echo "Saved ${rev}th version of mdadm.conf." Saved 8th version of mdadm.conf. online.mirea.ru Переменные среды Переменная среды (англ. environment variable) – текстовая переменная операционной системы, хранящая какую-либо информацию – например, данные о настройках системы. Переменные среды устанавливаются пользователем или сценариями оболочки. Установка переменных среды export <переменная>[=<значение>] export PATH=$PATH:/opt/local/bin (установка значения переменной окружения PATH) echo $PATH (просмотр установленного значения) online.mirea.ru Рекомендации по использованию переменных в bash 1. Переменные среды или переменные, считанные из файлов глобальной конфигурации, как правило записываются в верхнем регистре: LANG RANDOM LC_COLLATE LC_ALL PWD 2. Имена локальных переменных – строчные, а отдельные их компоненты разделяются символами подчеркивания: myvar=123 $dir_for_create 3. Имена всех переменных чувствительны к регистру: $PATH != $path 4. Команды для переменных среды, которые должны быть установлены при входе в систему (доступны при открытии терминала), должны быть включены в файл ~/.profile, ~/.bashrc или ~/.bash_profile (зависит от дистрибутива ОС Linux). online.mirea.ru Примеры использования переменных $ export LANG=ru_RU.UTF8 $ export LC_ALL=ru_RU.UTF8 $ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin $ PATH=${PATH}:/usr/local/mpi/bin $ export PATH $ set #комментарий: вывести список автоматически определенных переменных echo "Информация о пользователе $USER:" echo UID: $UID echo Домашний каталог: $HOME var1=50 var2=-120 var3=test var4="текстовая строка" НЕ ДОЛЖНО БЫТЬ ПРОБЕЛЬНЫХ СИМВОЛОВ online.mirea.ru 3. Использование кавычек в bash Строки в двойных кавычках Служат субъектами для универсализации файловых имен (замены реальных символов в имени и расширении файла универсальными, т.е. такими метасимволами, как “*” и “?”) и для раскрытия переменных (замены переменных их значениями). Строки в одинарных кавычках Служат для полного цитирования заключенной между ними строки Примеры: $ mylang="русский язык" $ echo " Я знаю ${mylang}." Я знаю русский язык. $ echo 'Я знаю ${mylang}.' Я знаю ${mylang}. online.mirea.ru 3. Использование кавычек в bash Обратные апострофы (также известные как обратные галочки, левые кавычки, левые одиночные кавычки или открывающие кавычки) интерпретируются аналогично двойным кавычкам, но несут при этом дополнительную нагрузку. Эта нагрузка состоит в интерпретации содержимого такой строки, как команды оболочки, выполнении этой команды и замене строки результатом выполнения этой команды. $ echo "В файле passwd `wc -1 /etc/passwd` строк" В файле passwd 28 строк. online.mirea.ru Пути в bash Структура каталогов типовой ОС семейства GNU/Linux online.mirea.ru
«Основы работы в командной оболочке BASH» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач

Тебе могут подойти лекции

Смотреть все 588 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot