
- •Особенности системы. Основные понятия
- •Основные компоненты ос 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 они теряются, поэтому уничтожать их вручную, как правило, не требуется. Если же возникла такая необходимость, используйте команду unset. Синтаксис: unset [имя _ переменной…]
-
Присвоение значений переменным
Существует еще несколько способов присвоения значения переменной:
-
использование команды read для присвоения ввода переменной;
-
перенаправление вывода команды в переменную;
-
присвоение позиционного параметра переменной.
-
Использование команды read
Общий формат команды read:
read variable<ENTER>
Значение, присвоенное командой read переменной variable, будет заменять $variable где бы она не встречалась в программе пользователя.
Команда read будет ждать до тех пор, пока вы не введете строку символов и нажмете клавишу <ENTER>, тем самым присваивая строку переменной.
Следующий пример покажет вам, как написать простую shell программу num.please, содержащую имена. Программа будет выглядеть следующим образом:
cat num.please<ENTER>
echo Введите имя:
read name
grep $name home/list
Создайте файл list, содержащий несколько фамилий и номеров телефонов. И теперь запустите файл num.please. В следующем примере приводится текст программы mknum, которая создает список номеров телефонов и абонентов.
Если вы хотите, чтобы вывод команды echo добавлялся в конец списка, то вы должны использовать >>. Если вы будете использовать >, то список будет состоять из последнего номера телефона, который вы добавили.
С помощью команды cat:
cat mknum<ENTER>
отобразите содержание программы mknum:
echo Введите имя
read name
echo Введите номер
read num
echo $name $num >> list
Сделайте mknum выполняемой программой:
chmod u+x mknum<ENTER>
-
Арифметические операции: команда let
Команда let - это команда интерпретатора BASH shell, обеспечивающая выполнение операций над арифметическими величинами. С помощью этой команды можно сравнивать числовые значения или выполнять над ними арифметические операции, такие как сложение или умножение. Команда let задается либо с помощью ключевого слова let, либо посредством двойных круглых скобок. Базовый формат команды включает ключевое слово let, за которым следуют два числовых значения, разделенных арифметическим оператором либо оператором сравнения:
$ let значение1 оператор значение2
Следующий пример наглядно демонстрирует, как изменяется работа интерпретатора при использовании ключевого слова let.
$ T=2+3
$ echo $T
2+3
$ let T=2+3
$ echo $T
5
В shell-сценариях может использоваться любой из перечисленных в таблице 1 операторов.
Ключевое слово let можно использовать и без оператора присваивания.
$ let 2*7
14
Если в арифметическом выражении между операндами необходимо поместить пробелы, выражение следует заключить в кавычки. Аргументом команды let может быть только одно арифметическое выражение, например: $ let "2*7"
Таблица 1
Арифметические операторы |
Функции |
* |
Умножение |
/ |
Деление |
+ |
Сложение |
- |
Вычитание |
Логические операторы |
Функции |
> |
Больше чем |
< |
Меньше чем |
>= |
Больше либо равно |
<= |
Меньше либо равно |
= |
Равенство в выражениях |
!= |
Не равно |