Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 06. Командні оболонки.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
57.96 Кб
Скачать

Змістовний модуль 5. Командні оболонки лекція 6. Командні оболонки

План

6.1. Огляд командних оболонок.

6.2. Командна оболонка bash.

6.3. Багатозадачність в консолі

6.4. Змінні середовища

6.5. Файловий менеджер Midnight commander

6.1. Огляд командних оболонок

Командна оболонка (shell) – це програма, що дозволяє користувачеві взаємодіяти з системою за допомогою введення і виконання команд. Проте, командна оболонка є звичайною програмою. Довести це можна, встановивши як оболонку за умовчанням у файлі passwd для користувача іншу програму. Але для того, щоб система знала її як оболонку, необхідно додати абсолютне ім'я файлу в /etc/shells.

У складі Linux йде декілька командних оболонок, їх склад може мінятися залежно від дистрибутива, але завжди ви зможете знайти:

Bourne Shell (sh) – найстаріша і найпоширеніша командна оболонка для Unix-систем. Немає жодної системи Unix, де вона б не застосовувалася.

Bourne Again Shell (bash) – розширена Bourne Shell . Має багато переваг, тому стала такою популярною останнім часом. Є оболонкою "за умовчанням" практично для всіх дистрибутивів Linux.

Також популярними оболонками є:

csh – оболонка, система команд якої близька до мови програмування C;

tclsh – оболонка, система команд якої близька до мови програмування Tcl;

zsh – оболонка, що має, мабуть, найширші можливості. Є розширенням sh (bourne shell).

Оскільки в Linux "за умовчанням" використовується bash, то про неї ми і поговоримо.

6.2. Командна оболонка bash

Командна оболонка bash спочатку була вільно-поширюваним аналогом Bourne Shell. Надалі, коли її можливості зросли, тоді її стали вважати самостійним продуктом. Основними можливостями bash можна назвати наступні:

Таблиця 6.1.

Можливість

Коментар

1

Редагування рядка

Можливість відредагувати введену команду замість того аби переписувати її заново

2

Організація каналів

Можливість перенаправлення введення-виведення, організації каналів між виконуваними завданнями

3

Зручність в роботі

Використання псевдонімів команд, історії команд, автодоповнення

4

Управління завданнями

Можливість створення фонових завдань і управління ними

5

Гнучкість налаштування

Використання файлів-сценаріїв для входу кожного користувача окремо, змінні середовища

Оболонка bash автоматично записує всі команди, введені користувачем, у файл ~/.bash_history. Для управління цим файлом служить команда history. history - це вбудована команда bash. Тобто, виконуваного файлу, відповідного цій команді не існує. Сама командна оболонка виконує всі дії. Введена без параметрів, вона просто виводить список всіх команд, збережених в цьому файлі та ідентична команді cat ~/.bash_history .

Історія команд існує для спрощення набору часто використовуваних команд. Історію команд можна перебирати за списком клавішами <вгору> і <вниз> .

Інший спосіб – набрати в командному рядку ! і початок команди і натискувати <Enter> . Остання команда з історії, перші літери якої збігаються з набраними, буде виконана. Наприклад:

Приклад 1:

[gserg@WebMedia gserg]$ !/usr

/usr/bin/perl ./ptest.pl

OK

[gserg@WebMedia gserg]$ !xfonts

bash: !xfonts: event not found

[gserg@WebMedia gserg]$

Але як прискорити введення, якщо в історії ще немає необхідної нам команди? В цьому випадку нам допоможе клавіша <Tab>. Набравши декілька перших літер команди (або шляху до файлу), натисніть <Tab> і Bash автоматично доповнить вашу команду. У разі, коли є декілька підходящих файлів або жодного не знайдено, система видасть звуковий сигнал. Якщо кнопку <Tab> натиснути повторно, то коли є декілька файлів – система виведе список, а коли не одного – повторить звуковий сигнал