Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
27.03.2016
Размер:
341.5 Кб
Скачать

15. Спілкування з користувачем ззовні системи Unix

Зв’язок можливо встановити за допомогою однієї з двох команд:

- CU(call up) – виклик по телефону;

  • UUCP (Unix-to-Unix copy – копіювання з системи Unix у систему Unix).

До того, як ці команди можна буде використовувати, адміністратор системи повинен сформувати деякі системні файли та виконати фізичне з’єднання системними потрібними лініями зв’язку.

Команда CU дозволяє встановити зв’язок по телефонній лінії шляхом набору номера або прямо по провідній лінії та спілкуватися з іншою системою Unix, з терміналу ПЕОМ, на якій виконується інша операційна система. Якщо зв’язок встановлено, можливо вести діалог таким чином, наче ваш термінал з’єднано безпосередньо з іншою системою, та передавати файли у обох напрямках:

$ CU 3456000 - S 1200

Це означає, що встановлено зв’язок по телефону 3456000 і швидкість передачі з обох сторін 1200 біт/сек.

При встановленні зв’язкуна моніторі повинно з’явитися повідомлення:

Login:_

Після цього можливо увійти у іншу систему таким чином, як і у свою особисту. Відсилка файлу, наприклад, буде мати наступний вигляд:

~<message

~% put message

~% take reply - копіювання до іншої системи.

~. - завершення діалогу.

1) $ mail jim < letter [mail буде читати файл letter та передавати його jim]

$_

2) $ cat message > file_1 [читає з файлу massage та записує свій вивід у файл з ім’ям file_1]

$_

3) $ cat message > file_1 [якщо файл не існує]

cat : cant create file_1

$_

4) $ cat message > /dev/1p [вивід на друк]

$_

5) $ cat message > /dev/tty05 [переслати на другий порт]

$_

6) $ >empty.file [створити файл з ім’ям empty.file]

$_

7) $ cat message 1> &file.out 2>&file.error [додавання дескрипторів $_ файлів для направлення діагностики в різні файли або різні пристрої]

  1. $ cat message 1 >&file.all 2>&1

$_ [до одного й того ж файлу]

  1. $ cat message >file.both

$ cat greeting >> file.both

$_ [у файл file.both записується зміст файлів message та greeting]

16. Процесори інтерпритаторa b-shell

Щоб забезпечити можливість запуску з терміналу більше одного процесу додають амперсант &. Це дозволяє вводити наступну команду не очікуючи завершення попередньої.

$ cc program.c &

308

$_

Ця команда викликає компілятор мови С для компіляції у фоновому режимі вихідного модуля програми з файлу program.c. Інтерпретатор ініціалізує цей процес, а ядро системи призначає йому номер процеса.

Виконання команди як фонового процеса не змінює організіції вводу та виводу. Якщо стандартний ввод такого процесу виконується зі свого терміналу, він може бути перерваний вводом з клавіатури для поточного привелейованого процеса. Щоб уникнути цього, краще переадресувати ввод та вивід фонових процесів (no hangup).

$ nohup cmp file1 file2 &

320

sending output to ‘nohup.out’

$_

$ peek=ginger

$port=’>/dev/tty01’

$eval $peek $port

finger >/dev/tty01

$_

Значення змінної можна використати для визначення цієї змінної.

$ word=character

$ word=meta$word

$ echo $ word

metacharacter

$_

UID – виводить ідентифікатор користувача ID;

PPID – виводить номер батьківського процесу 37 є батьком процесів 283 та 421;

PRI – виводить пріорітет процеса, який визначено по змінній NICE. Більше число значень – більш низький пріорітет;

NICE – значення для визначення пріоритету. Це значення можна збільшити за допомогою команди nice;

SZ – виводиться об’єм який займає процес у оперативній пам’яті;

WCHAN – зв’язана з колонкою F, виводить ім’я події до виникнення якої процес затримано, що визначається значенням S у коклнці S. Для активного процесу WCHAN – пропуск;

TIME – виводить сумарний час виконання процесу.

Команда nice.

Щоб розділити час для виконання багатьох процесів, що виконуються на різних терміналах потрібно втсановлювати пріорітети. При запуску процеса перший раз всі вони починаються з одного й того ж рівня пріорітета. Це значить, що кожний процес отримує однакову <увагу> ЦП і може приводити до уповільнення роботи системи в цілому.

$ nice cc screen.c &

212

$ ps –al

F S UID PID PPID CPU PRI NICE ADDR SZ WCHAN

1 s 203 30 1 0 30 20 44 16 6f4c

1 s 0 31 1 0 28 20 49 16 190c

1 s 203 212 30 50 30 30 65 44 6ff6

1 r 12 217 30 161 62 20 8e 28

TTY TIME CMD

cc 0:09 -sh

00 0:01 -2

c0 0:01 cc screen.c

c0 0:09 ps –al

$_

Без аргументів nice збільшує числові значення пріорітету на 10 (що знижує пріорітет).

Для зміни на іншу кількість (від 1 до 19) вказують розмір зміни:

$ nice –12 cc program.c &

$_

NICE=32 (20+12)

Призначити пріорітет менший за 20 може тільки привелейований користувач. При цьому задається від’ємний аргумент:

$ nice –10 cc screen.c &

Команда kill.

$ kill 283 видаляє процес,

$_

але якщо не видалено

  1. $ cc screen.c &

283

$ ps

PID TTY TIME CMD

283 02 0:02 cc screen.c

037 02 0:11 -sh

290 02 0:01 -ps

$_

Якщо у списку не існує номер фонового процесу, то він може бути закінчений.

Перед передачею аргументів команді, що викликається shell завжди завжди присвоює їх значення позиційним параметрам.

$ bounce one two three five six

one two three four five six

$_

У цьому прикладі файл bounce, який містить команду echo $1 $2 $3 $5 $2 $4 $6 виводить рядок за вказаним порядком аргументів.

Соседние файлы в папке Додаткова інформація