The Unix Shell: Reference

Ключові моменти

Канали та фільтри
  • wc підраховує рядки, слова та символи у вхідних даних.

  • cat` виводить вміст своїх вхідних даних.

  • sort сортує вхідні дані.

  • head виводить перші 10 рядків вхідних даних.

  • tail виводить останні 10 рядків вхідних даних.

  • command > [file] перенаправляє вивід команди у файл (перезаписуючи наявний вміст).

  • command >> [file] додає вивід команди до файлу.

  • [first] | [second] є конвеєром: вихід першої команди використовується як вхід для другої.

  • Найкращий спосіб використання терміналу - це використання каналів для об’єднання простих одноцільових програм (фільтрів).

Скрипти терміналу
  • Зберігайте команди у файлах (зазвичай їх називають скриптами терміналу) для повторного використання.

  • bash [ім'я файлу] виконує команди, збережені у відповідному файлі.

  • $@ посилається на всі аргументи командного рядка скрипта терміналу.

  • $1, $2, і т.д., посилаються на перший аргумент командного рядка, другий аргумент командного рядка і т.д.

  • Беріть змінні в лапки, якщо значення можуть містити пробіли.

  • Дозвіл користувачам вирішувати, які файли обробляти, є більш гнучким і більш узгодженим з вбудованими командами Unix.

Пошук речей
  • find шукає файли з певними властивостями, які відповідають шаблонам.

  • grep вибирає рядки з файлів, які відповідають шаблонам.

  • --help - це опція, яка підтримується багатьма командами bash і програмами, які можна запустити з bash, для відображення додаткової інформації про те, як користуватися цими командами або програмами.

  • man [команда] показує сторінку посібника для даної команди.

  • $([команда]) вставляє вивід команди на місце.

Короткий опис основних команд

Операція Файли Каталоги
Перелічити ls ls
Проглянути вміст cat ls
Перейти до …   cd
Перемістити mv mv
Копіювати cp cp -r
Створити nano mkdir
Видалити rm rmdir, rm -r

Ієрархія файлової системи

Нижче наведено огляд стандартної файлової системи Unix. Точна ієрархія залежить від платформи. Ваша структура файлів/каталогу може дещо відрізнятися:

Ієрархія файлової системи Linux

Словник

абсолютний шлях
Шлях, який посилається на певне місце у файловій системі. Абсолютні шляхи зазвичай записуються відносно кореневого каталогу файлової системи і починаються з символів “/” (у Unix) або “\” (у Microsoft Windows). Дивись також: відносний шлях.
аргумент
Значення, яке передається до функції або програми під час її запуску. Цей термін часто використовується як взаємозамінний (і неузгоджено) з параметр.
командна оболонка
Дивись термінал
інтерфейс командного рядка
Інтерфейс користувача, заснований на введенні команд, зазвичай у циклі REPL. Дивись також: графічний інтерфейс користувача.
коментар
Зауваження в програмі, яке має на меті допомогти людині-читачеві зрозуміти, що відбувається, але ігнорується комп’ютером. Коментарі у мовах Python, R та в терміналі Unix починаються з символу #' та йдуть до кінця відповідного рядка коментарі в SQL починаються з –`, а в інших мовах існують інші домовленості.
поточний робочий каталог
Каталог, з якого обчислюються відносні шляхи; еквівалентно, місце, де шукаються файли, на які посилаються лише за іменами. Кожен процес має поточний робочий каталог. На поточний робочий каталог зазвичай посилаються за допомогою скороченого позначення . (вимовляється як “крапка”).
файлова система
Набір файлів, каталогів та пристроїв вводу/виводу (таких як клавіатури та екрани). Файлова система може бути розподілена на багатьох фізичних пристроях, або багато файлових систем можуть зберігатися на одному фізичному пристрої; операційна система керує доступом.
розширення імені файлу
Частина імені файлу, яка йде після останнього символу “.”. За домовленістю це визначає тип файлу: .txt означає “текстовий файл” (від англ. “TeXT”), .png означає “файл портативної мережевої графіки” (від англ. “Portable Network Graphics file”), і так далі. Більшість операційних систем не дотримуються цих домовленостей: цілком можливо (але заплутано!) назвати звуковий файл MP3 homepage.html. Оскільки багато програм використовують розширення назв файлів для ідентифікації MIME типу файлу, неправильне називання файлів може призвести до збою у роботі відповідних програм.
фільтр
Програма, яка перетворює потік даних. Багато інструментів командного рядка Unix написано у вигляді фільтрів: вони зчитують дані зі стандартного вводу, обробляють їх і записують результат у стандартний вивід.
цикл FOR
Цикл, який виконується один раз для кожного значення в деякому наборі, списку або діапазоні. Дивись також: [цикл while] (#цикл-while).
графічний інтерфейс користувача
Інтерфейс користувача, заснований на виборі елементів і дій з графічного дисплея, зазвичай керований за допомогою миші. Дивись також: інтерфейс командного рядка.
домашній каталог
Каталог за замовчуванням, пов’язаний з обліковим записом у комп’ютерній системі. За домовленістю усі файли користувача зберігаються у домашньому каталозі або нижче нього.
цикл
Набір інструкцій, що виконується декілька разів. Складається з тіла циклу і (зазвичай) умови виходу з циклу. Дивись також: цикл for та цикл while.
тіло циклу
Набір операторів або команд, які повторюються всередині циклу for чи циклу while.
MIME тип
Типи MIME (Multi-Purpose Internet Mail Extensions, з англ. багатоцільові розширення інтернет-пошти) описують різні типи файлів для обміну в Інтернеті, наприклад, зображення, аудіо та документи.
операційна система
Програмне забезпечення, яке керує взаємодією між користувачами, обладнанням та [процесами] (#процес) програмного забезпечення. Поширеними прикладами є Linux, macOS та Windows.
опція
Спосіб вказати аргумент або параметр у програмі командного рядка. Зазвичай у Unix-програмах використовується тире, за яким слідує одна літера, наприклад, -v, або два тире з наступним словом, наприклад, --verbose, у той час як програми для DOS використовують косу риску, наприклад /V. Залежно від програми, опція може супроводжуватися одним аргументом, як у -o /tmp/output.txt.
параметр
Змінна, названа в оголошенні функції, яка використовується для зберігання значення, переданого у виклик. Цей термін часто використовується як взаємозамінний (і неузгоджено) з аргумент.
батьківський каталог
Каталог, який “містить” каталог, про який йде мова. Кожен каталог у файловій системі, окрім [кореневого каталогу] (#кореневий-каталог), має батька. На батьківський каталог зазвичай посилаються за допомогою скороченого позначення .. (вимовляється як “крапка крапка”).
шлях
Опис, який вказує місцезнаходження файлу або каталогу у файловій системі. Дивись також: абсолютний шлях, відносний шлях.
канал
З’єднання виходу однієї програми з входом іншої. Коли дві або більше програм з’єднані таким чином, вони називаються “конвеєром”.
процес
Екземпляр програми, що виконується; містить код, значення змінних, відкриті файли, мережеві з’єднання тощо. Процеси - це “актори”, якими керує операційна система; зазвичай вона виконує кожен процес по кілька мілісекунд за раз щоб створити враження, що вони виконуються одночасно.
запит на введення
Символ або символи, які виводяться циклом REPL, щоб показати, що він чекає на наступну команду.
цитува́ння
(в терміналі): Використання лапок різного типу для запобігання інтерпретації оболонки спеціальних символів. Наприклад, щоб передати програмі рядок *.txt, зазвичай потрібно записати його як '*.txt' (з одинарними лапками), щоб термінал не намагався розгорнути символ підстановки *
цикл read-evaluate-print
(REPL): інтерфейс командного рядка, який читає команду від користувача, виконує її, виводить результат і чекає на наступну команду.
перенаправляти
Надіслати вивід команди до файлу, а не на екран або іншій команді, або, еквівалентно, прочитати вхідні дані команди з файлу.
регулярний вираз
Шаблон, який визначає набір рядків символів. Найчастіше використовуються для пошуку послідовностей символів у рядках.
відносний шлях
Шлях, який вказує місцезнаходження файлу або каталогу відносно поточного робочого каталогу. Будь-який шлях, який не починається з символу-розділювача (“/” або “\”), є відносним шляхом. Дивись також: абсолютний шлях.
кореневий каталог
Найвищий каталог у файловій системі. Його назва “/” у Unix (включаючи Linux і macOS) і “\” у Microsoft Windows.
термінал
інтерфейс командного рядка, наприклад, Bash (the Bourne-Again Shell) або термінал Microsoft Windows DOS яка дозволяє користувачеві взаємодіяти з [операційною системою] (#операційна-система).
скрипт терміналу
Набір команд терміналу, збережений у файлі для повторного використання. Скрипт терміналу - це програма, яку виконує термінал; назва “скрипт” використовується з історичних причин.
стандартний ввід
Потік вводу процесу за замовчуванням. В інтерактивних програмах командного рядка, він зазвичай підключається до клавіатури; у канал він отримує дані зі стандартного виводу попереднього процесу.
стандартний вивід
Потік виведення процесу за замовчуванням. В інтерактивних програмах командного рядка, дані, надіслані на стандартний вивід, виводяться на екран; в каналі вони передаються до стандартного вводу наступного процесу.
підкаталог
Каталог, що міститься у іншому каталозі.
завершення клавішею табуляції
Функція, що надається багатьма інтерактивними системами, в яких натискання клавіші Tab запускає автоматичне завершення поточного слова або команди.
змінна
Ім’я у програмі, яке асоціюється зі значенням або колекцією значень.
цикл while
Цикл, який виконується до тих пір, поки істинна певна умова. Дивись також: цикл for.
підстановочний символ
Символ, який використовується у співставленні з шаблоном. У терміналі Unix, шаблон * відповідає нулю або більше символів, таким чином, *.txt відповідає усім файлам, назви яких закінчуються на .txt.

Зовнішні посилання

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

Посібники

Різне