Командний рядок, емулятор терміналу, командна оболонка Linux Mint. Знайомство з bash. | IT-блог про веб-технологіях, серверах, протоколах, базах даних, СУБД, SQL, комп'ютерних мережах, мовами програмування і створення сайтів.

  1. Командний рядок, емулятор терміналу і командна оболонка в Linux
  2. Інші види командних оболонок Linux
  3. Емулятор терміналу в Linux
  4. Пробуємо працювати з командною оболонкою bash
  5. Історія команд, використання курсора і ще кілька простих команд для оболонки
  6. Сеанси терміналу, які працюють під графічною оболонкою в Linux
  7. Я хочу продовжити випускати уроки по Linux Mint і командній оболонці bash

Привіт, відвідувач сайту ZametkiNaPolyah.ru! продовжуємо вивчати систему Linux на прикладі Linux Mint . Ми вже виконали всю підготовчу роботу (встановили і налаштували віртуальну машину, а потім вже на неї встановили дистрибутив Linux Mint). Тепер можемо спробувати попрацювати з нашим Linux. Природно, будемо працювати в консолі (хоча це не зовсім правильний терміна, нижче ви зрозумієте чому) і взагалі все наше знайомство з Linux буде проходити через емулятор терміналу «очима» командної оболонки bash.

командної оболонки bash

Ця публікація буде складатися з шести невеликих частин. І в першій частині ми розберемося з такими термінами як командний рядок, емулятор терміналу і командна оболонка, попутно зрозумівши навіщо все це потрібно в Linux. Взагалі ми будемо працювати з командною оболонкою bash, але я постараюся трохи розповісти про інші командних оболонках, які можна використовувати в Linux у другій частині. Третя частина буде присвячена емулятора терміналу в Linux. А в четвертій частині ми вже почнемо вивчати деякі команди Linux. Надалі я планую докладно розповісти про прийоми для швидкої роботи в емуляторі терміналу, але і тут ми трохи торкнемося це питання в п'ятій частині. На завершення цієї публікації ви побачите, що насправді під графічною оболонкою будь-якого дистрибутива Linux насправді працює кілька сеансів терміналу.

Командний рядок, емулятор терміналу і командна оболонка в Linux

Зміст статті:

Коли ми чуємо фразу командний рядок, то, швидше за все, говорить має на увазі емулятор терміналу, який вміє віддавати текст, який ми вводимо з клавіатури, командній оболонці. Командна оболонка в системах типу Unix, наприклад, Linux і зокрема Linux Mint , З яким ми будемо працювати, хоча ви можете вибрати будь-який інший дистрибутив, який буде вам до душі (Debian, Fedora, Ubuntu CentOS і т.д.), це програма, яка служить мостом між користувачем і операційною системою: вона приймає команди, які вводяться з клавіатури і передає їх операційній системі на виконання.

Більшість дистрибутивів Linux йдуть в комплекті з командною оболонкою проекту GNU, яка називається bash. Насправді bash - це абревіатура (Bourne Again Shell) і є покращеною заміною оболонки sh.

Інші види командних оболонок Linux

Насправді командна оболонка - це одна з найважливіших частин будь-якої операційної системи подібної Unix. Багато Linux дистрибутиви пропонують своїм користувачам кілька оболонок на вибір, в тому числі і наш піддослідний - Linux Mint. Зараз ми не будемо вдаватися в подробиці, але перерахуємо кілька командних оболонок, з якими ви можете зустрітися і дамо їм коротку характеристику. Насправді командних оболонок дуже і дуже багато, ми будемо розбиратися тільки з bash, так як іменний ця оболонка найчастіше використовується в багатьох дистрибутивах. Якщо вас дана тема зацікавила, то скористайтеся Google і напишіть запит типу «командні оболонки Linux / Unix» і ви отримаєте масу цікавих статей.

Командні оболонки можна класифікувати і ділити. Так, наприклад, bash можна віднести до класу оболонок Bourne shell / Bourne sh / sh. Ця оболонка названа в честь свого творця Стівена Борна. Виконуваний файл цієї оболонки - sh. Саме так, без розширень. Про файли в Linux ми будемо говорити окремо і багато.

Bourne again shell або bash, з яким ми будемо працювати. Виконуваний файл - bash. Є найпопулярнішою командною оболонкою в світі дистрибутивів Linux.

KoenShell або ksh - ще один доопрацьований клон sh.

Public domain ksh - відкрита реалізація оболонки ksh.

Є ще сімейство оболонок, у яких за основу мови сценаріїв був узятий синтаксис мови програмування C. Найпершою такою оболонкою була C shell, яку розробив Білл Джой, автор редактора Vi. Тут варто згадати, що більшою популярністю користується оболонка tcsh (TENEX C Shell), яка має більшу інтерактивністю і до того ж є вільною.

Ще можна виділити оболонки ash (Almquist shell) і xsh (Xiki shell). Першу найчастіше можна зустріти в різних вбудованих системах, а друга відрізняється тим, що поєднується командний і графічний режим роботи.

Є й інші командні оболонки, які беруть синтаксис сценаріїв від популярних мов програмування: Perl Shell або psh - ця оболонка написана на мові perl і може працювати з-під Windows. Згадаємо також оболонку IPython і scsh, в основі якої лежить синтаксис скриптового мови Scheme 48.

Звичайно, це далеко не все командні оболонки, які можна використовувати в Linux та інших Unix-подібних операційних системах. Є ще багато різних, зручних і не дуже, багатофункціональних і вузькоспеціалізованих командних оболонках. Насправді, вибір оболонки - це справа смаку кожного, але освоївши одну з них, ви легко розберетеся з іншого.

Емулятор терміналу в Linux

Якщо ви використовуєте дистрибутив Linux з графічним інтерфейсом, а, швидше за все, так воно і є, інакше ви б це не читали, то для взаємодії з командною оболонкою вам буде потрібно ще одна програма, яка називається емулятор терміналу (до речі, якщо ви є користувачем Windows і хочете ближче познайомитися з системами Linux, то для першого знайомства я рекомендую вам встановити VirtualBox , Який дозволить створити віртуальну машину, на яку можна поставити дистрибутив, наприклад, Linux Mint , Ну а якщо виникнуть труднощі з управлінням віртуальною машиною VirtualBox , То у мене в блозі є інструкція). Залежно від вашого графічного інтерфейсу ця програма може називатися по-різному, наприклад, в дистрибутивах з KDE емулятор терміналу називається konsole, а в дистрибутивах з GNOME - gnome-terminal. Насправді емуляторів досить багато, але у них у всіх одна задача - надати вам доступ до командної оболонки.

Насправді емуляторів досить багато, але у них у всіх одна задача - надати вам доступ до командної оболонки

Вікно емулятора терміналу в Linux Mint

На малюнку вище показано вікно емулятора термінала в Linux Mint, його можна запустити, натиснувши на відповідну іконку в лівому нижньому кутку зі спливаючої підказкою «Термінал» (якщо у вас не виявилося такої іконки, то спробуйте поєднання клавіш Ctrl + Alt + T, це поєднання працює в багатьох дистрибутивах Linux і зазвичай після натискання цих клавіш відкривається вікно емулятора термінала). Як бачите, вікно терміналу Linux дуже схожа на вікно командного рядка DOS в операційних системах сімейства Windows.

Пробуємо працювати з командною оболонкою bash

Цей розділ призначений для тих, кому не терпиться почати працювати з командним рядком Linux і натискати клавіші на клавіатурі, а також отримати такий-сякий, але результат від своїх дій. Як тільки ви запустите термінал, ви побачите невелику рядок, яка називається рядком запрошення в моєму випадку вона виглядає так:

kirill @ AsusPC ~ $

У моєму випадку Mint встановлений на віртуальній машині VirtualBox, але це по суті нічого не міняє. Давайте розберемося з тим, що ми бачимо. По-перше, якщо ми бачимо запрошення, то це означає, що термінал чекає від нас будь-яких дій у вигляді команд, тобто командна оболонка в такі моменти готова прийняти від нас введення. По-друге, запрошення в різних дистрибутивах може трохи відрізнятися, але в загальному випадку воно виглядає так: username @ ім'я комп'ютера, після імені користувача слід ім'я каталогу, в якому ви зараз перебуваєте, в даному випадку символ «~» означає, що ви перебуваєте в своїй домашній папці, а в кінці запрошення ми бачимо знак $, який говорить про те, що команди виконуються від імені зазвичай користувача, а не сюперюзера або root. Якщо ж в кінці запрошення варто знак решітки, то це означає, що поточний користувач терміналу має права root. Спробуйте ввести команду:

cd / usr / bin

Зверніть увагу як змінилася рядок запрошення, тепер вона виглядає приблизно так:

kirill @ AsusPC / usr / bin $

А тепер виконайте якусь безглузду команду, наприклад:

Sdfsdfsdvfgdfgdfgfd

Ми бачимо, що командна оболонка повідомляє про те, що ми ввели якусь нісенітницю і дає нам можливість спробувати знову, екран терміналу буде виглядати приблизно так:

kirill @ AsusPC ~ $ cd / usr / bin
kirill @ AsusPC / usr / bin $ Sdfsdfsdvfgdfgdfgfd
Sdfsdfsdvfgdfgdfgfd: команда не знайдена
kirill @ AsusPC / usr / bin $

Тут варто звернути увагу на те, що в запрошенні змінився каталог, запрошення нам підказує, що ми знаходимося в каталоги bin, який в свою чергу знаходиться в папці usr, а usr знаходиться в корені або кореневому каталозі, який позначається просто символом «/».

Історія команд, використання курсора і ще кілька простих команд для оболонки

Продовжимо працювати з командною оболонкою bash. Якщо ви повторювали приклади, то тепер зможете скористатися стрілками на своїй клавіатурі: стрілка вгору дозволяє подивитися і повторити попередню команду, а стрілка вниз наступну. Це називається історією команд, за замовчуванням багато дистрибутиви Linux запам'ятовують 500 команд, термінал пам'ятає команди навіть якщо його вимкнути, а потім знову включити.

Якщо ви надрукували команду, а потім хочете відредагувати її, то скористайтеся стрілками вліво і вправо, щоб видалити лівий символ від курсора використовуйте клавішу Backspace, а праві символ видаляється після натискання клавіші delete.

У терміналі можна використовувати пристрої введення типу миша, іноді це буває навіть зручно, про зручність і швидкість роботи в терміналі ми будемо говорити окремо, зараз розглянемо один простий приклад. Ми вже вводили різні команди, а тепер виділіть фрагмент тексту в терміналі мишкою, а потім клацніть центральною кнопкою миші по області праворуч від запрошення, таким чином ви швидко скопіювали і вставили текстовий фрагмент. У звичайному редакторі ця фішка теж спрацює.

В емуляторі терміналу Linux не намагайтеся використовувати поєднання клавіш Ctrl + C і Ctrl + V для копіювання і вставки, не спрацює. У цих команд в терміналі інше призначення, про нього ми поговоримо пізніше. Копіювання і вставку в терміналі можна виконувати мишкою за допомогою контекстного меню: виділіть фрагмент тексту і натисніть праву кнопку миші, з'явиться контекстне меню з декількома різними діями. На малюнку нижче ви можете побачити приклад.

Операції копіювання і вставки можна виконувати за допомогою контекстного меню емулятора терміналу

Розглянемо ще кілька простих команд оболонки. Наприклад, таку echo Hello, Vasya. Ви повинні побачити таку ось просту рядок:
kirill @ AsusPC / usr / bin $ echo Hello, Vasya
Hello, Vasya
kirill @ AsusPC / usr / bin $

Або, наприклад, спробуємо використовувати команду date, яка показує поточний час і дату:

kirill @ AsusPC / usr / bin $ date
Пон жовтня 23 19:36:25 +07 2017
kirill @ AsusPC / usr / bin $

Є ще така чудова команда, як free, яка показує обсяг вільної оперативної пам'яті:

kirill @ AsusPC / usr / bin $ free
total used free shared buff / cache available
Пам'ять: 2047912 396544 1098824 5396 552544 1467596
Підкачка: 1839100 0 1839100
kirill @ AsusPC / usr / bin $

Або ще команда df, яка показує скільки місця на жорсткому диску зайнято, а скільки вільно:

Або ще команда df, яка показує скільки місця на жорсткому диску зайнято, а скільки вільно:

Результат роботи команди df

Ну а якщо ви забули яке сьогодні число, то використовуйте команду cal, яка показує календар поточного місяця і виділяє поточний день.

Результат роботи команди cal

Якщо вам заважає текст на екрані терміналу, то екран завжди можна очистити командний clear. Зверніть увагу: при використанні команди clear відбувається «перемотування» екрану, все що ви бачили раніше залишиться в терміналі, скористайтеся скролл в правій частині вікна терміналу, щоб в цьому переконатися.

Щоб закрити термінал можна скористатися командою exit або просто закрити вікно терміналу, натиснувши на хрестик, який зазвичай знаходиться в правому верхньому куті екрану, хоча графічних інтерфейсів у Linux дуже багато, тому цей хрестик може перебувати в лівому верхньому кутку екрану або де-небудь в іншому місці.

Варто сказати і про функцію автодоповнення, яка буває корисна в тому випадку, якщо ви не пам'ятаєте як правильно пишеться команда, ця функція працює після натискання на клавішу Tab. Введіть у вікні терміналу латинські букви ec і натисніть два рази Tab:

kirill @ AsusPC / usr / bin $ ec
echo
ecryptfs-add-passphrase
ecryptfsd
ecryptfs-find
ecryptfs-insert-wrapped-passphrase-into-keyring
ecryptfs-manager
ecryptfs-migrate-home
ecryptfs-mount-private
ecryptfs-recover-private
ecryptfs-rewrap-passphrase
ecryptfs-rewrite-file
ecryptfs-setup-private
ecryptfs-setup-swap
ecryptfs-stat
ecryptfs-umount-private
ecryptfs-unwrap-passphrase
ecryptfs-verify
ecryptfs-wrap-passphrase
kirill @ AsusPC / usr / bin $ ec

Зверніть увагу: терміналу видав нам підказку у вигляді цілого списку команд, що починаються з ec, а новий рядок із запрошенням вже містить ці символи. Спробуйте написати ech і натиснути один раз Tab, в цьому випадку термінал закінчить (тут буде правильніше сказати командна оболонка) за вас команду і ви побачите echo, це сталося через те, що в даний момент командна оболонка не знає інших команд, що починаються з ech, крім команди echo.

Сеанси терміналу, які працюють під графічною оболонкою в Linux

Термінал, з яким ви працювали закритий, але насправді за всіма рюшечками робочого столу крутиться кілька сеансів терміналів, щоб отримати доступ до цих віртуальним терміналам в багатьох дистрибутивах Linux, в тому числі і в Linux Mint, потрібно скористатися поєднанням клавіш Ctrl + Alt + F1 і так до Ctrl + Alt + F6.

Термінал, з яким ви працювали закритий, але насправді за всіма рюшечками робочого столу крутиться кілька сеансів терміналів, щоб отримати доступ до цих віртуальним терміналам в багатьох дистрибутивах Linux, в тому числі і в Linux Mint, потрібно скористатися поєднанням клавіш Ctrl + Alt + F1 і так до Ctrl + Alt + F6

Один з сеансів емулятора терміналу, який працює під графічною оболонкою Linux Mint

За малюнком вище ми бачимо, що це перший сеанс (tty1), який я відкрив після натискання клавіш Ctrl + Alt + F1. Щоб отримати можливість введення команд, потрібно ввести логін і пароль користувача, під яким ви хочете працювати. Після того, як ви натиснули заповітне поєднання клавіш, яке спрацює з усіх програм, яке б не було запущено, вам потрібно буде ввести свої логін і пароль, а перемикатися між терміналами після входу можна за допомогою комбінації клавіш Alt + F1 і так до F6. Натиснувши Alt + F7, ви повернетеся до свого робочого столу, але це зазвичай, якщо ж цього не відбулося продовжуйте перебирати клавіші: F8, F9, F10 і так далі. Також не забувайте завершувати сеанс роботи з терміналом командою exit.

Отже, ми познайомилися з поняттями командний рядок, емулятор терміналу і командна оболонка, спробували попрацювати з цими сутностями і навіть вивчили кілька простих команд Linux, в наступній публікації ми почнемо вивчати нашу Linux-систему і познайомимося з командами для навігації і переміщення між каталогами.

Я хочу продовжити випускати уроки по Linux Mint і командній оболонці bash

Якщо це так, то ваше бажання збігається з моїм. Але мені від вас потрібна невелика допомога! Справа все в тому, що весь мій контент доступний повністю і абсолютно безкоштовно в блозі і на каналі YouTube. Створення контенту - це робота, що забирає багато сил і енергії (благо, вона мені подобається і поки я готовий їй займатися), оплату з вас за цю роботу я не прошу, але прошу допомогти поширити цей контент і підтримати мій канал і групу Вконтакте. Тому, якщо ви хочете, щоб відео виходили частіше, краще і більше, то можете мені допомогти один зі способів, зазначених нижче, це неважко, але дуже мотивує і допомагає:

  1. Залиште посилання на мій сайт, канал, групу в ВК, окреме відео у себе на сторінці в соц. мережах або на своєму сайту.
  2. Приєднуйтеся до групи в ВК: https://vk.com/zametkinapolyah .
  3. Підпишіться на мій YouTube-канал: https://www.youtube.com/user/zametkinapolyahru .
  4. І найефективніший: після перегляду відео не забудьте написати відгук у коментарях на YouTube і поставити лайк відео, знову ж таки, на YouTube.

Зауважу, що всі мої відео уроки з'являються спершу на YouTube, там ви їх побачите швидше за все.

Якщо ви вважаєте, що я вам допоміг і хочете мене віддячити матеріально, то можете скористатися реквізитами, вказаними нижче. Всі виручені з доната гроші підуть на поліпшення якості відео, наприклад, я візьму хороший USB мікрофон, це буде як приємне доповнення до Full HD.

WMR: R288272666982
WMZ: Z293550531456
Яндекс.Деньги: 410011531129223

Дополнительная информация

rss
Карта