Условное выполнение команд
Практическая работа №8. ОС Linux. Командная строка (терминал). Команды для работы с системой. Распределение знаков
1 Цель занятия: закрепление навыков работы в командной строке ОС Linux (Unix); научиться работать с командами для работы с системой в терминале ОС LINUX; применение на практике символов перенаправления при выполнении команд ОС.
1 Перечень необходимых средств обучения:
1.1 Технические средства обучения:
- Компьютер Core i3 3.0, 4 Gb оперативной памяти, винчестер 250 Gb, DVD
- Мультимедиа-проектор, принтер.
1.2 Программное обеспечение:
- ОС Windows XP (7)
- Программа для работы с виртуальными машинами Oracle VM Virtual Box.
- ОС Linux. Оболочка KDE
- Командная строка ОС Linux
2Основные теоретические положения:
Пользователь root
В операционной системе Linux всегда имеется привилегированный пользователь (администратор, суперпользователь) — root, который регистрирует всех остальных пользователей и определяет их права в системе. Пароль системного администратора определяется при установке Linux, а для дистрибутивов типа Live CD он задается разработчиками.
Системный администратор как суперпользователь может в любой момент прекратить работу Linux, вызвав перезагрузку компьютера, с помощью команды reboot.
Для прекращения работы Linux также используются команды halt, fasthalt fastboot. Все названные команды представляют собой короткий вариант команды shutdown с определенными параметрами:
- halt — shutdown -h now
- fasthalt — shutdown -fh now
- fastboot — shutdown -fr now
- reboot — shutdown -r now
Параметры команды shutdown означают следующее:
· -f — создать файл /fastboot и при следующей загрузке компьютера пропустить тестирование файловой системы;
· -h — остановить систему;
· -r — перезапустить систему.
Сочетание клавиш Ctrl+Alt+Del в Linux аналогично команде ctrlaltdel с аргументами:
ctrlaltdel {hard]soft}
- hard — немедленная перезагрузка системы, что приводит к неправильной синхронизации файловой системы;
- soft — ядро получает сигнал INT и проводит корректную перезагрузку системы.
2.2 Назначение команд командной строки:
· whoami – показывает имя пользователя системы
· uname – информация о типе ОС (если ввести команду uname -a, то будет показано тип ОС, хостнэйм, версия ОС, издание ОС, архитектуру компьютера, платформу).
· Помощь по команде команда (команда –help) или (man команда выход из команды man - q)
· wпоказывает, чем занимаются пользователи сети (результат команды покажет машинное имя каждого пользователя, его терминал, время входа и последнюю введённую пользователем команду).
· who - показывает кто работает в вашей системе и как долго они там находились
· dd [КЛЮЧ]... - копирует файл, преобразует и форматирует в зависимости от ключей.
· file –определение типа файла: file [OPTION]... [FILE]... Команда file работает, используя файл /usr/share/misc/magic
· wc – подсчитывает количество строк, слов, байт, или символов в текстовом файле
· test – проверяет типы файлов и сравнивает значения.
· history –показ последних файлов истории команд.
· alias – псевдонимы команд.
Распределение знаков. Метасимволы - символы, имеющие специальное значение для интерпретатора
2.3.1 Метасимволыимён файлов
· Звёздочка - заменяет любое количество символов, например ls *.txt
· Знак вопроса – заменяет любой конкретный единичный символ ls mc6????
2.3.2 Последовательное выполнение команд – через ;в одной строке – команде.
2.3.3 Оператор &используется для того, чтобы организовать исполнение команд в фоновом режиме.
Условное выполнение команд
- Оператор && - выполнение команды, при условии успешного выполнения предыдущих.
- Оператор || - выполнение команды, при условии неуспешного выполнения предыдущих.
· and (&&) – если выполнение первой команды прошло успешно, то переход к другой команде
Структура команды: cd /user/bin&&ls – эта команда указывает перейти в каталог user/bin и показать в нём файлы и каталоги
· or –даже если выполнение первой команды не прошло успешно, то должен произойти переход к другой команде, если первая команда правильная, то вторая игнорируется
· if– конструкция условного оператора (if list1; then list2; else list3; fi)