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

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

ОС Linux – багатозадачне середовище. Проте, до цих пір Ви ще так і не змогли скористатися його багатозадачністю. На перший погляд здається, що консоль не дозволяє використовувати можливості багатозадачності системи, і лише в графічному середовищі можна запустити одночасно дві або більше програми. Але це не так! Консоль теж багатозадачна.

По-перше, ви можете відкрити декілька консолей, відкривши в кожній з них по програмі. Перемикання між консолями виконується за допомогою клавіш Ctrl+ <Alt+Fx>, де x – номер консолі.

І навіть в одній консолі за допомогою команд управління завданнями Ви можете повною мірою використовувати всі переваги багатозадачної системи.

<Ctrl+Z>комбінація клавіш, що посилає процесу неперехоплюваний сигнал sigstop . Дозволяє зупинити виконання процесу для передачі управління командному рядку.

команда & – символ & після команди дозволяє запустити її у фоновому режимі.

jobs – виводить список поточних завдань командного інтерпретатора.

bg <#j> – переводить завдання #j у фоновий режим. Перед цим завдання має бути зупинене комбінацією клавіш <Ctrl+z> . Якщо на даний момент в інтерпретатора є лише одне завдання, то номер можна не вказувати.

fg <#j> – переводить завдання #j в режим виконання на передньому плані. Завдання має бути зупинене комбінацією клавіш <Ctrl+Z> або знаходитися у фоновому режимі. Якщо на даний момент в інтерпретатора є лише одне завдання, то номер можна не вказувати.

Приклад 2:

[gserg@WebMedia gserg]$ man bash

^Z

[1]+ Stopped man bash

[gserg@WebMedia gserg]$ vim

^Z

vim

[2]+ Stopped vim

[gserg@WebMedia gserg]$ bg 1

[1]+ man bash &

[gserg@WebMedia gserg]$ jobs

[1]+ Stopped man bash

[2]+ Stopped vim

[gserg@WebMedia gserg]$ fg 2

[2]+ vim

[gserg@WebMedia gserg]$ fg

[1]+ man bash

[gserg@WebMedia gserg]$

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

Змінні середовища – системна інформація, яка вказує Ваші налаштування, такі як текстовий редактор за умовчанням, шляхи пошуку виконуваних файлів і тому подібне, а також ідентифікаційні дані користувача, системи і командної оболонки, такі як ім'я користувача, версія Linux і інше, використовувана командним інтерпретатором і іншими програмами.

Часто використовувані користувачем змінні це:

PATH – змінна містить шляхи, в яких системі слід шукати виконувані файли, якщо в командному рядку не набирається повний або відносний шлях до них.

PWD – змінна містить повне ім'я поточного каталогу.

HOME – змінна містить повний шлях до домашнього каталогу користувача.

HOSTNAME – змінна містить ім'я комп'ютера.

LOGNAME – містить ім'я користувача, сеанс якого відкритий зараз.

SHELL – містить ім'я командної оболонки, запущеної в поточному сеансі.

USER - містить ім'я користувача, сеанс якого відкритий зараз.

Список змінних, встановлених в системі можна побачити за допомогою команди export, введеною без параметрів.

Командний інтерпретатор bash має також і свої змінні. Аби локальні змінні стали системними їх необхідно експортувати за допомогою все тієї ж команди export. Наприклад:

Приклад 3:

[gserg@WebMedia gserg]$ export

declare -x HOME="/home/gserg"

declare -x HOSTNAME="WebMedia"

declare -x LANG="ru_RU.KOI8-R"

declare -x LOGNAME="gserg"

declare -x PATH="/bin:/usr/bin:/usr/local/bin:/home/gserg/bin"

declare -x PWD="/home/gserg"

declare -x SHELL="/bin/bash"

declare -x TERM="Eterm"

declare -x USER="gserg"

[gserg@WebMedia gserg]$ EDITOR=/bin/vim

[gserg@WebMedia gserg]$ export EDITOR

[gserg@WebMedia gserg]$ export

declare -x EDITOR="/bin/vim"

declare -x HOME="/home/gserg"

declare -x HOSTNAME="WebMedia"

declare -x LANG="ru_RU.KOI8-R"

declare -x LOGNAME="gserg"

declare -x PATH="/bin:/usr/bin:/usr/local/bin:/home/gserg/bin:"

declare -x PWD="/home/gserg"

declare -x SHELL="/bin/bash"

declare -x TERM="Eterm"

declare -x USER="gserg"

[gserg@WebMedia gserg]$

Команда unset видаляє системну змінну. Наприклад:

Приклад 4:

[gserg@WebMedia gserg]$ unset EDITOR

[gserg@WebMedia gserg]$ export

declare -x HOME="/home/gserg"

declare -x HOSTNAME="WebMedia"

declare -x LANG="ru_RU.KOI8-R"

declare -x LOGNAME="gserg"

declare -x PATH="/bin:/usr/bin:/usr/local/bin:/home/gserg/bin:"

declare -x PWD="/home/gserg"

declare -x SHELL="/bin/bash"

declare -x TERM="Eterm"

declare -x USER="gserg"

[gserg@WebMedia gserg]$