Знайомство з командним рядком Bash
Автори: Ієн Мілліґан та Джеймс Бейкер Автор адаптації уроку: Дмитро Марченко Оригінал уроку: https://programminghistorian.org/en/lessons/intro-to-bash
У цьому уроці ви навчитеся вводити команди за допомогою інтерфейсу командного рядка, а не через графічний інтерфейс. Інтерфейси командного рядка мають переваги для користувачів, яким потрібна більша точність у роботі, наприклад, для дослідників, які працюють в галузі цифрової історії. Вони дають змогу більш детально керувати роботою деяких програм, адже ви можете додавати модифікатори, щоб точно вказати, як саме має виконуватися ваша програма. Крім того, їх можна легко автоматизувати за допомогою скриптів, які по суті є "рецептами" з текстових команд.
Вступ
Багато занять з циклу Programming Historian передбачають введення команд через термінал командного рядка. Зазвичай користувачі комп’ютерів сьогодні взаємодіють зі своєю системою через графічний інтерфейс користувача або скорочено GUI (Graphical User Interface). Іншими словами, скажімо, для того щоб зайти в папку, ви натискаєте на іконку папки з файлами за допомогою мишки або функціональних кнопок клавіатури; так само коли ви запускаєте програму, ви натискаєте на неї; а коли ви переглядаєте вебсторінки, ви використовуєте мишу для взаємодії з різними елементами вебсторінки. Однак до появи GUI наприкінці 1980-х років основним способом взаємодії з комп’ютером був термінал командного рядка.

Термінали або оболонки командного рядка мають переваги для користувачів комп’ютерів, які потребують більшої точності та свободи дій у своїй роботі. Вони дають змогу адаптувати запуск програми під користувача, оскільки ви можете додати певні опції, щоб точно вказати, як ви хочете, щоб ваша програма запускалася. Крім того, їх можна легко автоматизувати за допомогою скриптів, які, по суті, є контейнерами текстових команд.
Розділяють дві основні оболонки командного рядка. Перша це bash
яка використовується у OS X або у всіх інсталяціях Linux, також відома як "Bourne-again shell". Для користувачів систем на базі Windows інтерфейс командного рядка cmd (і його розширена версія PowerShell) за замовчуванням заснований на MS-DOS
, який використовує різні команди і синтаксис, але часто можуть виконувати схожі завдання. У цьому уроці представлений базовий вступ до терміналу bas
h
, але користувачі Windows також можуть його використовувати встановивши такі популярні емулятори, як Cygwin або Git Bash (див. нижче).
У цьому занятті використовується термінал Linux, який є інтерпретатором командного рядка та надає інтерфейс користувача для операційної системи Linux та Linux/Unix-подібних систем. Цей урок охопить невелику кількість основних команд. До кінця навчання ви навчитесь переміщатись у вашій файловій системі та знаходити файли, відкривати їх, виконувати базові завдання обробки даних, такі як об’єднання та копіювання файлів, а також як їх читати і робити відносно прості редагування. Ці команди є фундаментальним блоком, на основі якого можна створювати більш складні командні контейнери відповідно до ваших дослідницьких даних або проєкту.
Встановлення bash для Windows
Користувачам операційних систем OS X та сімейства Linux/Unix не потрібно встановлювати оболонку bash, оскільки вона вже є адаптована в системі. Тим з вас, хто користується Windows, потрібно зробити ще один крок і встановити Git Bash. Такий пакет можна завантажити на цій сторінці. Інструкції щодо встановлення доступні на Open Hatch.
Запуск оболонки
Windows запустить Git Bash із каталогу, у який ви його встановили. Вам потрібно буде запустити його від імені адміністратора – для цього натисніть правою кнопкою миші на іконці програми та виберіть "Запустити від імені адміністратора". В Linux за замовчуванням оболонка знаходиться в:
Show all Apps (Показати програми) >> Terminal (Термінал)

Коли ви його запустите, з’явиться наступне вікно:

Можливо, вам потрібно змінити стандартний візуальний вигляд терміналу, оскільки очі можуть напружуватися, постійно дивлячись на світлий текст на темному тлі. В операційній системі Linux за замовчуванням ви можете відкрити меню "Налаштування" (Preferences) в "Параметрах" (Parameters) у розділі "Термінал" (Terminal), клацнувши правою кнопкою миші на верхній панелі та обравши з меню пункт "Властивості" (Properties). Перейдіть на вкладку "Налаштування" та змініть її на нову колірну схему. Ми радимо обирати варіант із м’якшим контрастом між фоном і текстом, адже вам доведеться дивитися на нього тривалий час. Для користувачів Windows бажаного ефекту можна досягти за допомогою Git Bash.


Робота з файловою системою комп’ютера
Якщо, відкриваючи оболонку, ви не впевнені, де ви знаходитесь у файловій системі комп’ютера, першим кроком буде з’ясувати, у якому каталозі ви знаходитесь. На відміну від графічної системи, коли ви перебуваєте в оболонці, ви не можете перебувати в кількох каталогах одразу. Коли ви відкриваєте файловий провідник на робочому столі, він показує файли, які знаходяться в каталозі. Ви можете дізнатися, у якому каталозі ви знаходитесь, за допомогою команди pwd
(print working directory), що означає "виведення робочого каталогу". Спробуйте ввести:

і натиснути Enter.
Якщо ви використовуєте OS X або Linux, ваш комп’ютер, ймовірно, відображатиме /users/ІМ’Я КОРИСТУВАЧА з вашим власним іменем користувача замість "ІМ’Я КОРИСТУВАЧА". Наприклад, шлях користувача user в Linux виглядає наступним чином:Взаємодія з файлами

Тобто всі дії з файлами які ви будете робити будуть відбуватись в папці /home/user
.
При роботі з оболонкою bash в системі Windows шлях до первинного каталогу буде дещо відрізнятись: c/users/user
. Користуючись терміналом bash у різних операційних системах і виконуючи дії з файлами, ви помітите невеликі відмінності в тому, як вони виглядають. Ці відмінності відійдуть на другий план коли ви вивчите всі потрібні команди.
Отже, ми навчились визначати ім’я робочого каталогу за допомогою команди pwd
. Наступним кроком спробуємо перевірити і подивитись на вміст цього каталогу. Набираємо команду ls
в терміналі і натиснемо ENTER:

В терміналі ви побачите список усіх файлів і каталогів у вашій поточній папці (/home/user
). Ваша поточна папка може містити як безліч файлів та каталогів так і містити лише стандартні каталоги: Робочій стіл (Стільницю), Документи, Відео, Музику, Завантаження, Зображення тощо.
Інколи вам може знадобитися більше інформації, ніж просто список файлів. Ви можете зробити це, додавши різні опції для наших основних команд. Це доповнення до команди, які дають комп’ютеру точніші вказівки щодо того, який результат ви хочете отримати на екрані чи які саме дії виконати. Щоб отримати список таких додаткових опцій для певної команди, використовується вбудована в операційну систему довідкова програма man
(manual), що означає керівництво, посібник — команда Unix, призначена для форматування й виведення довідкових сторінок. Отже, щоб отримати додаткові опції для команди ls
необхідно набрати в терміналі man ls
, власне, що ми і зробимо:

man
для команди ls
в системі Linux UbuntuТут ви бачите список опцій з якими команда ls
може запускатись, і як ці опції впливають на результат роботи команди. Чимало з них поки що можуть бути вам незрозумілі, але не хвилюйтеся; з часом ви познайомитеся з ними ближче. Ви можете досліджувати цю сторінку різними способами: клавіша пробілу переміщує сторінку вниз або можна використовувати стрілки вниз і стрілки вгору по всьому документу. Щоб вийти зі сторінки посібника, натисніть літеру q
і ви повернетеся до командного рядка, де ви були перед входом на сторінку посібника.

Спробуйте додатково використати довідку man
для іншої команди, яку ви наразі вивчили, pwd
.
Користувачі Windows можуть використовувати команду help
, хоча ця команда має менше функцій, ніж man в OS X/Linux. Введіть help
, щоб переглянути доступну довідку, і help pwd
для прикладу результату команди.
Спробуємо скористатися кількома параметрами, які ви бачили на сторінці довідки для ls
. Можливо, ви хочете бачити лише текстові файли з розширенням TXT, які знаходяться в нашому домашньому каталозі. Виконуємо команду ls *.txt
в терміналі:

яка повертає на екран список текстових файлів, якщо вони є у вашому домашньому каталозі (їх може і не бути, і це теж нормально). Опція * є символом підстановки – вона означає "що завгодно". Отже, у цьому випадку ви вказуєте, що все, що відповідає шаблону: [що завгодно.txt] має відображатися списком у вікні терміналу.
Спробуйте різні комбінації. Якщо, наприклад, у вас є кілька файлів у форматі 1-example.txt, 2-example.txt тощо, команда ls *-example.txt
відобразить їх усі, але не відобразить усі інші файли (ті, що не відповідають шаблону).
Якщо вам потрібно більше інформації щодо файлів і каталогів (наприклад час створення, інформацію про власника, розмір, їхні параметри тощо) для команди ls
необхідно застосувати опцію -l
. Набравши команду ls -l
в терміналі отримаємо:

комп’ютер виведе довгий список файлів, який містить інформацію, подібну до тієї, яку ви знайдете у своєму Провіднику: розмір файлів у фрагментах, дата їх створення або останньої зміни та ім’я файлу. Але тут є одна відмінність, яка може дещо заплутати: ви бачите, що розмір каталогу Desktop
становить 4096 біт. Ви, мабуть, більше знайомі з такими одиницями, як байти, кілобайти, мегабайти та гігабайти. На щастя існує інша опція -h яку можна об’єднати з попередньою командою (ls -lh)
:

ви отримаєте інформацію щодо об’єму каталогів і файлів у зручному для вас форматі і дізнаєтесь що 4096 біт також становлять 4.0КБ як показано на рисунку. Отже, ви дізналися, що довідкова система допомагає з’ясувати опції певних команд, і що ці опції можна використовувати як окремо, так і в комбінації.
Ці параметри дуже важливі. Ви зустрінете їх і в інших уроках платформи Programming Historian (Посібника з цифрової історії). Wget, MALLET і Pandoc використовують однаковий синтаксис. На щастя, вам не потрібно запам'ятовувати синтаксис; натомість тримайте ці уроки під рукою, щоб ви могли швидко зазирнути, якщо вам потрібно щось налаштувати. Усі перелічені вище уроки можна опрацьовувати у будь-якому зручному для вас порядку.
Ми провели достатньо багато часу в нашому домашньому каталозі. Давайте зазирнемо в інші. Ви можете зробити це за допомогою команди cd
(change directory, тобто "змінити каталог").
Якщо ви введете команду cd Desktop
у терміналі, то ви перейдете в каталог Desktop
. Це схоже на "подвійне натискання" папки "Робочий стіл" у файловому провіднику. Щоб ще раз перевірити, введіть pwd
, і ви побачите щось на кшталт:

Спробуйте попрацювати з попередніми командами: дослідіть свій поточний каталог за допомогою команди ls
. У разі якщо ви хочете повернутись в попередній каталог виконайте команду cd ..
Це перемістить нас на один каталог "вгору", помістивши нас назад у /home/user/. Якщо ви коли-небудь цілком "заблукаєте", команда cd --
поверне вас до домашнього каталогу, з якого ви починали.
Спробуйте дослідити: відвідайте каталог документів, ваші зображення, папки, які можуть бути на робочому столі. Звикайте переходити в каталоги та виходити з них. Уявіть, що ви орієнтуєтесь у структурі дерева. Якщо ви перебуваєте на робочому столі, ви не зможете прямо використати команду cd
, щоб перейти в документи, оскільки він є "дочірнім" для вашого домашнього каталогу, тоді як ваш робочий стіл є "братом" папки "Документи". Щоб потрапити до таких папок, потрібно повернутися до загальної. Для цього вам доведеться повернутись в вашу домашню папку (cd ..
) а потім знову перейти до документів.
Можливість навігації у вашій файловій системі за допомогою оболонки bash дуже важлива для багатьох уроків у Programming Historian (Посібнику з цифрової історії). Після деякої практики ви помітите, що легко можете переходити безпосередньо до потрібного каталогу.
На завершення давайте введемо команду open .
в терміналі OS X або Linux/Unix систем або explorer .
в системі Windows. Ця команда відкриє ваш GUI провідник у поточному каталозі. Обов’язково залишайте пробіл між open
або explorer
і крапкою.

Взаємодія з файлами
Окрім навігації каталогами, ви можете працювати з файлами через командний рядок: читати, відкривати, запускати та навіть редагувати їх – часто не виходячи з самого інтерфейсу. Існують різні думки, навіщо це робити, але головна перевага – зручність: вам не доведеться користуватися мишкою чи сенсорною панеллю. Хоча спочатку навчання може бути складним, з часом командний рядок може стати вашим основним робочим середовищем. Крім того, для роботи з багатьма програмами потрібно використовувати командний рядок. Оскільки ви використовуватимете програми в командному рядку, часто можна швидше вносити невеликі зміни, не перемикаючись в окрему програму.
Ось кілька основних способів взаємодії з файлами. По-перше, ви можете створити новий каталог, щоб працювати з текстовими файлами. Для зручності, ми створимо його на вашій стільниці. Ви в будь-який час можете перемістити його в інше місце. Перейдіть на робочий стіл за допомогою оболонки та введіть: mkdir ProgHist-Text

У результаті буде створено каталог із назвою, як ви вже здогадалися, "ProgHist-Text". Загалом, варто уникати пробілів у іменах файлів і каталогах під час використання командного рядка (звичайно, є обхідні шляхи, але цей підхід простіший). Ви можете подивитися на робочий стіл, щоб переконатися, що він саме там знаходиться. Тепер перейдіть до цього каталогу (пам’ятайте, це буде команда cd ProgHist-Text
).
Але зачекайте! Існує трюк, який допоможе зробити все трохи швидше. Перейдіть на один каталог вгору (cd ..
- який поверне вас на робочий стіл). Щоб перейти до каталогу ProgHist-Text, ви можете ввести cd ProgHist-Text
. Крім того, ви можете ввести cd Prog
і натиснути табуляцію (кнопку "tab"). Ви помітите, що термінал автоматично завершить рядок команди повною назвою каталогу cd ProgHist-Text
. Натискання кнопки табуляції всередині оболонки допоможе швидко дописати команду, підбираючи варіанти з файлів і папок, які є у поточному каталозі. Однак автозаповнення чутливе до регістру: наприклад, команда cd prog
не доповнить назву ProgHist-Text
. Якщо декілька файлів починаються однаково, автозаповнення підставить текст лише до першої відмінної літери.
Ми радимо читачам користуватися цим методом протягом усього уроку, щоб краще зрозуміти, як він працює на практиці.
Для того щоб вивчити наступні приклади роботи з файлами вам потрібно знайти базовий текстовий файл. Чому б вам не скористатися збіркою віршованих творів, Тараса Шевченка "Кобзар". Текстовий файл доступний на Project Gutenberg. Якщо ви вже встановили пакет wget, ви можете просто ввести:
wget http://www.gutenberg.org/files/68486/68486-0.txt
Якщо у вас не встановлено wget
, завантажте сам текст за допомогою браузера. Перейдіть за посиланням вище та скористайтеся командою "Зберегти як..." у "меню файлів" у своєму браузері. Збережіть її у новому каталозі "ProgHist-Text".

Тепер коли ви введете команду ls -lh
ви побачите:

Ви можете прочитати текст у цьому файлі кількома способами. Один із них – відкрити його у стандартній програмі, яку зазвичай використовуєте для перегляду текстових файлів. За замовчуванням це може бути gnome – текстовий редактор в Linux або Блокнот у Windows. Щоб відкрити файл, просто введіть open 68486-0.txt

або explorer 68486-0.txt
у Windows. Така команда вибирає програму за замовчуванням для відкриття цього типу файлу та відкриває його. Однак часто хочеться просто працювати в командному рядку, не виходячи з нього. Ви також можете читати файли в цьому середовищі. Щоб спробувати це, введіть:
cat 68486-0.txt

У вікні терміналу з’явиться повний текст нашої книги. Теоретично це добре, але такий обсяг важко сприймати в цьому форматі. Замість цього можна переглянути лише початок файлу (команда head 68486-0.txt
) або його кінець (команда tail 68486-0.txt
).


Отже head
виводить перші 10 рядків файлу, тоді як tail
– останні десять. Це чудовий спосіб швидко визначити вміст файлу. Ви можете додати команду для зміни кількості рядків, що відображаються: head -20 68486-0.txt
, наприклад, покаже перші двадцять рядків.
Ви також можете змінити назву файлу на щось більш описове. Можна "перемістити" його під нову назву, ввівши mv 68486-0.txt kobzar.txt
.
Згодом, коли ви виконаєте команду ls
, ви побачите, що тепер це kobzar.txt. Якби ви хотіли скопіювати його, ви також могли б запустити команду копіювання, ввівши cp 68486-0.txt kobzar.txt
.
Тепер, коли ви використали кілька нових команд, настав час для іншого трюку. Натисніть стрілку вгору на клавіатурі. Зверніть увагу, що cp 68486-0.txt kobzar.txt
відображається перед вашим курсором. Ви можете продовжувати натискати стрілку вгору, щоб перейти до попередніх команд. Стрілка вниз циклічно повертається до вашої останньої команди.
Прочитавши та перейменувавши кілька файлів, ви можете об’єднати їхній текст в один файл. Щоб об’єднати два або більше файлів, ви можете скористатися командою cat
. Спочатку давайте скопіюємо файл kobzar.txt щоб мати ще одну копію (cp kobzar.txt kobzar2.txt
). Тепер, коли у вас є дві копії "Кобзар", давайте об’єднаємо їх, щоб зробити ще більшу книгу (збільшуємо кількість тексту у файлі): cat kobzar.txt kobzar2.txt
Наша команда відобразила об’єднані файли всередині терміналу. Однак це занадто великий обсяг, щоб читати у цьому вікні! На щастя, за допомогою опції >
ви можете надіслати вивід об’єднаних файлів у новий файл, а не у вікно терміналу. Давайте спробуємо ще раз:
cat kobzar.txt kobzar2.txt > kobzar-twice.txt

Тепер, коли ви вводите команду ls
, ви побачите, що у вашому каталозі з’явився файл kobzar-twice.txt. При потребі об’єднати більше двох файлів, використання символу узагальнення * (ми вже використовували його в цьому занятті) може допомогти уникнути необхідності писати назву кожного файлу окремо.

Отже, якщо ви наберете: cat *.txt > everything-together.txt
і натиснете Enter, всі файли .txt у поточному каталозі об’єднується в алфавітному порядку в файл everything-together.txt
. Це може бути дуже корисним, якщо вам потрібно об’єднати велику кількість менших файлів у каталозі, щоб ви могли працювати з ними в програмі аналізу тексту. Варто запам’ятати ще один шаблон підстановки: ?
який є місцем для одного символу або числа.
Редагування текстових файлів безпосередньо в командному рядку
Якщо ви хочете прочитати файл повністю, не виходячи з командного рядка, ви можете запустити vim. Vim – це дуже потужний текстовий редактор, який ідеально підходить для використання з такими програмами, як Pandoc, для обробки тексту або для редагування коду без необхідності переходу на іншу програму. Найкраще те, що він постачається з bash як в OS X, Linux/Unix так і в Windows. Vim доволі складно опановувати, тож ми лише торкнемося кількох основних моментів.
Введіть в терміналі: vim kobzar.txt
і ви повинні побачити перед собою vim, текстовий редактор на основі командного рядка.

Якщо ви хочете глибше опанувати Vim, існує чудовий посібник, присвячений цій програмі. Також ви можете використати довідкову систему man
, з якою ви вже ознайомилися.
Використовувати Vim для читання файлів відносно просто. Можна користуватися клавішами зі стрілками для навігації та, теоретично, читати Кобзар через командний рядок. Розглянемо деякі швидкі основні навігаційні команди:
Ctrl+F
(тобто, утримуючи натиснутою "клавішу керування", натиснути літеру F) перемістить вас на сторінку вниз (Shift+стрілка вгору
для Windows).
Ctrl+B
перемістить вас на сторінку вгору (Shift+стрілка вниз
для користувачів Windows).
Якщо ви хочете швидко перейти до кінця рядка, ви можете натиснути: $
і, щоб перейти до початку рядка – 0
. Ви також можете переходити між реченнями, натискаючи )
або (
(вперед і назад відповідно). Для абзаців, використовуйте }
і {
. Такий спосіб дозволяє пришвидшити переміщення вздовж документу вперед і назад за допомогою клавіатури замість того, щоб утримувати клавішу зі стрілкою.
Давайте прокрутимо текст догори та внесемо незначні зміни, наприклад додамо поле Reader
у заголовок. Перемістіть курсор між першим і другим рядками:

Як тільки ви почнете вводити текст, то отримаєте повідомлення про помилку або курсор почне стрибати. Це тому, що потрібно вказати, що ви хочете зробити саме редагування. Натисніть на літеру a
.
Внизу екрана ви побачите -- INSERT --

Це значить, що ви перебуваєте в режимі вставки. Тепер можна вводити і редагувати текст, як у стандартному текстовому редакторі. Двічі натисніть enter, потім стрілку вгору та введіть:
Reader: A Programming Historian
Коли ви закінчите, натисніть ESC, щоб повернутися до режиму читання.

Щоб вийти з vim або зберегти, вам потрібно ввести ряд команд. Натисніть : , і ви перейдете до рядка введення команд Vim. тут можна вводити різні команди. Якщо ви хочете зберегти файл, введіть w
, щоб "записати" файл. Якщо ви виконаєте цю команду, то побачите

Якщо ви хочете вийти, введіть : знову, а потім q
. Це поверне вас до командного рядка. Як і у випадку з рештою команд в bash, ви також можете поєднати дві опції (ми робили це з вами на прикладі ls -lh
). Якщо натиснути :
і потім ввести wq
, файл буде записаний, а редактор закриється. Якщо ж ви хочете вийти без збереження, введіть q!
.
Редактор vim відрізняється від тих, до яких ви ймовірно звикли, і вам знадобиться більше роботи та практики, щоб вільно володіти ним. Але якщо ви попрактикуєтесь, зробивши незначні зміни у файлах, це хороший спосіб для початку. Коли ви освоїтеся, ви навіть можете почати писати курсові роботи з його допомогою, використовуючи можливості Pandoc та Markdown для створення виносок та форматування.
Переміщення, копіювання та видалення файлів
Скажімо, ви закінчили роботу з цим каталогом і хочете перемістити kobzar.txt
кудись в інше місце. Перш за все, вам слід створити резервну копію. Оболонка дуже чутлива до помилок, тож створення резервних копій тут є критично важливим. Якщо ви видаляєте тут щось, у вас немає корзини, з якої можна це відновити. Щоб створити резервну копію, варто ввести:
cp kobzar.txt kobzar-backup.txt
Тепер, коли ви виконуєте команду ls
, ви побачите п’ять файлів, два з яких однакові: kobzar.txt
і kobzar-backup.txt
.
Давайте перенесемо перший із них кудись в інше місце. Для прикладу створимо другий каталог на робочому столі. Перейдіть на робочий стіл (cd ..
) і mkdir
інший каталог. Назвемо його proghist-dest
.

Файл kobzar.txt
можна скопіювати різними способами. Ви можете виконати команду з будь-якого місця в оболонці або спершу відкрити вихідний чи цільовий каталог. У нашому прикладі ми просто запустимо її з поточного розташування. Основним форматом команди копіювання є cp [джерело] [призначення]
. Спочатку набираєте cp
, після цього перелічуєте потрібні файли, а потім зазначаєте каталог, куди вони мають потрапити. Отже, виконаємо наступне:
cp
/user/user/desktop/proghist-text/kobzar.txt
/user/user/desktop/proghist-dest/
Команда записана в трьох кольорах для кращого розуміння самої команди і її опцій. Перша частина – відповідно сама команда cp
, друга частина (синій колір) – джерело, яке копіюється і третя частина (зелений колір) – шлях призначення, куди ми копіюємо джерело. Вам потрібно буде вставити власне ім’я користувача замість "/user
/user
"
. Це означає, що тепер у вас є три копії тексту "Кобзаря" на комп’ютері. Оригінал, резервна копія та нова копія безпосередньо в іншій папці. Якщо ви хочете перемістити файл, тобто не залишати копію, ви можете запустити команду знову, замінивши cp
на mv
, але давайте поки не будемо цього робити.
Ви також можете скопіювати кілька файлів за допомогою однієї команди. Якщо ви бажаєте скопіювати як вихідний, так і резервний файл, ви можете використати команду підстановки.
cp
/user/user/desktop/proghist-text/*.txt
/user/user/desktop/proghist-dest/
Ця команда копіює всі текстові файли з вихідного каталогу в цільовий каталог.
Примітка. Якщо ви перебуваєте в каталозі, до якого або з якого хочете перемістити елементи, вам не потрібно вводити всю структуру каталогу. Давайте наведемо два швидких приклади. Зайдіть у свій каталог proghist-text
. З нього, якщо ви хочете скопіювати ці два файли до proghist-dest
, виконайте команду:
cp
*.txt
/user/user/desktop/proghist-dest/
Як альтернатива попередній команді, якщо ви перебуваєте в каталозі proghist-dest
, виконайте наступне:
cp
/users/ianmilligan1/desktop/proghist-text/*.txt
./
Опція ./
посилається на поточний каталог, у якому ви перебуваєте. Це дійсно цінна команда.
І насамкінець: щоб видалити файл, скористайтеся командою rm
або remove
. Будьте обережні з командою rm
, щоб випадково не видалити файли, які вам ще потрібні. На відміну від видалення з графічного інтерфейсу GUI, тут немає корзини чи опції скасування. Тому, якщо ви не впевнені, дійте обережно або подбайте про регулярне резервне копіювання даних.
Перейдіть до proghist-text
і видаліть оригінальний файл, ввівши
rm kobzar.txt
Переконайтеся, що файл зник, використовуючи команду ls
. Якщо ви хочете видалити цілий каталог, у вас є два варіанти. Ви можете використовувати rmdir
, протилежну до mkdir
, щоб видалити порожній каталог. Щоб видалити каталог з файлами, виконайте команду:
rm -r proghist-text
Висновки
Ми розглянули все що запланували, отже ви можете відпочити від терміналу. Для цього введіть exit
, і завершити сеанс.
Існує багато інших команд, які можна спробувати, коли ви навчитеся працювати з командним рядком. Серед корисних команд варто згадати du
, що дозволяє дізнатися обсяг використаної пам’яті. Додавши -h
, ви отримаєте зручний для сприйняття формат, як і в інших командах. Для тих із вас, хто користується OS X/Linux/Unix, команда top
містить огляд запущених процесів (mem
у Windows), а застосувавши FILENAME
, можна створити простий текстовий файл в усіх системах.
Сподіваємося, що на цьому етапі ви вже впевнено орієнтуєтеся у дереві каталогів за допомогою командного рядка, умієте переміщувати основні файли та вносити дрібні зміни. Цей урок для початківців покликаний дати вам базові навички та впевненість у роботі з командним рядком. Згодом ви, можливо, зможете перейти і до створення власних скриптів.
Приємної роботи! Незабаром вам може сподобатися, як командний рядок допомагає виконувати певні завдання точніше і швидше, ніж звичний графічний інтерфейс. Ваш арсенал інструментів тепер став ширшим.
Довідковий посібник
Для зручності в таблиці нижче наведено команди, які ви вивчили на цьому занятті:
pwd
Виводить "поточний робочий каталог", повідомляючи, де ви знаходитесь
ls
Показує список файлів у поточному каталозі
man
Показує керівництво для обраної команди
cd
Змінює поточний каталог на вказаний
mkdir
Створює каталог з іменем
open або explorer
В OS X/Linux/Unix команда open відкриває провідник; у Windows команда explorer робить те саме
cat
Універсальна команда для читання, об’єднання та розділення файлів тощо
head
Відображає перші десять рядків текстового файлу
tail
Відображає останні десять рядків текстового файлу
mv
Переміщує файли
cp
Копіює файли
rm
Видаляє файли
vim
Відкриває редактор документів vim
Про авторів
Ієн Мілліґан – доцент кафедри історії в Університеті Ватерлоо. Джеймс Бейкер – професор цифрових гуманітарних наук в Університеті Саутгемптона.
Переклад українською: Дмитро Марченко, кандидат технічних наук, завідувач кафедри картографії та геопросторового моделювання Національного університету "Львівська політехніка".
Переклад рецензували: Володимир Нікулішин, кандидат технічних наук, доцент кафедри картографії та геопросторового моделювання Національного Університету "Львівська Політехніка", ГІС розробник, Python розробник; Мар’яна Юрків, кандидатка фізико-математичних наук, доцентка кафедри картографії та геопросторового моделювання Національного університету "Львівська політехніка", ORCID.
Рекомендоване цитування: Мілліґан, Ієн та Бейкер, Джеймс, "Знайомство з командним рядком Bash" Programming Historian, переклав Дмитро Марченко, Посібник з цифрової історії, 2025.
Last updated