
- •7.080403 – Програмне забезпечення автоматизованих систем
- •1 Структура файлової системи, базовий та розгорнутий перелік команд ос unix
- •1.2 Підготовка до роботи
- •1.3 Методичні вказівки до виконання роботи
- •1.3.1 Процедура віддаленої реєстрації користувача на платформі unix
- •1.3.2 Файлова система
- •1.3.3 Середовище виконання процесів
- •1.3.4 Базові команди системи
- •1.4 Порядок виконання роботи
- •1.5 Завдання
- •1.7 Контрольні запитання
- •2 Редактор VI
- •2.3.3 Команди руху маркера по екрану монітора
- •2.3.4 Команди редактора, що забезпечують перехід у режим вводу
- •2.3.6 Команди копіювання
- •2.3.7 Команди пошуку вказаної символьної конструкції або літери
- •2.4 Порядок виконання роботи
- •2.5 Завдання
- •2.7 Контрольні запитання
- •3 Shell. Змінні оболонки shell. Застосування файла .Profile
- •3.3.2 Команда echo
- •3.3.3 Змінні середовища виконання
- •3.3.4 Файл .Profile
- •3.3.5 Використання лапок
- •3.3.6.1 Позиційні змінні (параметри)
- •3.3.6.2 Літерно-цифрові змінні (користувача)
- •3.3.6.3 Раніше визначені спеціальні змінні
- •3.3.7 Переадресація вводу-виводу за допомогою дескрипторів файлів
- •3.3.8 Шаблони, підстановки
- •3.3.9 Спеціальні символи shell операторів
- •3.4 Порядок виконання роботи
- •3.5 Завдання
- •3.7 Контрольні запитання
- •4 Shell. Оператори облонки shell. Програмування в оболонці shell
- •4.1 Мета роботи
- •4.2 Підготовка до роботи
- •4.3 Методичні вказівки до виконання роботи
- •4.3.1 Оператори мови shell
- •4.3.2 Синтаксис shell
- •If список команд
- •4.3.3 Створення та організація процедури у shell
- •4.3.4 Команди підтримки та їх особливості
- •4.3.4.1 Умовна перевірка: test
- •4.3.4.2 Оцінка арифметичних виразів expr
- •4.3.4.3 Команди true і false
- •4.3.4.4 Внутрішньорядкове введення документів
- •4.3.5 Передача параметрів до процедури shell
- •4.3.6 Приклади використання команд shell
- •4.3.6.1 Використання оператора if
- •If список команд
- •If список команд
- •4.3.6.2 Використання оператора case
- •4.3.6.3 Умовні цикли while та until
- •4.3.6.4 Організація циклу для списку: for
- •4.3.6.5 Керування циклами: break та continue
- •4.3.6.6 Кінець файла та вихід
- •4.4 Порядок виконання роботи
- •4.5 Завдання
- •4.7 Контрольні запитання
- •5 Мережні протоколи tcp/ip. Протокол telnet та протокол обміну файлами ftp
- •5.3.1.1 Командний режим telnet
- •5.4 Порядок виконання роботи
- •5.5 Завдання
- •6 Awk. Програмування на мові awk
- •6.3.1 Структура програми на мові awk
- •6.3.2 Поля
- •6.3.3 Вивід на друк
- •6.3.4 Форматований висновок
- •6.3.5 Прості шаблони
- •6.3.5 Вбудовані змінні
- •6.3.6 Змінним, обумовленим користувачем
- •6.3.7 Повідомлення про помилки
- •6.3.8 Вираження
- •6.3.8.2 Відносні вираження
- •6.3.8.3 Регулярні вираження
- •6.3.8.5 Символи
- •6.3.8.6 Комбінації виражень
- •6.3.8.6 Діапазони виражень
- •6.3.8.9 Вбудовані змінні
- •6.3.8.10 Арифметичні дії
- •6.3.8.11 Змінні поля
- •6.3.8.12 Деякі лексичні угоди
- •6.3.8.13 Вивід у файли
- •6.3.8.14 Вивід у канали
- •6.4 Порядок виконання роботи
- •6.5 Завдання
- •6.7 Контрольні запитання
- •Перелік рекомендованої літератури
1.3.3 Середовище виконання процесів
У системі UNIX програмою називається виконуваний файл, а процесом – послідовність операцій програми або частина програми при її виконанні. Система може одночасно виконувати багато процесів, які у свою чергу можуть ініціювати виконання нових процесів у системі.
Взагалі використання звернень до операційної системи дає змогу користувачу створювати різноманітні запити до системи, що виконують складні дії. Усі дії (команди) користувача умовно поділяються на такі групи – команди системи, виконувані програми (мається на увазі виконання відкомпільованого коду) та виконувані файли. Ці команди користувача обробляються командним процесором shell для подальшого виконання.
Слід звернути особливу увагу на виконувані файли. Це текстові файли, що можуть мати команди системи, команди оболонки shell і звернення до компільованих програм. Зміст цих файлів підлягає синтаксичному і семантичному аналізу, що дає змогу сформувати послідовності дій ядра операційної системи. Таким чином можна зазначити, що операційна система дає можливість інтерпретувати текстовий файл як програму.
Можливість інтерпретації командного рядка надає багато додаткових можливостей. Так, є змога, за допомогою спеціальних символів, вказати тип виконання команди – синхронне або асинхронне виконання, перевизначити пристрій вводу/виводу інформації, поєднати команди «каналом» та ін..
Є можливість навести приклад синтаксису формування команди користувача в операційній системі:
< ім’я команди > [ < розподільник > < опція(ії) команди >] [< розподільник > < аргумент(и) команди >] [< ознака кінця команди – “ enter ” або “;” або “&” (що вказує на виконання команди у фоновому режимі) або “|” (що вказує на наявність команди «приймача» результату виконання першої команди)] [ < вказівка на перепризначення пристрою вводу/виводу на ім’я файла >]
З цього прикладу можна зробити висновок, що команда користувача має складатися, як мінімум, з двох компонентів – імені та признаку кінця вводу команди (<RETURN>). Опції, аргументи та інше використовуються тільки у разі потреби.
Можна навести приклад використання команди who – інформація про користувачів, які зареєструвалися (працюють) у системі:
who синхронне виконання, результат виконання на дисплеї;
who & асинхронне виконання, результат виконання на дисплеї;
who | sort результат виконання команди who спрямований на вхід команди sort, остаточний результат виконання на дисплеї;
who > ff1 результат виконання команди who спрямований до файла.
1.3.4 Базові команди системи
Слід пам`ятати, що система дозволяє отримати довіку про невідому команду за допомогою команди системи man. Наприклад:
man who
Тепер необхідно ознайомитися з дією наступних команд.
-
№№
Ім’я команди
Дія команди
1
pwd
Виведення імені поточного каталога
2
ls
Виведення інформації про файли чи каталоги
3
cd
Зміна поточного каталога
4
cat
З’єднання та вивід файлів
5
more
Поекранний перегляд тексту файла
6
pg
Фільтр для перегляду файлів на екрані
7
mkdir
Створення каталога
8
cp
Копіювання файлів
9
mv
Переміщення (перейменування) файлів
10
rm
Вилучення файлів чи каталогів
11
rmdir
Вилучення каталога
12
ps
Виведення інформації про стан процесів
13
who
Хто у системі
14
du
Зведення про використання дискового простору
15
df
Зведення про кількість вільних блоків і описників файлів
16
exit
Знищення процесу
17
hostname
Встановлює чи друкує ім’я сервера системи
18
id
Виведення ідентифікаторів та імен користувача і групи
10
wc
Підрахунок кількості символів, слів і рядків у файлі
20
slip
Призупинення роботи на деякий час
21
sort
Сортування та/або з’єднання файлів
22
chmod
Зміна режиму доступу до файлів та каталогів
23
kill
Знищення процесу
Для подальшого ознайомлення з командами ОС слід звернутися до довідника /usr/bin, у якому знаходиться більша частина команд системи.
1.3.5 Зміна напрямку вводу/виводу, канали при виконанні команд
У ОС UNIX більшість команд потребують введення інформації з клавіатури (системний пристрій 0) та виводу інформації на термінал (системні пристрої 1 та 2). Але система UNIX дозволяє користувачу замінити стандартні пристрої файлами, які можуть бути джерелом інформації або виступати як пристрій накопичування інформації. Це є можливим, тому що у системі усі пристрої розглядаються як файли і мають однакові привілеї. Тому можна виконувати такі дії:
- замінити пристрій 0 на файл. Для цього потрібно використати знак «<», який дасть вказівку системі, що джерелом інформації для команди є файл. Тоді команда може мати такий вигляд:
сommand < <ім`я_файла>
Така конструкція має сенс, якщо застосована команда, що передбачає роботу з пристроєм 0;
- замінити пристрій 1 або 2 на файл. Для цього необхідно використати знак «>» або «>>». Перший застосовується, якщо потрібно записати (переписати) інформацію у файл. Другий – для поповнення вже існуючого файла. У такому разі команда може набути такого вигляду:
сommand > <ім`я_файла>
або такого
сommand >> <ім`я_файла>.
Наступним елементом керування потоків інформації, при виконанні команд, може бути канал «|». Це потужний засіб, який спрямовує результат виконання попередньої команди на вхід наступної. Кількість елементів у такій конструкції не обмежена. Така конструкція може набути такого вигляду:
command1 | command2 | command3 ... .