Як вийти з режиму bash у терміналі




Як вийти з режиму bash у терміналі



Використання швидких клавіш у командному рядку Linux (BASH)

Ця стаття присвячена комбінаціям клавіш, які найчастіше використовуються при роботі в командному рядку Linux (в основному в командному інтерпретаторі bash). Вона точно буде корисна початківцям своє знайомство з Linux і, впевнений, стане у нагоді тим, хто вже має досвід (не завжди роки практики вчать працювати швидше). Ніколи не розвивав навички швидкого друку, але знання не одного десятка hotkey'ів, перерахованих у цьому матеріалі, дозволяє набирати команди зі швидкістю думки. Я спробував продемонструвати багато прикладів за допомогою анімованих gif'ок - іноді кілька кадрів більше скажуть, ніж кілька абзаців тексту. Матеріал був обкатаний на вебінарі, і звідти взято всі приклади (під кожним прикладом вказано час, коли про це розповідалося у відео). Відео більше години і без монтажних склейок, у статті винесені всі головні моменти і спроба дати більш точні визначення.

Загальні слова та зауваження

Більшість продемонстрованих клавіш стандартні для «командного рядка Linux», але частина цих комбінацій специфічні для bash (тому і помітив це в заголовку). На даний момент BASH – найпоширеніший командний інтерпретатор, який використовується за замовчуванням у більшості Linux-дистрибутивів. В інших командних інтерпретаторах або, простіше кажучи, shell'ах (рекомендую спробувати zsh та fish) можуть бути невеликі відмінності у роботі. Також частина комбінацій прописана в «налаштуваннях за замовчуванням» (наприклад, у файлі /etc/inputrc або /etc/bashrc), які теж можуть відрізнятися в різних дистрибутивах. І буває, що деякі клавіші можуть бути налаштовані та перехоплюватися графічною оболонкою, в якій запущено командний інтерпретатор. Якщо раптом щось із зазначеного мною у цій статті у вас не спрацювало, пишіть у коментарях «назва – версію shell та назва – версію дистрибутива». Частина клавіш, що демонструються, відносяться до «налаштувань терміналу».А частина – клавіші з командного інтерпретатора BASH, і їх можна подивитися, почитавши мануал bash'у (величезний текст – користуйтеся пошуком): ♯ man bash

^^^ На наведеному фрагменті з мануалу: Запис «(C-r)» означає Ctrl-r , а «M->» означає Alt-> . "M" - це "Meta-клавіша"

З історії: "М" - це "Meta-клавіша", зараз замість неї використовується клавіша Alt, або клавіша Esc. Я частіше в її якості використовуватиму клавішу Alt. Зауваження: Якщо у когось налаштовано перемикання розкладки по комбінації Alt-Shift , то враховуйте, що в комбінаціях, перерахованих далі та містять Alt-Shift Вам потрібно буде використовувати скоріше клавішу Esc-Shift (або поміняти комбінацію для перемикання розкладки клавіатури, у мене, наприклад, розкладка перемикається по CapsLock ).

^^^ Тут показано на прикладі використання комбінацій для переміщення по «словах» командного рядка: Alt-b (або, що те саме, Esc-b ) та Alt-f (або, що те саме, Esc-f )

Для демонстрацій натиснутих клавіш використовую утиліту screenkey. Upd: При цьому варто згадати, що bash використовує emacs-режим редагування командного рядка і тому багато комбінацій клавіш прийшли з редактора emacs. Для знаючих редактор vi, можу порекомендувати переключити (додавши "set -o vi" ~/.bashrc) bash в vi-режим редагування і користуватися звичними комбінаціями з vi.

Термінал

Отже, почнемо з клавіш із налаштувань терміналу. Їх можна подивитися, виконавши команду:
♯ stty -a А переналаштувати, наприклад, так:
♯ stty intr НоваКлавіша

Ctrl-c – сигнал SIGINT

Перші дві комбінації клавіш досить важливі, і часто «що недавно перейшли з Windows на Linux» Неправильно їх використовують: продовжуючи, як у DOS, для завершення команд використовувати комбінацію «Ctrl-z», що не так. У Linux для того, щоб попросити (команді посилається сигнал SIGINT) додаток перервати свою роботу, використовується Ctrl-c .

Ctrl-z – сигнал SIGTSTP

А комбінація Ctrl-z використовується, щоб попросити (команді надсилається сигнал SIGTSTP) додаток зупинити свою роботу (не завершуючи) - "поставити на паузу". Ну, а "розбудити" його можна командою "fg" (або "bg").

Ctrl-d – EOF(закінчення введення даних)

Далі розберемо комбінацію Ctrl-d. У виведенні "stty -a" ця комбінація значиться як "EOF", що означає "закінчення введення даних". Для прикладу покажу, як можна створити текстовий файл із певним текстом без використання текстового редактора:

^^^ Тут видно, що будь-який текст, що набирається, перенаправляється у файл /tmp/File.txt, і немає жодної фрази (типу «Горщик, не вари»), Яку б команда cat сприйняла як «закінчення введення» - точніше, для цього якраз і треба натиснути Ctrl-d . Також користуюся комбінацій Ctrl-d для того, щоб вийти з консолі (наприклад, після того як переключився командою su під іншого користувача або зайшовши по ssh на іншу машину) замість набору команди exit або logout:

^^^ У правому терміналі відображаю історію команд. . (а уважний глядач здогадається, який "супер-секретний" пароль у root'а на стенді)

Ctrl-v – введення наступного символу

Комбінація Ctrl-v дозволяє вставити в командний рядок наступний за нею символ, не сприймаючи його як спецсимвол. (Параметр lnext у виводі "stty -a")

^^^ Тут для прикладу показую, як у скрипті виводити рядок тексту з використанням табуляції (знаю, що можна використовувати \t у команді echo: echo -e "\tTEXT" , але не у всіх утиліт є така можливість, а подібна необхідність вставити «спецсимвол» трапляється).

^^^ А в цьому прикладі у мене є файл New Text Document.txt, створений в ОС Windows за допомогою програми Notepad в директорії, яку я потім відкрив на доступ по мережі і примонтував в Linux в директорію /mnt. Програма Notepad (на відміну від Notepad++) створює файл у DOS-форматі – наприкінці кожного рядка використовує додатковий символ.Повернення каретки».Термінали часто за замовчуванням цей символ не відображають, але він є, і тому, наприклад, команда ' grep "m$" /mnt/New\ Text\ Document.txt ' не виведе рядок, що закінчується на літеру "m". Команда cat з опцією "-v" відображає цей символ. А для того, щоб при виведенні замінити або видалити це символ, скористався командою tr (хоча можна було б використати спеціальну для цього утиліту unix2dos).

Ctrl-l – очищує екран

Історія команд

«Робота з історією команд» – класична тема зазвичай з будь-якого початкового курсу по Linux (принаймні серед тих курсів, які читаються у нас в «Мережевій Академії ланить»). І багато хто, хто має хоча б невеликий досвід роботи з командним рядком, історією команд користуються - як мінімум знають, що вона є, і використовують стрілки «вгору» (відобразити попередню команду) і «вниз» (відобразити наступну команду, що відображається в історії команд ), щоб вибрати, яку з раніше введених команд або знову виконати, або підредагувати та запустити відредаговану. Але, крім стрілок, ще є ряд корисних комбінацій клавіш, які дозволяють працювати з історією команд, – швидше знаходити потрібні команди.

Ctrl-r – Пошук з історії

Комбінація Ctrl-r дозволяє шукати історія команд команди, що містять вказаний далі текст.

^^^ У цьому прикладі мені знадобилося з історії витягнути команду, що містить текст «su»: натиснувши Ctrl-r і набравши шуканий текст «su», я побачив нещодавню команду, що містить «su»; при повторному натисканні Ctrl-r відображається попередня команда, що містить "su" і т.д. При необхідності змінити команду тисну стрілку «вправо» та правлю текст, а щоб запустити команду – натискаю Enter .

PgUp/PgDown – Пошук з історії

PgUp – відображає попередню команду, що починається з вже введеного тексту, PgDown – наступну.

^^^ У цьому прикладі переміщаюся між командами, що починаються з «cat». (Часто також шукаю команди, що починаються із «sudo».Або якщо мені потрібно знову відредагувати якийсь файл, який нещодавно редагував: набираю vi, тисну кілька разів PgUp , а потім Enter .) У дистрибутивах де це налаштовано - /etc/inputrc є рядки:

"\e[5~": history-search-backward "\e[6~": history-search-forward

Alt-_/Alt-./Alt-- – вставка аргументів

Комбінація Alt-_ (виконується натисканням Alt, Shift, -) – вставляє останній аргумент із попередніх команд. (Аналогічно працює комбінація Esc-. або, що те саме, Alt-. )

^^^ У цьому прикладі видно, як повторні натискання Alt-_ вставляють аргументи від пред-пред-...-ідучих команд. Комбінація Alt - дозволяє вказати (порядковий номер з кінця), який аргумент вставити клавішею Alt-_ з попередньої команди.

^^^ У цьому прикладі вставляю в командний рядок різні аргументи з попередньої команди.

Alt-# – поточну команду перетворити на коментар

Буває, під час набору дуже довгої команди розумію, що мені потрібно щось подивитися чи додатково зробити (наприклад, глянути, які файли є в певній директорії, прочитати мануал по команді, встановити потрібний пакет…). Що робити з набраним текстом? Хотілося б переглянути потрібну інформацію і продовжити набирати команду, а не починати друкувати її спочатку. Alt-# (виконується натисканням Alt , Shift , 3. Також можна використовувати Esc-# ) – перетворює поточну набрану команду на коментар в історії – додає символ «#» на початок рядка і додає отриманий рядок в історію команд.

Ctrl-o - повтор команд з історії

Комбінація Ctrl-o дозволяє повторювати серію команд з історії. Тобто потрібно з історії команд вибрати стрілками першу команду з серії і натиснути Ctrl-o - це виконає поточну команду і виведе з історії наступну. Далі можна продовжувати натискати Ctrl-o з тим самим ефектом.

^^^ У прикладі я написав три команди: одна збільшує на 1 змінну, якій відповідає рік; друга виводить змінну-рік; третя показує, скільки днів у лютому у зазначеному році. Далі, натискаючи Ctrl-o , повторюю цю серію із трьох команд багато разів (один кадр відповідає трьом натисканням).

Автодоповнення

Tab – автодоповнення (у контексті)

У багатьох командних інтерпретаторах (і в bash у тому числі) використовується така можливість як автодоповнення. Як мінімум, потрібно знати, що за натисканням клавіші Tab дописується назва команди. У bash за замовчуванням зазвичай налаштовано так, що якщо є тільки один варіант доповнення, він дописується за натисканням Tab (також можна використовувати Ctrl-i і Esc-Esc ). Коли варіантів доповнення багато, то за першим натисканням Tab дописується лише загальна частина (якщо вона є). А за другим натисканням Tab відображається список усіх доступних варіантів. Далі можна набрати ще символів – уточнити, який із доповнень потрібно, та знову натиснути Tab . Це ж з іншими доповненнями: імен файлів, імен змінних.

^^^ Тут, наприклад, дивлюся (натиснувши двічі Tab ), що є кілька команд, що починаються з «if», додавши «c» і натиснувши Tab , отримую набраною команду "ifconfig".

^^^ У цьому прикладі доповнюю аргументи команди (тут імена файлів). Також видно, що у випадку, коли варіантів багато і всі не вміщуються у вікні терміналу, їх список відображається утилітою для перегляду посторінкового перегляду (також при дуже великому списку варіантів видається запит виду «Display all 125 possibilities? (y or n)» або, як у цьому прикладі, при малій кількості - «--More--».

Доповнення імен користувачів, змінних

Часто, коли дописуються аргументи команд Tab , дописуються імена файлів. Але варто також відзначити, що, залежно від контексту, по Tab дописуються і імена змінних (аргументи, що починаються із символу «$»), імена користувачів (аргументи, що починаються з символу «~»),…

^^^ Тут, щоб набрати «$HISTFILESIZE», замість 13 символів набрав 8 символів ( $ H I Tab F Tab S Tab ). Крім того, що так швидше, це ще й дозволяє допускати менше помилок при наборі команд, тому що не просто друкую текст, а вибираю зі списку встановлених змінних.

^^^ Тут дописую імена користувачів (фактично пишу адресу домашньої директорії). Також bash може доповнювати не тому, що набраний текст починається з певного символу, а за комбінаціями клавіш. Список того, що може доповнювати bash, можна переглянути командою: ♯ bind -P | grep "complet"

possible-username-completions може бути зроблено на "\C-x~". complete-username може бути на "\e~". possible-hostname-completions може бути на "\C-x@". complete-hostname може бути на "\e@". possible-variable-completions може бути зроблено на "\C-x$". complete-variable can be found on "\e$". possible-command-completions can be found on "\C-x!". complete-command can be found on "\e!". possible-filename-completions може бути зроблено на "\C-x/". complete-filename can be found on "\e/".
  • Ctrl-x~ – покаже список імен користувачів, що починаються з набраних символів, а доповнити комбінацією Esc-~;
  • Ctrl-x @ – список імен машин (згідно з /etc/hosts), що починаються з набраних символів, а доповнити – Esc-@ ;
  • Ctrl-x $ – список імен змінних, заданих у цій сесії (можна також подивитися командою set), а доповнити – Esc-$ ;
  • Ctrl-x! – список команд (згідно з доступними: $PATH, alias, функціями, вбудованими командами), а доповнити – Esc-! ;
  • Ctrl-x/ – список імен файлів, а доповнити – Esc-/.

Alt-* – вставити доповнення, Ctrl-x * – розгорнути шаблон

Esc-* (точніше, Esc Shift 8 ) або, що, те саме, Alt-* (точніше, Alt , Shift , 8 ), вставить всі варіанти доповнення в командний рядок. Аналогічно можна розгорнути список файлів, змінних імен користувачів.

У прикладах нижче розгортаю список файлів:

insert-completions can be found on "\e*". glob-expand-word може бути зроблено на "\C-x*".

Ctrl-x * – розгорне вже написаний у командному рядку шаблон, як у прикладі нижче:

Редагування

Ctrl-w/u/k – вирізати слово/початок/кінець рядка

Ctrl-w – вирізати слово (від поточного положення курсору до найближчого раніше у рядку пропуску/табуляції). Вирізане потім можна вставити комбінацією Ctrl-y.

Ctrl-u – вирізати початок рядка (від поточного положення курсору. Якщо курсор наприкінці рядка, то виріже повністю рядок). Вирізане можна потім вставити комбінацією Ctrl-y.

Ctrl-k - вирізати кінець рядка (від поточного положення курсору. Якщо курсор на початку рядка, то виріже повністю рядок). Вирізане можна потім вставити комбінацією Ctrl-y.

Ctrl-y – вставити вирізане

Ctrl-y - Вставити вирізаний фрагмент командного рядка. (У bash використовується свій буфер для зберігання вирізаних фрагментів – називається kill ring).

Важливо: Зручно використовувати з Alt-y (дозволяє прокручувати варіанти вставки з буфера).

Ctrl-x Ctrl-e – редагувати в $EDITOR

Натиснувши комбінацію Ctrl-x Ctrl-e, можна редагувати командний рядок у будь-якому зовнішньому редакторі (за замовчуванням часто використовується редактор vim; перепризначити редактор можна, вказавши в змінній EDITOR). Часто редактори мають більше можливостей у редагуванні тексту. Особливо зручно, якщо редактор вміє підфарбовувати синтаксис команд та має різні вбудовані інструменти для швидкого пошуку та виправлення помилок.

Також цю можливість часто використовую, коли набрану команду, що розрослася до кількох рядків, хочу зберегти у вигляді окремого скрипта – тоді перемикаю редагування команди в редактор і в ньому зберігаю набраний текст у файл, як нижче.

Ctrl-_ – undo

Ctrl-_ (точніше, потрібно натиснути Ctrl Shift - ) або Ctrl-x Ctrl-u – скасовує останні правки під час редагування командного рядка.

Переміщення

Ctrl-a/e – на початок/кінець рядка

Ctrl-a та Ctrl-e – переміщення на початок і кінець командного рядка відповідно.Можна, звичайно, користуватися клавішами Home і End , але так швидше при використанні таких клавіш, як вирізання Ctrl-w і вставка Ctrl-y .

Alt-b/f та Ctrl-←/→ – попереднє/наступне слово

Alt-b (і той самий ефект у Ctrl-Left) – перехід на початок попереднього слова.

Alt-f (і той самий ефект у Ctrl-Right) – перехід у кінець наступного слова.

Налаштування

bash

Докладніше значення дії редагування командного рядка bash можна подивитися в мануал bash'у. Дії, згадані у цій статті (у порядку згадування):

  • clear-screen (C-l) Використовуйте дисплей, перевірте поточну лінію, повертаючи поточну лінію на верхній частині дисплея.
  • reverse-search-history (C-r) Search backward starting at the current line and moving `up' through the history as necessary. Це is incremental search.
  • reverse-search-history (C-r) Search backward starting at the current line and moving `up' through the history as necessary. Це is incremental search.
  • history-search-backward Search backward through the history for the string of characters between the start of the current line and the point. Це не виключний пошук.
  • history-search-forward Search forward through the history for the string of characters між start of the current line and the point. Це не виключний пошук.
  • yank-last-arg (M-., M-_) Зверніть увагу на останній argument до попередньої команди (останнє слово з попередньої історії введення). З numerical argument, behave exactly як yank-nth-arg. Очевидні розмови до інк-власного аргу переміщаються через history list, за допомогою останніх слів (або слова, спрямованих на argument до перших повідомлень) з усіх line in turn. Будь-який numeric argument supplied to ці successive calls визначається direction to move through the history. Негативний argument перетворюється на direction через history (back or forward).Мистецтво expansion facilities є використаним для останнього слова, як і "!$" history expandion had been specified.
  • digit-argument (M-0, M-1, . M--) Введіть цей параметр в argument already accumulating, або start a new argument. M-- starts a negative argument.
  • insert-comment (M-#) Без numerical argument, значення readline ліміту-початківців є введено в поточний line. . Більшість повідомлень-початківців цієї кнопки до виконання поточної лінії в hello comment.
  • operate-and-get-next (C-o) Виберіть поточну лінію для execution і натисніть next line relative to the current line from the history for editing. На numerical argument, якщо випливає, особливість історії надання до використання вмикається в поточну лінію.
  • complete (TAB) Примітка до виконання повідомлень на текст перед позначкою. Bash atempts completion treating the text as a variable (іf text begins with $), username (if the text begins with ~), hostname (if the text begins with @), або command (including aliases and functions) in turn. Якщо не існують ці продукти в матчі, файл назви завершення є відзначений.
  • complete-username (M-~) Привідповіді доповнення на текст до пункту, доцільно це як username.
  • possible-username-completions (C-x ~) List the possible completions of the text до пункту, treating it as a username.
  • complete-hostname (M-@) Привідповіді доповнення на текст до пункту, доцільно це як hostname.
  • possible-hostname-completions (C-x @) List the possible completions of the text до пункту, treating it as a hostname.
  • complete-variable (M-$) Приналежності докладно на тексті до пункту, доцільність його як шрифт variable.
  • possible-variable-completions (C-x$) List the possible completions of the text до пункту, treating it as a shell variable.
  • complete-command (M-!) Привідповіді доповнення на текст перед позначкою, treating it as command name.Command completion atempts to match the text as aliases, reserved words, shell functions, shell builtins, and final executable filenames, in that order.
  • possible-command-completions (C-x!) List the possible completions of the text до пункту, treating it as command name.
  • complete-filename (M-/) Примітка файлуназви повідомлень на текст перед позначкою.
  • possible-filename-completions (C-x /) List the possible completions of the text до пункту, treating it as a filename.
  • insert-completions (M-*) Зверніть увагу на всі висновки з тексту до пункту, що повинні бути створені за допомогою можливостей.
  • glob-expand-word (C-x*) Слово до пункту є покрито як текст для розширення файлу, а текст зображень файлів назви є введений, replacing слово. Якщо numerical argument is supplied, asterisk is appendedfor pathname expansion.
  • unix-word-rubout (C-w) Kill слово за допомогою пункту, використовуючи білий простір як слово boundary. Killed text is saved on the kill-ring.
  • unix-line-discard (C-u) Kill backward from point to beginning of the line. Killed text is saved on the kill-ring.
  • kill-line (C-k) Kill the text з пункту до кінця кінця.
  • yank (C-y) Yank top of kill ring in buffer at point.
  • yank-pop (M-y) Rotate the kill ring, and yank the new top. Тільки робіти випливають з yank або yank-pop.
  • undo (C-_, C-x C-u) Incremental undo, окремо remembered for each line.
  • backward-word (M-b) Перейти до початку поточного або попереднього слова. Words є складеними з alphanumeric characters (letters and digits).
  • forward-word (M-f) Перейти до кінця надалі слово. Words є складеними з alphanumeric characters (letters and digits).

bind -P

Можна подивитися, які клавіші до яких дій редагування командного рядка bash прив'язані - для цього можна скористатися командою "bind-P".

Є багато інших цікавих комбінацій – для прикладу можна глянути:

Клавіші, що перемикають регістр літер:
♯ bind-P | egrep "case|capitalize"

Клавіші, що змінюють слова/букви подекуди:
♯ bind-p | grep "transpose"

Також можна налаштувати свої прив'язки - наприклад, щоб по комбінації "Ctrl-f" виводився результат команди "date":

/etc/inputrc (налаштування бібліотеки readline)

Так як bash і багато shell використовують бібліотеку readline для взаємодії з командним рядком, то можна переналаштувати відповідності комбінацій клавіш і дій в / etc / inputrc.

Наприклад, такі рядки змінюють стандартну поведінку клавіш «Вгору» і «Вниз»

. замість попередньої/наступної команди вони включатимуть пошук з історії команд – дуже зручно, часто користуюся цим:

"\e[A": history-search-backward "\e[B": history-search-forward

Коди клавіш можна переглянути, використовуючи комбінацію Ctrl-v, згадану вище в цій статті.

Підсумок

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

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

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

Ну, і приходьте до нас вчитися в «Мережеву Академію ланить»!

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

Приходьте до нас вчиться - початковий курс є хорошим каталізатором для самостійного навчання бо, як сказав один слухач: "За два дні курсу (прим., другого дня п'ятиденного курсу), дізнався більше ніж за два роки самостійного навчання".

А на завершення загадки для оооооочень уважно подивилися вебінар «Мережевий Академії ланить» на цю статтю:

  1. Дата, коли проходив вебінар.
  2. Який пароль у користувача root на системі, яка використовується на вебінарі?
  3. Який дистрибутив Лінукс використовувався у прикладах?

Git. Короткий посібник з терміналу

Цей короткий посібник демонструє основні команди в терміналі Bash:

Відкриття терміналу

Перше завдання: відкрити термінал одразу в потрібному каталозі.

Linux

У Linux достатньо клацнути правою кнопкою миші на каталозі і вибрати пункт меню Open in Terminal або Відкрити в терміналі:

Mac

У Mac все трохи складніше, необхідно налаштувати відображення цього пункту меню Finder.

Для цього необхідно перейти в Системні налаштування, потім пункт меню Клавіатура, у розділі Служби вибрати розділ Файли та папки та поставити прапорець навпроти Новий термінал за адресою папки:

Після чого при натисканні правою кнопкою миші на каталозі з'явиться необхідний пункт меню:

Windows (Git Bash)

У Windows все досить просто - клік правою кнопкою миші на каталозі та вибір Git Bash Here:

Початкова настройка Git

Після встановлення Git перше, що ми зробимо – вкажемо наші ім'я та адресу електронної пошти.Це важливо, тому що цією інформацією підписується кожен коміт (хто зробив зміни та його електронну пошту). Для налаштування потрібно ввести команди:

$ git config  --global user.name  "Thorin Oakenshield"
$ git config  --global user.email [email protected]

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

Шляхи

Одне вікно терміналу передбачає, що ви можете одночасно знаходитися тільки в одному каталозі, який називається Current Working Directory (поточний каталог), так само як і в одному відкритому вікні Nautilus , Finder або провідника Windows.

Ви можете виконувати команди щодо поточного каталогу або абсолютного шляху.

Абсолютний шлях – це шлях, що починається від кореня файлової системи. Корінь файлової системи позначається символом / .

Наприклад, в Git Bash (Windows) абсолютний шлях для каталогу Program Files буде найчастіше виглядати наступним чином: /c/Program Files/ .

Для домашнього каталогу в Ubuntu (Linux), абсолютний шлях буде виглядати так: /home/user/ , де user - ім'я користувача.

Bash (Git Bash у тому числі) використовують символ / для поділу каталогів.

Ще два спеціальні позначення крім кореня файлової системи:

Важливо: у терміналі символ ` (пробіл) є символом, що розділяє команди та опції. Тому якщо в дорозі є пробіл, то варіанти два:

  • укладати шлях у лапки, тобто "Program Files";
  • використовувати символ backslash для екранування пропуску: Program\ Files .

Змінні оточення

Командна оболонка встановлює низку змінних, які виконують специфічні функції. Так, змінна з ім'ям PATH містить список шляхів, в яких буде здійснюватися пошук програми, якщо ви наберете її назву в терміналі.

Для виведення вмісту конкретної змінної використовується команда echo таким чином:

Команда printenv дозволяє відобразити всі змінні оточення:

Видно, що у змінних оточення міститься досить багато інформації про систему.

Автодоповнення

У командних оболонках працює автодоповнення по клавіші Tab:

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

Ключові команди

У цьому розділі буде описано ключові команди, необхідні нам для роботи. Природно, цей список далеко не повний.

Поточний робочий каталог

pwd – скорочення від “Print Working Directory”.

Відображення поточного робочого каталогу:

Зміна робочого каталогу

cd – скорочення від “Change Directory”.

Перехід у певний каталог:

path може бути як абсолютним, і відносним шляхом.

Наприклад, перейти на каталог вище:

Перейти до підкаталогу src :

Якщо перед шляхом немає слєша - він трактується як відносний (щодо поточного каталогу).

Лістинг каталогу

ls – скорочення від “List”.

Відображає листинг (вміст каталогу):

За промовчанням ls не відображає файли, що починаються з . наприклад, .gitignore . Для відображення таких файлів потрібно використовувати прапор -a:

Створення файлів

Для створення файлів використовуються спеціальні програми (наприклад, для створення текстових файлів – текстові редактори).

В рамках розгляду Bash ми розглянемо два текстові редактори, які дозволять вам створювати та редагувати файли у псевдографічному режимі.

nano

nano - Простий текстовий редактор.

Для того, щоб створити файл, достатньо ввести команду nano та ім'я файлу:

Відкриється редактор такого вигляду:

Пункти меню в нижній частині викликаються за допомогою гарячих клавіш, де символ позначає клавішу Ctrl .

Тобто щоб записати файл і вийти слід послідовно натиснути Ctrl+O (запис) та Ctrl+X (вихід).

Редактор nano встановлений у більшості Unix-подібних операційних системах та Git Bash.

Vim

Редактор Vim (a programmer's text editor) - професійний редактор, що дозволяє досягти максимальної продуктивності під час роботи з будь-якими текстовими файлами. Настільки популярний, що для будь-якого графічного середовища (IDE, текстових редакторів типу VS Code, Atom, Sublime) завжди є плагін, що включає можливість редагування коду в режимі "Vim Mode".

На освоєння роботи в Vim потрібно витратити досить багато часу, для цього ви можете скористатися інтерактивним підручником vimtutor:

Ми лише скажемо, що для виходу з цього редактора (якщо ви все-таки наважилися його відкрити) потрібно натиснути клавішу Esc, потім ввести команду: q! - це дозволить закрити відкритий файл без збереження змін.

VS Code

У відео-лекціях використовується VS Code. У Windows ви можете правою кнопкою відкрити каталог відразу в VS Code.

У Mac OS та Linux ви можете відкрити термінал за адресою папки та в терміналі виконати команду code. & , яка відкриє вибраний вами каталог у цьому редакторі.

Якщо ні те, ні інше у вас не вийшло, просто відкрийте VS Code і через File-Open відкрийте потрібний каталог.

Створення каталогів

mkdir – скорочення від “Make Directory”.

Дозволяє створювати каталоги (створить каталог tmp у поточному каталозі):

Варто звернути увагу на поведінку під час створення нового каталогу в поточній директорії. Після mkdir name ваше поточне розташування в терміналі не зміниться. Для того, щоб працювати всередині створеного каталогу, потрібно перейти командою cd name . Це справедливо і при клонуванні віддаленого репозиторію за допомогою команди git clone. Повністю схиляний репозиторій створить каталог у поточній директорії з ім'ям проекту, який потрібно перейти командою cd repo_name .

Переміщення файлів та каталогів

mv – скорочення від “Move”.

Переміщення (перейменування) файлів та каталогів:

Видалення файлів та каталогів

rm – скорочення від “Remove”.

Схожі статті

  • Як вийти з режиму інкогніто на планшеті
  • Як вийти з повноекранного режиму у Windows 10
  • Як вийти з режиму слайд-шоу
  • Як вийти з сервісного режиму томагавк
  • Як вийти з автономного режиму на принтері
  • Як вийти з повноекранного режиму в доті 2
  • Як вийти з повноекранного режиму на Xiaomi
  • Як вийти з повноекранного режиму під час гри
  • Недавні статті

  • Як бродить зернова брага
  • Що робити якщо не засмагаєш на сонці чому засмага погано лягає на шкіру або перестає прилипати
  • Як швидко зняти гель лак без апарату
  • Як робиться Каті голови
  • Яка гребінець краще для об'єму
  • Чим роблять м'яку покрівлю
  • Чи можна залишати крем для обличчя на ніч
  • Де знаходиться датчик селектора
  • географія нашої діяльності
    вулиця Драгоманова, 27
    вул. Курчатова 1Б
    вул. Міцкевича 130
    вул. Лабунського, 1
    вул. Макарова-Пржевальського
    вул. Толстого 10
    вул. Грушевського 28
    вул. Перший промінь (Черняхівського)
    напишіть нам

    сообщение успешно отправлено
    x