Робота в терміналі linux
Загальні відомості про роботу в терміналі.
nbsp nbsp Коли ви входите в системі Linux, виконується перевірка імені користувача та пароля, визначається набір змінних оточення і запускається інтерпретатор команд, який частіше називають оболонкою. У більшості дистрибутивів Linux за замовчуванням застосовуються оболонки sh або bash. Існують і інші оболонки, проте вони менш поширені, але при необхідності можна легко змінити оболонку за замовчуванням, або запускати її з командного рядка у міру потреби.
nbsp nbsp Команда Linux - це рядок символів з імені команди і аргументів, розділених пробілами. Аргументи надають команді додаткові параметри, що визначають її поведінку. Наприклад, команда
echo 12345
виведе на екран рядок символів 12345, введених в якості аргументу команди.
Команди, які є частиною оболонки називаються вбудованими. Природно, вони можуть відрізнятися для різних оболонок. Але є і команди, які не залежать від використовуваної оболонки, і що представляють собою окремі програмні модулі, стандартні для обраного вами дистрибутива Linux. В якості аргументів командам передаються ключі або опції, що складаються з тире і одного або декількох символів. Приклад такої команди:
ls -l
При використанні декількох ключів, їх можна об'єднати. Нижче наведені варіанти команд ідентичні.
ls -l -d
ls -ld
nbsp nbsp При роботі в командному рядку Linux необхідно дотримуватися деяких правил.
nbsp nbsp По-перше, не забувайте, що малі та великі літери для Linux - це різні символи. У Windows каталог TEMP і каталог Temp - це один і той же каталог, в Linux - це два різних. Це ж стосується команд, їх ключів, імен користувачів, паролів і т.п. консольні команди
ps -a
і
ps -A
видадуть вам різні результати.
nbsp nbsp По-друге, практично по всіх командах можна отримати довідку, поставивши в командному рядку ключ --help.
ps --help nbsp nbsp nbsp видасть вам довідку по команді ps (робота зі списком процесів).
nbsp За багатьма командам можна отримати додаткову довідку при використанні man - вбудованої довідкової системи.
man ps nbsp nbsp - видасть докладну інформацію по команді ps
nbsp nbsp По-третє, результат деяких команд залежить від ваших прав в системі. Для отримання прав root використовуйте команду su. Ця команда дозволяє змінити поточного користувача. Якщо користувач не заданий, то мається на увазі root.
nbsp Для початківця линуксоида (і не тільки початківця) великою підмогою може стати і файловий менеджер mc. дуже схожий на FAR або Norton Commander. Зараз він включається практично у всі дистрибутиви Linux, хоча за замовчуванням не завжди встановлюється. Дуже рекомендую встановити.
Як управляти виведенням на екран.
nbsp Для більшості дистрибутивів Linux замість less можна використовувати more.
Іноді зручно використовувати одночасно кілька терміналів, перемикаючись між ними (наприклад дивіться логи в одному вікні і керуєте конфігураційний файл в іншому).
Для перемикання використовується комбінація клавіш CTRL - ALT - F1. F6 (від першого терміналу до 6-го). Для перемикання в графічну оболонку використовується CTRL-ALT-F7.
Щоб запустити ще один графічний сервер на цьому ж комп'ютері, використовуйте команду startx 1 -: 1. Щоб перейти в другій графічний термінал, натисніть Alt + F8. а щоб повернутися в перший - Alt + F7. Таким чином можна відкривати до 64 графічних терміналів. (Startx 2 -: 2 і т.д).
Для завершення сеансу роботи з терміналом використовується команда exit.
nbsp nbsp Ви можете створити журнал своєї консольної сесії, в якому буде відображено всі, що ви вводили з клавіатури, і все, що видавалося на екран терміналу.
Для цього використовується команда
Щоб припинити запис в журнал введіть exit.
Як перезавантажити або вимкнути комп'ютер.
nbsp Одне і те ж дію в Linux часто можна виконати декількома способами. Стандартно для перезавантаження або виключення комп'ютера використовується shutdown. Команда має багато опцій, що дозволяють виконати перезавантаження в певний час, швидку перезавантаження без перевірки файлової системи, імітувати і скасовувати вже запущений (який чекає свого часу) процес перезавантаження.
Повний список опцій можна отримати по shutdown --help
Для негайного перезавантаження (restart) команда буде виглядати так:
shutdown -r now
nbsp Для виключення живлення (halt):
shutdown -h now
У більшості дистрибутивів можна використовувати короткі команди:
reboot - перезавантаження
halt - вимикання
Можна також скористатися зміною рівня запуску системи командою init. що дозволяє управляти запуском і завершенням процесів в системі з використанням скриптів, що зберігаються в / etc / inittab. Рівень 0 - виключення, рівень 6 - перезавантаження. відповідно
для виключення:
init 0
для перезавантаження:
init 6
Команду init можна використовувати для зміни рівнів запуску системи.
рівні:
1 - Однокористувацький режим. Доступ дозволено користувачеві root.
2 - багато користувачів режим без підтримки мережевих функцій.
3 - З підтримкою мережі.
4 - Зарезервовано.
5 - З використанням графічної оболонки.
nbsp nbsp Якщо вам потрібно завершити графічну оболонку (наприклад, інсталяція деяких додатків вимагає її закриття) введіть:
nbsp nbsp Графічна оболонка закриється і система перейде на рівень запуску 3. Для повернення на рівень 5 введіть:
nbsp nbsp Рівень запуску системи за умовчанням визначається значенням initdefault з / etc / inittab. Для запуску системи з підтримкою графічної оболонки вона виглядає так:
id: 5: initdefault:
Якщо 5 замінити на 3, то графічна оболонка при старті системи запускатися не буде. І для любителів небезпечних експериментів - не варто встановлювати рівень запуску 0 і 6 в якості рівня за замовчуванням. Думаю, зрозуміло чому.
Управління завданнями (процесами).
nbsp nbsp Подивитися список завдань в Linux можна за допомогою команди ps. Якщо її запустити без всяких параметрів, то вона видає список процесів, запущених в поточному сеансі користувача. Повний список опцій можна отримати стандартно - виконавши ps --help
. Приклади використання:
ps -A - видасть список процесів з ідентифікаторами (PID) і їх іменами
або:
ps -ax - видасть той же список процесів, але з повною рядком запуску
ps -U user
ps T
ps t ttyN
ps -U root | grep ppp - видати список завдань, що містять "ppp" в імені
nbsp nbsp Для отримання відомостей про використання ресурсів комп'ютера можна скористатися командою top

Нижче виводиться таблиця, що характеризує окремі процеси. Число рядків, що відображаються в цій таблиці, визначається розміром вікна. Вміст вікна оновлюється кожні 3 секунди. Натискання клавіші h виводить довідку по командам, які дозволяють змінити формат даних, що відображаються і управляти деякими параметрами процесів в системі:
nbsp nbsp Для виходу з top натисніть q
команда kill
nbsp nbsp Ці ж дії (примусове завершення процесу і зміна його пріоритету) можна виконати і без команди top.
nbsp nbsp Процеси в Linux мають можливість обмінюватися так званими "сигналами" з ядром та іншими процесами. При отриманні сигналу процесом, управління передається підпрограмі його обробки, або ядру, якщо такий підпрограми немає. У Linux є команда kill, яка дозволяє послати заданому процесу будь-який сигнал. Список сигналів можна отримати по команді:
kill -l
В результаті виконання цієї команди ви побачите список номерів і назв сигналів. Для того, щоб послати певний сигнал заданої процесу, потрібно ввести:
kill номер PID обраного процесу
Наприклад, нам потрібно завершити роботу додатка Midnight Commander (mc).
ps -A | grep mc
Нехай PID = 11597.
kill -3 11597
Після чого процес mc обробить сигнал GIGQUIT і нормально завершиться. Однак, якщо mc "завис", то, природно, завершитися він не зможе, оскільки підпрограма обробки сигналу SIGQUIT не отримає управління. У таких випадках використовується сигнал під номером 9 (SIGKILL), що обробляється ядром операційної системи, і примусово завершальний вказаний процес:
kill -9 11597
Якщо в команді kill номер сигналу не заданий, то використовується SIGKILL, тобто попередню команду можна було ввести як kill PID:
kill 11597
nbsp nbsp При завершенні процесу завершуються і породжені ним процеси.
nbsp nbsp Для завершення процесу по імені використовується команда killall:
killall mc - завершити процес, в імені якого є "mc"
killall -u user - завершити процеси, породжені користувачем user
Команди nice і renice
nbsp nbsp Щоб змінити пріоритет процесів використовуються команди nice і renice. При запуску процесу, його пріоритет задається значенням батьківського процесу, наприклад, терміналу xterm або командної оболонки shell. Команда nice дозволяє запустити процес з пріоритетом, рівним сумі батьківського (наприклад 8) і числа, що задається в якості опції команди nice:
nice - команда
nice -4 mc - запустить mc з пріоритетом = 8 + 4 = 12
Команда renice використовується для зміни пріоритету вже запущеного процесу:
renice -p PID
renice 4 -p 11597 - встановити значення пріоритету для процесу mc (PID = 11597) рівним 4.
Після виконання, renice видасть рядок результату:
11597: old priority 12, new priority 4 - старий пріоритет 12, новий пріоритет 4
Завдання нульового і негативного числа пріоритету можливо тільки з правами root.