Page 18 - 4820
P. 18
У кожній системі UNIX є в наявності кілька різних командних оболонок. Не
будемо наводити історію їхнього розвитку і причини існування кількох оболонок
одночасно. Просто слід зазначити, що практично в кожній системі можна знайти
звичну оболонку, або подібну до неї. Найбільш стандартною, що наявна в усіх
системах, є оболонка Bourne (Bourne shell), яка стала основою стандарту POSIX shell.
Ця оболонка пропонує мінімальний сервіс для користувача, і для інтерактивної роботи
незручна. Її файл – /bin/sh. Існують альтернативні оболонки. Одна з них – Korn shell
(/bin/ksh або /usr/bin/ksh), яку рекомендують як основну для роботи користувача в
багатьох системах, здебільшого у версіях System V Release 4 (SVR4). Інша – C shell
(/bin/csh), вона досить сильно відрізняється синтаксисом багатьох команд, але дуже
зручна для користувача і програміста, особливо для тих, хто добре знайомий з мовою
програмування С. Як правило, нею користуються адміністратори систем BSD Unix.
Також існують, але не у всіх системах є доступними, більш сучасні оболонки: TC shell
(/bin/tcsh) – розвиток C shell, і Bourne again shell (/bin/bash або /usr/bin/bash) – розвиток
Bourne shell. “Bourne again shell” зберігає програмну сумісність з sh, але включає в себе
всі можливості ksh, ця оболонка використовується як стандартна в Linux.
У подальшому ми будемо використовувати синтаксис оболонки sh (запрошення
має вигляд ‘$’), а в деяких випадках порівнювати її з csh (запрошення має вигляд ‘>’).
Командна оболонка, в якій розпочинає роботу користувач після входу в систему,
визначається з файлу /etc/passwd. Це один з найголовніших конфігураційних файлів
системи, який містить параметри облікових записів користувачів. Кожний рядок файлу
відповідає певному користувачу, точніше, обліковому запису користувача, що
розрізняється за ідентифікатором login або userid. Користувач у процесі роботи може
запустити іншу командну оболонку, просто набравши її ім’я.
Усі команди, які можна ввести у рядку запрошення оболонки, належать до однієї
з таких категорій:
- вбудовані функції,
- функції, що визначені користувачем,
- зовнішні програми й утиліти.
Вбудовані функції реалізуються фрагментами програмного коду оболонки і
виконуються найшвидше. Користувач може визначити свої функції (хоча таку
можливість використовують нечасто). Якщо команда не є вбудованою функцією і не
визначена як функція користувачем, тоді оболонка буде шукати файл з відповідним
ім’ям і намагатись запустити його на виконання. Якщо ім’я файлу задано із шляхом до
нього, то система намагається знайти його саме у тому каталозі, який явно задано у
команді, але якщо ім’я файлу задано без шляху, то пошук файла здійснюється лише у
тих каталогах, які задані системною змінною PATH. Зокрема, якщо у цій змінній не
задано пошук у поточному каталозі, і поточний каталог не є одним із тих, що задано у
цій змінній, то оболонка не побачить виконуваних файлів з поточного каталогу.
Розглянемо деякі основні команди. Слід зазначити, що немає штатного засобу,
який надавав би користувачеві перелік доступних йому команд, тому основні команди
необхідно пам’ятати.
Команда man форматує і відображає на терміналі сторінки довідкової системи.
Відповідно до номерів розділів даються посилання на ту чи іншу сторінку довідника.
Якщо є необхідність, можна вказати, в якому розділі треба шукати потрібну сторінку.
Приклади використання (системні запрошення не показані):
man passwd
man 7 mdoc
16