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
   13   14   15   16   17   18   19   20   21   22   23