Термінал і консоль, російськомовна документація по ubuntu
Це робочий варіант статті, адаптованості для Lubuntu 14.04 LTS.
Отже, давайте спочатку подивимося, що з себе представляє цей самий термінал. Клацніть мишкою по іконці Головного Меню і в розділі Стандартні виберіть LXTerminal. Можна зробити простіше, скориставшись комбінацією клавіш Ctrl Alt T. Запустивши термінал ви побачите приблизно таке віконечко:
Знайомтеся, це і є термінал. Він створений для того, щоб виконувати текстові команди, тому відкладіть свою мишку в бік і підсуньте ближче клавіатуру 1).
Давайте виконаємо якусь командочка, наприклад:
На виході отримаємо кодове ім'я нашого дистрибутива:
Набирати такі команди з клавіатури посимвольний трохи незручно, тому давайте відразу розберемося з основами управління терміналом. Почнемо з копіювання / вставки. Стандартні комбінації клавіш Ctrl + C і Ctrl + V в терміналі не працюють, замість них використовується стара добра пара Ctrl + Insert з Shift + Insert або ж поєднання з Shift. Ctrl + Shift + C для копіювання і Ctrl + Shift + V для вставки. Що ж, тепер ви вмієте цілком копіювати команди з посібників.
До речі, в більшості керівництв та інструкцій ви зустрінете саме термінальні команди. Це пов'язано з тим, що, графічних оболонок дуже багато, і пояснити, як виконати якусь дію для кожної з них буває дуже непросто. А термінал - один для всіх, і одна і та ж команда працює у всіх оболонках (природно, крім команд з налаштування самої оболонки). До того ж, набагато простіше дати одну команду, ніж пояснити де і як 10 раз натиснути мишкою.
Однак, часто все-таки команди доводиться набирати вручну, а не вставляти звідкись. І ось тут на допомогу приходить чудове властивість терміналу, зване автодоповнення. Наберіть в терміналі символи apt-g. а потім натисніть клавішу Tab. Термінал автоматично доповнить за вас команду. До речі, apt-get - це основна консольна утиліта управління пакетами, але про це згодом.
А тепер спробуйте набрати тільки apt і натиснути Tab. Нічого не відбувається? А тепер натисніть Tab два рази поспіль. Бачите, термінал видав вам список всіх команд, що починаються з apt.
Зручно, чи не так? Особливо, якщо звикнути.
Автодоповнення в терміналі працює практично скрізь, і не тільки для команд, але так само для їх аргументів і імен файлів. Експериментуйте з ним, воно значно скорочує час набору, та й взагалі, термінал без автодоповнення - це не термінал.
Ще одна хитрість. Відкрийте термінал натисніть клавіші Ctrl + R перед початком введення потрібну команду. Термінал автоматично підставить підходящі варіанти з набраних раніше команд.
Почну розповідь напевно з того, що в будь-який момент часу роботи в терміналі ви перебуваєте в деякому каталозі. При запуску терміналу поточної Директорією є домашній каталог користувача, але потім ви звичайно можете її поміняти.
Дізнатися, в який же папці ви зараз перебуваєте, дуже просто, достатньо подивитися на запрошення терміналу, тобто на ті символи, які друкуються автоматично на початку кожного рядка:
Поточний каталог - це те, що між символами. і $. До речі, зверніть увагу, перед. варто ім'я користувача і ім'я комп'ютера, розділені символом @. Але коли ви запускаєте термінал, то між. і $ варто символ
При запуску терміналу поточним каталогом стає домашня папка користувача, так ось, символ
У мене це / home / user2.
Добре, як з'ясувати місце свого перебування, ніби розібралися, а як же його змінити? Для цього призначена команда cd. виконайте, наприклад, команду
Бачите, поточне місце розташування змінилося:
Про всяк випадок нагадую, що імена файлів і каталогів в Linux чутливі до регістру символів, тобто Музика і музика - ця два абсолютно різних імені.
Після команди cd можна вказувати як повні шляхи щодо кореня, так і відносні, відраховується від поточного каталогу. В наведеному вище прикладі я використовував відносний шлях. А ось повний:
Хочу відразу звернути увагу на кілька важливих особливостей. По-перше, при наборі шляхів так само працює автодоповнення по Tab. це дуже зручно. По-друге, використовувати різні небуквених символи і прогалини безпосередньо при наборі шляхів не можна. Наприклад, для того, щоб перейти в каталог, що містить в імені символ пробілу, треба при наборі шляху до такого каталогу перед пропуском поставити символ зворотного слеша \. Ось так:
Установка зворотного слеша перед деякими символами називається екрануванням. До речі, при використанні автодоповнення все слеші розставляються автоматично. Крім того, можна просто укласти шлях в подвійні лапки:
Але в цьому випадку автодоповнення працювати не буде.
можна використовувати і при наборі шляхів, наприклад:
А для переміщення безпосередньо в домашній каталог досить просто набрати cd без аргументів.
Для переміщення на каталог вище можна використовувати команду
Взагалі, дві точки позначають завжди батьківський каталог, тому можна робити так:
В принципі, все можна як завгодно комбінувати, в розумних межах, звичайно. Ну і наостанок про cd. Переміститися в попередній відвіданий каталог можна командою
Як переміщатися по каталогам в першому наближенні ніби розібралися, тепер же я розповім про деякі інші корисні операції. Подивитися вміст поточного каталогу можна командою ls.
Зазвичай командам можна передавати різні модифікатори, наприклад:
До речі, ця команда показує різну додаткову інформацію про вміст каталогу.
Дуже часто параметрами команд є імена файлів або папок, саме для цього я так детально розповідав про спосіб переміщення по каталогам і використання різних імен файлів в якості аргументів. Наприклад, команда cat показує вміст текстового файлу, і якщо ви хочете подивитися вміст файлу test.txt. лежачого в вашому домашньому каталозі, то ви могли б виконати команду
Початківців користувачів Linux дуже часто люблять лякати так званими Манамі. Справа в тому, що man - це система довідки про команди для терміналу. Користуватися їй дуже легко, просто наберіть в терміналі
З'явиться власне текст довідки 3). розбитий на розділи. Переміщатися по ньому можна за допомогою стрілок і клавіш PgUp і PgDown. а для виходу просто натисніть Q.
Крім man-сторінок у багатьох утиліт 4) є вбудована довідка, яку зазвичай можна подивитися, запустивши програму з ключем --help.
Є й інші способи отримання допомоги, наприклад схожа на man утиліта info. Але найчастіше найбільш повну інформацію про програму можна отримати саме з man-сторінок, а коротку довідку - вказавши ключ --help при виклику 5).
Наостанок хочу лише сказати, що термінал зберігає історію введених користувачем команд, яку ви можете гортати в реальному режимі стрілками вгору і вниз на клавіатурі. Це дуже зручно для повторного виконання введених раніше команд. А подивитися всю історію можна командою
У кожної команди в історії є номер, виконати знову команду з певним номером можна набравши в терміналі знак оклику і номер потрібної команди:
А повторити попередню набрану команду можна просто написавши два знаки оклику. Рухатися по історії набраних команд можна стрілочками вгору / вниз клавіатури. Натиснувши один раз на стрілку вгору - термінал покаже останню набрану команду, два рази - передостанню, і так далі. Якщо потрібно повернутися назад - натисніть стрілочку вниз.
Про всяк випадок трохи торкнуся ще однієї теми. Буває так, що ви щось запустили в терміналі і хочете перервати роботу цього чогось. Зазвичай це зробити дуже просто, достатньо натиснути на клавіатурі клавіші Ctrl + C 6).
Є й інші керуючі поєднання, наприклад Ctrl + D посилає сигнал кінця файлу запущеному додатку, а без запущених утиліт робить те саме, що і термінальна команда exit. Ну а якщо ви хочете більш докладно управляти працюючими програмами, то подивіться на системний монітор htop. який, правда, потрібно доустанавливать окремо.
Якщо у вас склалося враження, що термінал - це якась примітивна програма, здатна виконувати дуже прості команди, то це хибне враження. Насправді є дуже багато консольних утиліт з багатющими можливостями. Наприклад, як уже згадувалося вище, серверні версії Ubuntu поставляються без графічної оболонки. За допомогою тільки консольних утиліт можна налаштувати і керувати складними багатофункціональними серверами.
І наостанок, як приклад, розглянемо простий консольний файловий менеджер. Пам'ятайте, в одній з попередніх глав ми встановили в нашу систему Midnight Commander. Введіть в терміналі команду
і побачите, що вийде:
У користувачів старшого віку, встигли попрацювати в DOS, це вікно може викликати гострий напад ностальгії.
Не плутайте термінал з консоллю. Для роботи консолі графічна оболонка не потрібна зовсім. Саме так працюють серверні версії Ubuntu. Термінал - це тільки одна з програм, які емулюють роботу консолі. У «справжню» консоль можна потрапити набравши комбінацію клавіш Ctrl + Alt + Fx (де Fx - клавіші від F1 до F6). Після цього потрібно ввести свій логін і пароль (пароль ніяк не відображатиметься, ні зірочками, ні рисками - взагалі ніяк). Назад в графічну оболонку - Ctrl + Alt + F7.
Все, що говорилося по відношенню до терміналу, дійсно і для консолі. Всі команди терміналу - працюють в консолі. Більш того, термінал був створений для того, щоб була можливість використовувати консольні утиліти при роботі в графічній оболонці.
Ви, напевно, подумали: а навіщо ця консоль потрібна, якщо є термінал? Наведу тільки два приклади:
іноді якась програма може зависнути і «повісити» всі графічну оболонку (хоч і трапляється таке нечасто). Тоді можна перейти в консоль, командою
подивитися номер завислого процесу і командою
завершити завислий процес.
На цьому, мабуть, закінчимо короткий вступ в багатющий світ консольних команд Linux і розглянемо ще деякі особливості цієї багатогранної операційної системи:
1) Насправді, мишка в терміналі теж працює, наприклад, копіювати текст в терміналі зручно саме мишкою
2) Але тільки коли цей символ використовується як ім'я каталогу в шляхах до файлів.
3) Чи вам повідомлять, що довідкової сторінки для цієї команди немає. Хоча в основному інформація є по всіх командах, крім вбудованих термінальних, начебто cd.
4) Якщо ви раптом не знаєте - практично будь-яка консольна команда є насправді окремою програмою, а не який-небудь вбудованої можливістю терміналу. Фактично, тільки cd є частиною терміналу, а для всіх інших команд можна легко знайти основний виконуваний файл, набравши в терміналі І навіть which - це теж окрема програма. Якщо ви вдумайтеся у все це - то, сподіваюся, почнете краще розуміти Linux в цілому і термінал зокрема. Але якщо ви вважаєте все це занадто складним, то можете просто використовувати термінал коли буде потрібно і ні про що не думати.
5) Як я вже згадував у попередній виносці - кожна команда по суті є окремою програмою. Так ось, довідка по --help завжди вбудована в саму програму, а man і info беруть інформацію з окремих файлів документації, які не завжди поставляються разом з додатком. Найчастіше, правда, їх можна поставити окремо за допомогою відповідного пакета з припискою -doc. але про встановлення пакетів я ще не говорив, так що просто майте це на увазі.
6) Це особливо актуально при випадковому запуску якихось вкрай небезпечних команд з неправильними аргументами, наприклад До речі, знайомтеся, ця команда видалить абсолютно всі файли з вашого комп'ютера. Саме тому не варто її ніколи виконувати. Навіть якщо ви перерве її виконання на середині - систему ви відновити вже не зможете. Я пишу це лише для того, щоб показати, що незважаючи на всю міць терміналу (або завдяки їй) при виконання консольних команд найголовніше - це уважність користувача. Ніколи не виконуйте команд, призначення яких ви не розумієте. Наприклад, команда робить рівно те ж, що і згадувана вище І найжахливіше, що запустивши її ви навіть нічого не помітите до тих пір, поки вона не закінчить роботу і ви не знайдете пропажу абсолютно всіх своїх файлів. Так що завжди будьте уважні!