81
собственный лимит, но только суперпользователь может его увеличить.
umask [nnn]
Пользовательская маска создания файлов становится равной nnn (восьмеричное) [см. umask(1)]. Если nnn опущено, выдается текущее значение маски.
unset [имя ...]
Для каждого указанного имени удалить соответствующую переменную или функцию. Переменные PATH, PS1, PS2, MAILCHECK и IFS не могут быть удалены.
wait [идентификатор_процесса]
Ждать завершения указанного фонового процесса и вывести код его завершения. При отсутствии аргумента ждать завершения всех активных фоновых процессов. В этом случае код завершения будет нулевым [см. wait(1)].
Винтерактивном режиме, shell взаимодействует с конкретным пользователем посредством консоли (терминала):
•пользователь в консоли набирает (редактирует) цепочку символов и, в конце цепочки нажимает клавишу «Ввод»;
•shell проводит синтаксический анализ введенной цепочки, выделяет простые команды, формирует конвейер команд и запускает задание;
•когда задание, которое может состоять из множества процессов, завершится, shell выдаст на консоль приглашение на ввод новой цепочки символов.
Задания, выполняющиеся указанным способом, называются заданиями, выполняющимися в приоритетном режиме. Shell блокирует ввод новых цепочек символов до завершения таких заданий.
Если пользователь, перед нажатием клавиши «Ввод» укажет символ &, то задание будет выполняться в фоновом режиме. В этом случае:
•shell выводит на консоль номер задания, заключенный в квадратные скобки, и номер PID родительского процесса задания;
•после этого, shell выводит на консоль приглашение пользователю для ввода
новой цепочки символов.
Например,
$ ls -l & «Ввод»
[1] 534
… - список файлов текущей директории
$
Для просмотра списка запущенных заданий используется команда jobs. Например,
$mousepad .upk_theme &
82
[1]547
$cat *.c > myprogs &
[2] 548
$jobs
[1]+ Running lpr intro
[2] - Running cat *.c > myprogs
$
здесь знак плюс означает выполняемое в данный момент задание, а знак минус — задание, ожидающее выполнения.
Для перевода фонового задания в приоритетный режим работы, используется команда fg (foreground).
Например,
$fg %2
cat *.c > myprogs
$
Для отмены заданий, выполняющихся в фоновом режиме, используется команда kill, которая в качестве аргумента может использовать номер задания или PID. В результате применения этой команды, задание прекращает работу, а созданные им процессы уничтожаются.
Например,
$jobs
[1]+ Running lpr intro
[2] |
- |
Running cat *.c > myprogs |
$ |
kill |
%2 |
$ |
|
|
или, тоже самое:
$ |
kill 548 |
$ |
|
Выполнение задания в приоритетном режиме можно прервать, используя комбинацию клавиш Ctrl-Z.
При этом:
выполнение задания приостанавливается и shell выдает пользователю приглашение на ввод новой цепочки символов;
командой fg (foreground) задание можно перевести в приоритетный режим; командой bg (background) задание можно перевести в фоновый режим.
83
Если запустить ОС может любой пользователь, который включит питание ЭВМ и, возможно, выберет в меню тип загружаемой ОС, то для выключения компьютера,
пользователь должен иметь права на запуск команд:
halt |
[OPTION] … |
poweoff |
[OPTION] … |
reboot |
[OPTION] … |
shutdown |
[OPTION] … TIME [MASSAGE] |
Замечание
Работая в графической оболочке, пользователь для выключения ЭВМ использует соответствующее меню. В этом случае, команды и сам процесс выключения ОС —
скрыт от пользователя.
Цель лабораторной работы №3 — практическое закрепление учебного материала по теме «Языки управления ОС».
Метод достижения указанной цели — чтение учебного материала, изложенного в первом разделе данного пособия и выполнение указанных в тексте команд в окне терминала.
Чтобы успешно выполнить данную работу, студенту следует:
•запустить ОС УПК АСУ, подключить личный архив и переключиться в сеанс пользователя upk;
•запустить на чтение данное пособие и на редактирование личный отчет;
•открыть одно или несколько окон терминалов, причем хотя бы в одном окне
терминала открыть Midnight Commander, для удобства работы с файловой системой ОС;
•приступить к выполнению работы, последовательно пользуясь рекомендациями представленных ниже подразделов.
Замечание
Многие команды ОС студенту еще не известны, поэтому следует:
•для вывода на консоль руководства по интересуемой команде, использовать: man имя_команды;
•для выяснения сущесвования команды, ее доступности и местоположения, использовать: command -v имя_команды;
•для уточнения правил запуска конкретной команды, можно попробовать один из вариантов: команда --help или команда -h или команда -?.
84
Прочитайте и усвойте материал подразделов 3.1-3.3 данного пособия. Повторно, в подразделе 532, разберитесь с потоками ввода/вывода программы.
Вподразделе 3.3:
•выполните в терминале команду env; изучите содержимое вывода и отразите в отчете;
•выведите содержимое основных переменных среды командой: echo $имя;
•выполните команду: echo $UPK_THEME;
•просмотрите содержимое файла командой: cat ./.upk_theme;
•выполните команду: . ./.upk_theme;
•выполните команду: echo $UPK_THEME;
• выполните команду: unset UPK_THEME;
•выполните команду: echo $UPK_THEME;
•результаты исследования отразите в отчете.
Прочитайте и усвойте материал подразделов 3.4-3.6 данного методического пособия.
Повторно прочитайте подраздел 3.5.
Просмотрите и выполните сценарий listing3.1, как показано на рисунках 3.3-3.4. Разберитесь и самостоятельно проверьте работу подстановок в параметрах и отразите результаты в отчете.
В подразделе 3.6, исследуйте работу шаблонов: выполняйте команды: ls шаблон;
результаты исследования отражайте в отчете.
Прочитайте и усвойте материал подразделов 3.7 данного методического пособия. Повторно изучите переадресацию и выполните:
echo |
'Текст 1' > файл |
cat |
./файл |
echo |
'Текст 2' >> файл |
cat |
./файл |
echo |
'Текст 2' > файл |
cat |
./файл |
результаты исследования отразите в отчете.
85
Прочитайте и усвойте материал подразделов 3.8-3.9 данного методического пособия.
Перечитайте подраздел 3.8 и выполните демострационные примеры.
Перечитайте часть подраздела 3.9, касающуюся управляющих операторов, и выполните демострационные примеры, показанные на рисунке 3.8 и листингах 3.1, 3.2.
Результаты опишите в отчете.
Перечитайте оставшуюся часть подраздела 3.9 и выполните интересные вам команды.
Результаты опишите в отчете.
Прочитайте и усвойте материал подразделов 3.10-3.13 данного методического пособия.
Повторно перечитайте и выполните исследовательские действия по учебному материалу подразделов 3.10-3.12.
Отразите результаты исследований в отчете.
Проведите создание архива и запись его на личный flashUSB.
Попробуйте командами, описанными в подразделе 3.13, перезапустить и выключить компьютер.
Отразите результаты исследований в отчете.
Запустите на просмотр файл upk_asu.pdf. Перечитайте его подразделы 2.5 и 2.6.
Опишите в отчете основные различия языка shell и языка GRUB. Проведите создание архива и запись его на личный flashUSB. Выключите компьютер и завершите лабораторную работу.