Алфавітний суп
Якщо команда дізнатися, хто ми є, називається whoami
, то команда дізнатися,
де ми є, повинна називатися whereami
, так чому ж тоді вона зветься pwd
натомість? Звичайна відповідь полягає в тому, що на початку 1970-х років, коли Unix
тільки розроблявся, враховувалося кожне натискання клавіш: тодішні пристрої
були повільними, а переноси на телетайпі були настільки болючими, що скорочення
кількості натискань клавіш, щоб зменшити кількість помилок при наборі тексту, було
насправді виграшем для зручності використання. Реальність така, що команди додавалися до
Unix одна за одною, без жодного генерального плану, людьми, які були занурені в
його жаргон. Результат настільки ж непослідовний, як і англійський правопис ‘roolz uv Inglish’
але ми застрягли з цим зараз.
Коди керування завданнями
Термінал приймає кілька спеціальних команд, які дозволяють користувачам взаємодіяти
з запущеними процесами або програмами. Ви можете ввести кожен з цих
“кодів керування”, утримуючи клавішу Ctrl
, а потім натиснувши один
з керуючих символів. В інших підручниках ви можете зустріти термін
Control
або ^
, який використовується для позначення клавіші Ctrl
(наприклад
наведені нижче комбінації є еквівалентними Ctrl-C
, Ctrl+C
, Control-C
, Control+C
, ^C
).
-
Ctrl-C
: перериває і скасовує запущену програму. Це корисно, якщо ви хочете скасувати команду, яка виконується надто довго. -
Ctrl-D
: вказує на кінець файлу або потоку символів, які ви вводите у командному рядку. Наприклад, раніше ми бачили, що командаwc
підраховує рядки, слова і символи у файлі. Якщо ми просто введемоwc
і натиснемо клавішу Enter, не вказавши назву файлу, тоwc
вважатиме, що ми хочемо, щоб вона проаналізувала все, що ми введемо далі. Після введення нашого грандіозного опусу безпосередньо у командний рядок, ми можемо натиснути Ctrl-D, щоб сказатиwc
, що ми закінчили і хочемо побачити результати підрахунку слів. -
Ctrl-Z
: Призупиняє процес, але не завершує його. Потім ви можете скористатися командоюfg
, щоб перезапустити завдання на передньому плані.
Для нових користувачів терміналу всі ці контрольні коди можуть мати
однаковий ефект: вони змушують все “зникнути”. Але корисно
розуміти відмінності. Загалом, якщо щось пішло не так
і ви просто хочете повернути командний рядок, краще скористатися комбінацією
Ctrl-C
.
Інші термінали
До того, як Bash став популярним наприкінці дев’яностих, вчені широко використовували (а дехто й досі використовує) інший термінал, C-термінал, або Csh. Bash і Csh мають схожі набори функцій, але їх синтаксичні правила відрізняються, і це робить їх несумісними один з одним. Кілька інших терміналів з’явилося з тих пір, включаючи ksh, zsh і ряд інших; вони здебільшого сумісні з Bash, а Bash - це термінал за замовчуванням у більшості сучасних реалізацій Unix (включаючи більшість пакунків, які надають Unix-подібні інструменти для Windows), але якщо ви отримуєте дивні помилки у скриптах, написаних колегами, перевірте, для якого терміналу вони були написані.
Конфігурації Bash
Хочете налаштувати шляхи, змінні оточення, псевдоніми, та інші параметри вашого терміналу? Ця чудова стаття в блозі “Bash Configurations Demystified” від Далтона Хаббла містить поради, підказки та способи уникнення небезпек.