
- •Особенности системы. Основные понятия
- •Основные компоненты ос unix
- •Начало работы с командной строкой, командами, процессами
- •Вход пользователя
- •Ввод простых команд
- •Печать времени
- •Получение информации о работающих пользователях
- •Уничтожение процесса
- •Выход пользователя
- •Формирование команд
- •Формат команд
- •Стандартные файлы
- •Перенаправление стандартного ввода-вывода
- •Организация конвейеров команд
- •Использование метасимволов
- •Файловая система ос unix
- •Общие сведения
- •Структура
- •Именование файлов
- •Механизм защиты файлов
- •Работа с файлами и каталогами
- •Вывод содержимого каталога
- •Изменение текущего каталога
- •Создание каталога
- •Вывод имени текущего каталога
- •Переименование каталога
- •Удаление пустого каталога
- •Вывод содержимого файла, конкатенация файла и создание файла
- •Переименование и перемещение файлов
- •Копирование файлов
- •Удаление файлов и каталогов
- •Установка и изменение режима доступа к файлу
- •Лабораторная работа №6 Управление процессами в ос Linux
- •Введение
- •О процессах linux
- •Клонирование процессов, процессы init и exec
- •Стандартные ввод и вывод
- •Элементарные операции над процессами
- •Перенаправление ввода и вывода
- •Операторы перенаправления ввода-вывода Linux перечислены в таблице 1.
- •Связывание процессов с помощью каналов (конвейеров)
- •Многозадачность
- •Приоритетный и фоновый режимы
- •Мониторинг многозадачной среды
- •Информация о состоянии процессов. Мониторинг процессов с помощью ps
- •Теперь, посмотрим результат вывода следующей команды:
- •Получение списка пользователей, работающих в системе
- •Запуск команд в заданное время с помощью команд at и batch
- •Запуск команд в определенное время с помощью команды at
- •Первая команда
- •После ввода всей команды вы увидите на дисплее нечто, наподобие:
- •Управление многозадачностью
- •Использование команды nohup
- •Изменение приоритета команд с помощью nice
- •Изменение приоритета работающего процесса с помощью renice
- •Прекращение процесса с помощью kill
- •Лабораторная работа №7 Командный интерпретатор shell
- •Запуск и выход из оболочки
- •Интерпретация командной строки
- •Последовательное выполнение команд (символ ;)
- •Специальные символы
- •Поиск всех символов (метасимвол *)
- •Поиск по одному символу (метасимвол ?)
- •Использование кавычек для отмены значения символа пробел
- •Создание простых программ shell и их выполнение
- •Ограничения при именовании программ shell
- •Переменные
- •Позиционные параметры
- •Специальные параметры
- •Именованные переменные
- •Удаление переменных
- •Присвоение значений переменным
- •Использование команды read
- •Арифметические операции: команда let
- •Конструкции языка программирования Shell
- •Комментарии
- •Оператор for
- •Оператор while
- •Условные операторы. Оператор if ... Then
- •Общий формат конструкции if
- •Безусловная передача управления
- •Отладка программы
- •Лабораторная работа №8 Работа в графической среде X Windows
- •К кнопка
- •Линейка пиктограмм
- •Кнопки виртуальных Рабочих столов
- •Список задач
- •Настройка kde
- •Центр управления kde
- •Настройка Панели
- •Добавление ссылок на приложения в Панель kde
- •Работа с файлами и каталогами в kde
- •Файловая система
- •Файловый менеджер Konqueror
- •Операции с файлами и каталогами с помощью файлового менеджера Konqueror
- •Создание файлов и каталогов
- •Изменение атрибутов файла
- •Редактирование файла
- •Работа со стандартными приложениями kde
- •Уничтожение окон в kde (аварийное закрытие программ)
- •Выход из kde
- •Ваши последние действия
- •Содержание
-
Ограничения при именовании программ shell
Shell программе вы можете дать любое имя, не совпадающее с именами системных команд. Если имя вашей программы совпадает с именем команды системы, то система будет выполнять вашу команду вместо системной.
-
Переменные
Shell программы манипулируют с переменными. Такими как:
-
позиционные параметры;
-
специальные параметры;
-
именованные переменные.
-
Позиционные параметры
Позиционные параметры являются переменными в shell программе. Их значение устанавливается из аргументов, указанных в командной строке, которая вызывает программу. Позиционные параметры нумеруются, и на них идет ссылка символами $: $1, $2, $3 и т.д. Shell программа может использовать до 9 позиционных параметров. Если shell программа вызывается с помощью командной строки наподобие:
shell.prog pp1 pp2 pp3 pp4 pp5 pp6 pp7 pp8 pp9 <ENTER>
то позиционному параметру $1 в программе присваивается значение pp1, $2 - значение pp2 и т.д. во время вызова программы. Чтобы практически рассмотреть это замещение позиционных параметров сделайте следующее. Команда who перечисляет всех пользователей, в данный момент зарегистрированных в системе. Можем создать простую программу whoson, которая будет сообщать, работает ли в настоящий момент конкретный пользователь. Введем в файл whoson командную строку: who | grep $1<ENTER>
Команда who перечисляет всех текущих пользователей системы, а команда grep осуществляет поиск строки, содержащей значение, соответствующее позиционному параметру $1. Теперь подставим конкретное имя в качестве аргумента в файле whoson, например, user1.
Если указанный пользователь user1 не зарегистрирован в данный момент в системе, grep завершится неудачно и whoson не будет ничего выводить на экран.
-
Специальные параметры
Наиболее важный из них : $?
Большинство команд shell возвращает коды, которые указывают, успешно ли завершилась команда. Если возвращаемое значение 0 (ноль), то команда выполнилась успешно. Коды возврата не печатаются автоматически, но их можно получить как значение этого параметра.
-
Именованные переменные
Переменная – это область данных, обладающая именем и содержимым. Имя может состоять только из букв и цифр и не может начинаться с цифры. Содержимое – любой текст. Значение именованной переменной вы присваиваете сами следующим образом:
name_variable=value<ENTER>
Обратите внимание, что ни слева, ни справа от знака равенства нет пробелов.
В следующем примере var1 - это имя переменной, а myname - значение строки символов, которое присваивается переменной:
Пример
var1=myname<ENTER>
Знак $ используется перед именем переменной в shell программе для ссылки на значение этой переменной. Если взять предыдущий пример, то ссылка $var1 говорит shell, что нужно заменить любую встретившуюся строку символов $var1 на значение myname.
Переменные могут хранить целые команды:
ls2=’ls –l’
$ ls2
Значение этих переменных вы можете определить двумя способами. Первый, вы можете ввести: echo $variable_name
Система распечатает значение переменной variable_name. Второй способ: вы можете воспользоваться командой env для распечатки значений всех определенных переменных в shell. Для этого введите команду env и система выдаст список всех имен переменных и их значения.