1. Вступ
1.1. З історії створення Linux
У 1983 році програміст, «філософ» руху вільних програм Річард Столмен, заснував проєкт GNU .
Метою цього проєкту було створення повноцінної Unix -подібної операційної системи і наповнення її лише відкритим програмним забезпеченням.
На початок 1990-х проєкт зібрав майже всі необхідні компоненти такої системи: бібліотеки, компілятори, текстові редактори, командну оболонку Unix
, - за винятком основного компонента - ядра операційної системи.
У 1991 році фінський програміст Лінус Торвальдс створив ядро операційної системи GNU/Linux. Таким чином, з’явилася операційна система з ядром Linux
і набором програм і бібліотек, розроблених в рамках проєкту GNU
.
Процес розробки і удосконалення ядра постійно продовжується, а інші підсистеми (як-от компоненти GNU
) також розвиваються.

На відміну від більшості інших операційних систем, система GNU/Linux
не має єдиної «офіційної» комплектації.
Різні спільноти й компанії комбінують і поширюють програми GNU
разом із ядром Linux
та додатковим прикладним програмним забезпеченням у вигляді дистрибутивів Linux.
Пінгвін на ім’я Tux
є логотипом і талісманом ядра Linux
.
1.2. Де використовується Linux?
Linux
є одним із найвидатніших прикладів розробки вільного програмного забезпечення. На відміну від власницьких операційних систем (на кшталт Microsoft Windows
та macOS
), початкові коди Linux
доступні усім для використання, зміни та розповсюдження абсолютно вільно (в тому числі безкоштовно).
Система Linux
, спочатку розроблена для використання окремими ентузіастами на своїх персональних комп’ютерах, пізніше набула неабиякої популярності як серверна операційна система (компанії, що надають послуги вебхостингу, використовують Linux
на своїх вебсерверах).
Linux
працює на багатьох апаратних платформах. Тепер ця операційна система досить успішно використовується як на суперкомп’ютерах, так і вбудована у багато інших пристроїв:
-
смартфони;
-
планшетні ПК;
-
маршрутизатори комп’ютерних мереж (роутери);
-
пристрої автоматики;
-
настільні комп’ютери тощо.
1.3. Дистрибутиви Linux
Типовий дистрибутив Linux
складається з:
-
ядра
Linux
; -
інструментів та бібліотек проєкту
GNU
; -
додаткових програм;
-
документації;
Більшість з включених програм у дистрибутиви Linux є вільними та/або програмами з відкритим кодом, проте, частина програм можуть бути і власницькими.
|
Як правило, дистрибутив складається з пакунків.
Під пакунком розуміється окрема програма або бібліотека. |
Зазвичай, пакунок постачається у скомпільованій формі, зрозумілій системі керування пакунками.
Кожен такий пакунок містить окрім, власне, програми (дистрибутива програмного забезпечення) ще й додаткову інформацію (набір певних метаданих, який зберігається в системній базі даних пакунків), як-от:
-
інформацію про версію програми та/або пакунку;
-
ім’я розробника;
-
контрольну суму;
-
інформацію про залежності з іншими пакунками.
За допомогою цієї інформації система керування пакунками може оновлювати пакунок до новішої версії в автоматичному, напівавтоматичному чи ручному режимі, шукати потрібний пакунок тощо.
Зазвичай, базова система керування пакунками є досить низькорівневою утилітою, і її супроводжують більш високорівневі програми - менеджери пакунків або упорядники пакунків. |
Упорядник пакунків завантажує програми із репозиторія та слідкує за залежностями, встановлюючи їх за потреби. Він також може оновити (автоматично або за командою) всю систему, якщо в репозиторії з’являться оновлені версії.
Системи керування пакунками операційних систем на основі Linux
використовують різні формати пакунків. Основні типи форматів пакунків такі:
-
бінарні (двійкові) пакунки (тільки виконувані файли);
-
пакунки, що містять початкові коди програм.
1.3.1. Ubuntu
Ubuntu - одна з найпопулярніших систем, яка має найбільше співтовариство досвідчених користувачів та Інтернет-ресурсів, зручна для користувача і проста для початківця.
На базі Ubuntu створені дистрибутиви Xubuntu і Lubuntu , які позиціонуються як дистрибутиви для малопотужних комп’ютерів.
|
Дистрибутив Ubuntu
побудований на основі Debian GNU/Linux
- іншого популярного дистрибутива Linux
і спонсорується Canonical - компанією для розробки і популяризації проєктів вільного програмного забезпечення.
Ubuntu
надає користувачу мінімальний набір програм загального призначення:
-
багатовіконне середовище робочого столу;
-
вебпереглядач
Mozilla Firefox
; -
офісні програми
Libre Office
з можливістю читати і зберігати файли у форматіMicrosoft Office
; -
редактор зображень та інші.
Інше програмне забезпечення у вигляді пакунків можна отримати і встановити із відповідних репозиторіїв.
Для операційних систем, основаних на Debian , і, зокрема, для Ubuntu , використовуються deb -пакунки.
|
Кожна версія Ubuntu
має номер, що складається з року та місяця, в якому відбувся випуск системи. Наприклад, перший випуск Ubuntu 4.10
вийшов у світ у жовтні 2004 року.
Крім номера є також кодове ім’я. Всі кодові імена складаються з двох англійських слів, які починаються на одну і ту ж букву: прикметника і назви тварини. Крім того, кодові імена йдуть за алфавітом.
Наприклад, версія Ubuntu 16.04 LTS
, яка вийшла 21 квітня 2016 року, носить ім’я Xenial Xerus
(Гостинний Ксерус ). Це довготривалий реліз, про що свідчить напис LTS, тобто оновлення безпеки і програмного забезпечення для цього випуску будуть підтримуватися протягом 5 років (до 21 квітня 2021 року).
Так співпало, що на версії Ubuntu 17.10
закінчився алфавіт і все почалося спочатку. Кодове ім’я для цієї версії звучить Artful Aardvark
(Спритний Трубкозуб ). Ця версія є проміжною і вона не є версією з довготривалою підтримкою.
Період підтримки для випусків, що не належать до LTS , становить 9 місяців.
|
Реліз версії Ubuntu 18.04 LTS
з кодовою назвою Bionic Beaver
(Біонічний Бобер), що вийшов 26 квітня 2018 року, також має довготривалу підтримку (оновлення безпеки та програмного забезпечення до квітня 2023 року).
У версіях з довготривалою підтримкою реалізовано багато покращень в плані стабільності і безпеки системи, адже розробниками виправлено і мінімізовано більшість багів і проблем. Проміжні версії, як правило, використовуються для тестування програмного забезпечення та нововведень у операційну систему. |
Переглянути історію випусків Ubuntu можна на wiki-сторінці версій.
|
На сайті distrotest.net ви можете протестувати без встановлення будь-яку версію операційної системи Ubuntu (в тому числі, обрати іншу операційну систему серед багатьох представлених) у вікні браузера (можна використовувати усі функції системи, видалити та встановити програмне забезпечення, протестувати встановлені програми і навіть видалити або відформатувати жорсткий диск або системні файли).
|
Версією Ubuntu
з довготривалою підтримкою (оновлення безпеки та програмного забезпечення до квітня 2025 року) для персональних комп’ютерів є також реліз Ubuntu 20.04 LTS
з кодовою назвою Focal Fossa
(Фокусна Фоса ), що вийшов 23 квітня 2020 року.

Деякі нововведення в Ubuntu 20.04 LTS
:
-
ядро
Linux
- 5.4 (підтримка ширшого кола процесорів, вдосконалення швидкості завантаження, енергозбереження таUSB-C
); -
середовище робочого столу
GNOME 3.36
(новий дизайн системного меню і папок, менше навантаження на процесор при анімації вікон, новий дизайн вікна блокування і екрану входу у систему); -
нові версії популярних мов програмування, зокрема, за замовчуванням, в систему включений
Python 3.8
(Python 2
більше не буде підтримуватисяUbuntu
).
Рекомендовані системні вимоги:
-
2 ГГц двоядерний процесор або кращий;
-
4 ГБ оперативної пам’яті;
-
25 ГБ вільного місця на жорсткому диску;
-
доступ до Інтернету (рекомендується, але не обов’язковий).
Більше деталей про нові версії можна дізнатися на офіційному сайті Для завантаження дистрибутива |
2. Встановлення Linux Ubuntu
2.1. Необхідні початкові умови
-
Завантажити iso-образ з дистрибутивом
Ubuntu
з офіційного сайтуUbuntu
. -
Записати завантажений образ однією зі спеціальних програм на
USB
-диск (флешку) (Додаток А. Створення завантажувальної флешки). -
Перевірити підключення до мережі Інтернет (під час встановлення можуть бути завантажені додаткові пакунки програм, які не вмістилися на інсталяційний образ).
2.2. Процес встановлення
Далі описується встановлення операційної системи Ubuntu 20.04 LTS на «чистий» жорсткий диск.
|
Якщо жорсткий диск, на який здійснюється встановлення Ubuntu , містить важливі дані, перед тим, як продовжити, слід виконати резервне копіювання таких даних на інші носії.
|
2.2.1. Завантаження із інсталяційного образу
Вставити флешку із записаним образом Ubuntu
в USB
-порт, перезавантажити комп’ютер.
2.2.2. Вибір мови
Після перезавантаження відкриється вікно вітання, у якому потрібно обрати мову.

2.2.3. Запуск встановлення
Коли мова обрана, на екрані вітання буде запропоновано два варіанти: Спробувати Ubuntu і Встановити Ubuntu.
Якщо обрати Спробувати Ubuntu, то система буде завантажена в У випадку з вибором Встановити Ubuntu, відбудеться безпосередньо встановлення. |
У випадку вибору варіанту Спробувати Ubuntu, відкриється робочий стіл Ubuntu
.

Для першого знайомства з Ubuntu
можна спробувати запустити деякі вже встановлені у систему програми.
В Для швидкого пошуку програми у рядок пошуку можна ввести її назву (або частину її назви) і її ярлик запуску з’явиться у списку. |

Після знайомства з Ubuntu
, можна перейти до безпосереднього встановлення, виконавши подвійний клік на значку Встановити Ubuntu на робочому столі, перевірити чи правильно обрано мову і натиснути кнопку Продовжити.
2.2.4. Розкладка клавіатури
Тут вам запропоновано вибрати мову розкладки клавіатури і натиснути Продовжити.

2.2.5. Оновлення та інше програмне забезпечення
На кроці Оновлення та інше програмне забезпечення оберіть спосіб встановлення (звичайна установка чи мінімальна інсталяція) і активуйте обидва пункти у розділі Інші параметри, а саме:
-
Завантажити оновлення при встановленні
Ubuntu
. -
Встановити стороннє програмне забезпечення для графіки, обладнання Wi-Fi та додаткових медіаформатів.
Натисніть кнопку Продовжити, щоб перейти до наступного кроку.

2.2.6. Тип встановлення
На кроці Тип встановлення потрібно обрати один із варіантів:
-
Якщо на комп’ютері вже встановлена інша операційна система (або кілька, суть від цього не змінюється), з’явиться перший варіант Встановити Ubuntu поруч з... (даний варіант відсутній на скриншоті нижче, оскільки жорсткий диск, на який відбувається встановлення системи є «чистим»), в якому встановлювач сам знайде місце поруч зі встановленою системою, не заподіявши їй ніякої шкоди.
-
Другий варіант, який пропонує Стерти диск і встановити Ubuntu. В цьому випадку зітреться все, що є на жорсткому диску і встановиться тільки
Ubuntu
. -
Третій варіант (який і обираємо) - Щось інше, пропонує створити і змінити розділи диска для
Ubuntu
самостійно (для досвідчених користувачів).

Натискаємо кнопку Продовжити, щоб перейти до наступного кроку.
2.2.7. Таблиця розділів
На даному кроці необхідно створити нову таблицю розділів, у випадку встановлення на «чистий» жорсткий диск (він відображається у вікні підключених пристроїв з назвою sda
)

Для створення нової таблиці розділів натисніть по черзі кнопки Нова таблиця розділів… і Продовжити

sda
У результаті цих дій отримаємо обсяг вільного місця на диску у МБайтах

sda
2.2.8. Створення розділів
Створимо на диску розділи для різних задач.
Теорія
У стандартній розбивці диска для встановлення Linux
можуть використовуватись такі розділи:
/
-
основний (системний) розділ, корінь файлової системи;
/boot
-
файли завантажувача;
/home
-
розділ для файлів користувача;
swap
-
файл підкачки.
Все, що вище перераховано, окрім swap
, - це точки монтування у файловій системі. Це означає, що зазначені розділи будуть підключені до відповідних каталогів у файловій системі.
Практика
Якщо використовується режим Якщо використовується звичайний |
Для створення розділів вибираємо пункт Вільне місце і натискаємо на плюс (+
) при створенні кожного нового розділу.



На цьому розмітка диска завершена. Натискаємо Встановити зараз

і підтверджуємо внесення змін на диск - натискаємо Продовжити, щоб продовжити встановлення.

2.2.9. Ваше місцезнаходження?
Далі, у вікні встановлення Ваше місцезнаходження? введіть в поле, внизу вікна, назву вашої місцевості, або клікніть на карті для правильного відображення часу в системі і натисніть Продовжити.

2.2.10. Користувач
На етапі встановлення Хто ви? необхідно ввести ім’я користувача і пароль для основного користувача, від імені якого буде використовуватись система, а також ввести мережеве ім’я для комп’ютера.
Пароль варто записати, адже його часто треба буде вводити при налаштуванні системи. |
Вхід у систему можна зробити автоматичним (якщо комп’ютером буде користуватися один користувач), у іншому випадку (наприклад, користувачів буде два) обираємо пункт Для входу потрібен пароль

Якщо все заповнено і активовано, натисніть Продовжити.
2.2.11. Завершальний етап встановлення
Тепер залишилося дочекатися поки завершиться встановлення Ubuntu
(копіювання файлів на комп’ютер).

Після цього необхідно буде перезавантажити комп’ютер.

На завершальному етапі встановлення в процесі перезавантаження комп’ютера треба витягнути інсталяційний носій (флешку) з образом. |
2.2.12. Вхід у систему
Залишилося ввести логін і пароль

для авторизації у системі

3. Організація файлової системи у Linux
3.1. Поняття файла і каталогу
Як відомо, у файлах зберігаються дані певного типу - текстові, графічні, звукові тощо, в тому числі, і виконувані програми.
Для операційної системи Linux
файл - окрема область даних на одному з носіїв інформації, у якої є власне ім’я. Більше того, усі пристрої, підключені до комп’ютера (починаючи з клавіатури і закінчуючи будь-якими зовнішніми пристроями, наприклад, принтерами і сканерами) Linux
визначає як файли.
Звичайно, файл, який містить звичайні дані, сильно відрізняється від файла, призначеного для звернення до пристрою, тому у Linux
визначені кілька різних типів файлів.
В основному користувач має справу з файлами трьох типів:
-
звичайними файлами, призначеними для зберігання даних;
-
каталогами;
У файлових системах, в якості основного організаційного принципу, використовують каталоги. Говорять, що каталог містить в собі файли або інші каталоги.
Каталог у системі Linux
лише посилається на файли або інші каталоги, фізичне розміщення даних на диску, зазвичай, ніяк не пов’язане з розміщенням каталогу.
Каталог - це список посилань на файли або інші каталоги. Каталог, на який є посилання в даному каталозі, називається підкаталогом або вкладеним каталогом. |
Далі у підручнику, зазвичай, використовується більш відповідний термін для Linux - каталог.
|
3.2. Назви файлів і каталогів
Головні відмінні ознаки файлів і каталогів - це їх імена.
У Linux
імена файлів і каталогів можуть бути довжиною не більше 256
символів і можуть містити будь-які символи, крім /
. Причина цього обмеження очевидна: символ /
(прямий слеш) використовується як розділювач імен у складі шляху до файлів і каталогів, тому не повинен зустрічатися в самих іменах.
У Linux
всі імена файлів і каталогів є чутливими до регістру, тобто спокійно можна створити в одному каталозі два файли з однаковими іменами, але записаними у різних регістрах, наприклад, Ubuntu.txt
і ubuntu.txt
.
Є кілька символів, допустимих в іменах файлів і каталогів, які потрібно використовувати з обережністю:
-
спецсимволи:
*
,\
,&
,<
,>
,;
,(
,)
,ǀ
,-
; -
пропуски і табуляції.
Справа в тому, що ці символи мають особливе значення для будь-якої командної оболонки, тому потрібно буде спеціально подбати про те, щоб командна оболонка сприймала ці символи як частини імені файла або каталогу.
У Linux
в іменах файлів і каталогів допустимо використовувати будь-які символи будь-якої мови.
3.3. Розширення файлів
Багатьом користувачам знайоме поняття розширення - частина імені файла після крапки, яка обмежується декількома символами і вказує на тип даних, які містяться у файлі.
У файловій системі Linux
немає ніяких вказівок з приводу розширення: в імені файла може бути будь-яка кількість крапок (в тому числі і жодної), а після останньої крапки може бути будь-яка кількість символів.
У старих файлових системах, організованих за принципом 8 + 3 (наприклад, DOS , ISO-9660 ), в імені файла дозволяється не більше однієї крапки і розширення може бути не довше 3-х символів. Це обмеження визначило вигляд багатьох, із відомих сьогодні, розширень файлів, наприклад, .txt для текстових файлів.
|
Хоча розширення необов’язкові і не нав’язуються Linux
, вони широко використовуються: розширення дозволяє людині або програмі, не відкриваючи файл, тільки по його імені визначити, якого типу дані в ньому містяться.
Однак, потрібно враховувати, що розширення у Linux
- це тільки набір угод по найменуванню файлів з різним вмістом. Тобто, дані у файлі можуть не відповідати заявленому розширенню по тій або іншій причині, тому цілком покладатися на розширення можна не завжди.
3.4. Дерево каталогів
У сучасних файлових системах використовується ієрархічна модель організації даних: існує один каталог, який об’єднує всі дані у файловій системі - це корінь файлової системи або кореневий каталог.
Кореневий каталог може містити файли і підкаталоги (каталоги першого рівня вкладеності). Підкаталоги, у свою чергу, також можуть містити файли і підкаталоги (каталоги другого рівня вкладеності) і т.д.
Таким чином, усе, що записано на диску - це файли, каталоги - обов’язково належить кореневому каталогу: або безпосередньо міститься в ньому, або на деякому рівні вкладеності.
Структуру файлової системи Linux
можна уявити наочно у вигляді дерева, коренем якого є кореневий каталог, а у вершинах розташовані всі інші каталоги.

У будь-якій файловій системі Linux
завжди є тільки один кореневий каталог, який позначається /
. Користувач Linux
завжди працює з єдиним деревом каталогів, навіть якщо різні дані розташовані на різних носіях: жорстких, мережевих чи знімних дисках.
Для того, щоб підключати та відключати файлові системи на різних пристроях в одне загальне дерево, застосовуються процедури монтування та розмонтування. Після того, як файлові системи на різних носіях підключені до загального дерева, дані, що містяться на них, доступні так, якщо б усі вони складали єдину файлову систему: користувач може навіть не знати, на якому пристрої, які файли зберігаються.
Положення будь-якого каталогу в дереві каталогів точно і однозначно описується за допомогою повного шляху. Повний шлях завжди починається від кореневого каталогу і складається з перерахованих усіх вершин, які зустрілися при русі по гілках дерева до шуканого каталогу включно. Назви сусідніх вершин розділяються символом /
(прямий слеш).
Організація каталогів файлової системи у вигляді дерева не допускає зациклення. Тобто, каталог не може містити в собі каталог, в якому міститься сам. Завдяки цьому обмеженню повний шлях до будь-якого каталогу або файла у файловій системі завжди буде кінцевим.
3.5. Ієрархія компонентів системи
Дерево каталогів файлової системи Linux
однакове (або майже однакове) в будь-якому дистрибутиві Linux
.
У кореневому каталозі Linux
-системи, зазвичай, знаходяться тільки підкаталоги зі стандартними іменами. Більше того, не тільки імена каталогів, але і типи даних, які можуть потрапити в той чи інший каталог, також регламентовані стандартом. Цей стандарт називається Filesystem Hierarchy Standard (стандартна структура файлових систем).
Опишемо коротко, що знаходиться у деяких з підкаталогів кореневого каталогу.
/bin
-
Назва цього каталогу походить від слова
binaries
(двійкові файли). В цьому каталозі зберігаються основні системні програми та утиліти (ls, cd тощо). /boot
-
boot
- завантаження системи. В цьому каталозі розташовані файли-образи ядерLinux
і завантажувачі системи (наприклад, завантажувач GRUB). /dev
-
В цьому каталозі знаходяться усі доступні в системі файли особливого типу, призначені для звернення до різних системних ресурсів і пристроїв (від англ.
devices
, звідси і скорочена назва каталогу). /etc
-
Каталог для системних конфігураційних файлів. Тут зберігається інформація про специфічні налаштування системи: дані про зареєстрованих користувачів, доступні ресурси, налаштування різних програм.
/home
-
Тут розташовані каталоги, що належать користувачам системи - домашні каталоги, звідси і назва home. Розмежування усіх файлів, що створюються користувачами, від інших системних файлів дає очевидну перевагу: серйозне пошкодження системи або необхідність оновлення не торкнеться найбільш цінної інформації - файлів, призначених для користувача.
/lib
-
Назва цього каталогу - скорочення від англ.
libraries
(бібліотеки). Бібліотеки - це зібрання найбільш стандартних функцій, необхідних багатьом програмам: операцій введення/виведення, малювання елементів графічного інтерфейсу та інших. Щоб не включати ці функції в текст кожної програми, використовуються стандартні функції бібліотек - це значно економить місце на диску і спрощує написання програм. У цьому каталозі містяться бібліотеки, необхідні для роботи найбільш важливих системних утиліт, які розміщені в каталогах/bin
і/sbin
. /mnt
-
Каталог для монтування (від англ.
mount
) - тимчасового підключення файлових систем, наприклад, на знімних носіях (флеш-диски,CD-ROM
та інші). /proc
-
У цьому каталозі всі файли віртуальні - вони розташовуються не на диску, а в оперативній пам’яті. У цих файлах міститься інформація про програми (процеси), які виконуються в даний момент у системі.
/root
-
Домашній каталог адміністратора системи - суперкористувача
root
. Сенс розміщувати його окремо від домашніх каталогів інших користувачів полягає в тому, що/home
може розташовуватися на окремому пристрої, який не завжди доступний (наприклад, на мережевому диску), а каталогroot
повинен бути присутнім у будь-якій ситуації. /sbin
-
Каталог для найважливіших системних утиліт (назва каталогу - скорочення від
system binaries
): на додаток до утиліт/bin
тут знаходяться програми, необхідні для завантаження, резервного копіювання, відновлення системи. Повноваження на виконання цих програм є тільки у суперкористувача. /tmp
-
Цей каталог призначений для тимчасових файлів: у таких файлах програми зберігають проміжні дані, необхідні для роботи. Після завершення роботи програми тимчасові файли втрачають сенс і можуть бути видалені. Зазвичай, каталог
/tmp
очищається при кожному завантаженні системи. /usr
-
Каталог
/usr
містить підкаталогиbin
,etc
,lib
,sbin
, як і в кореневому каталозі. Однак, у кореневий каталог потрапляють тільки утиліти, необхідні для завантаження і відновлення системи в аварійній ситуації, усі інші програми і дані розташовуються в підкаталогах/usr
. Цей каталог містить усі встановлені пакунки програм. /var
-
Назва цього каталогу - скорочення від
variable
(змінні дані). Тут розміщуються ті дані, які створюються в процесі роботи різними програмами і призначені для передачі іншим програмам і системам (черги друку, системні журнали, що містять протоколи роботи системи, тощо). На відміну від каталогу/tmp
, сюди потрапляють ті дані, які можуть знадобитися після того, як програма, що їх створила, завершила роботу.
Стандарт FHS
регламентує не тільки перераховані каталоги, а й їх підкаталоги, а іноді навіть наводить список конкретних файлів, які повинні бути присутніми у певних каталогах.
Стандартне розміщення файлів дозволяє і користувачу, і, навіть, програмі передбачити, де знаходиться той чи інший компонент системи.
Для користувача це означає, що він зможе швидко зорієнтуватися у будь-якій системі Linux
, у якій файлова система організована відповідно до стандарту, і знайти те, що йому потрібно. Для програм стандартне розташування файлів - це можливість організації автоматичної взаємодії між різними компонентами системи.
Короткий опис стандартної ієрархії каталогів Linux можна отримати, виконавши в терміналі команду man hier .
|
4. Термінал
Сучасні системи Linux
дозволяють зробити практично все за допомогою програм з графічним інтерфейсом, починаючи від встановлення програмного забезпечення і закінчуючи налаштуванням системи. Але термінал теж не втрачає свою актуальність.
Термінал - це програма Linux , яка має інтерфейс командного рядка і є потужним інструментом, за допомогою якого здійснюється ефективне керування операційною системою.
|
За допомогою термінала можна:
-
встановлювати і запускати програми;
-
працювати з файлами;
-
налаштовувати систему та багато іншого.
При достатньому рівні знань, дії в терміналі виконуються набагато швидше і ефективніше.
Наприклад, не потрібно шукати пункти меню, клікати кілька разів мишкою, виконувати пошук програми у системі тощо. Досить просто набрати одну команду, передати їй потрібні параметри, натиснути Enter і комп’ютер виконає всі потрібні дії.
У даному випадку, команда - це ім’я програми, яке вводиться в терміналі для її запуску. Разом з ім’ям в команді можуть бути присутніми опції і параметри. |
Для запуску термінала в Ubuntu натисніть сполучення клавіш Ctrl+Alt+T або використайте утиліту Показати програми ![]() |

Після запуску термінала у його вікні з’являється послідовніть символів, на зразок: teacher@teacher-VirtialBox:~$
, яку можна розшифрувати так (@
і :
- символи розділювачів):
teacher
-
ім’я поточного користувача в системі.
teacher-VirtualBox
-
назва комп’ютера.
~
-
(символ тильда) поточний каталог, в якому будуть виконуватись введені команди, інша назва - домашній каталог користувача (у даному випадку
/home/teacher
). $
-
символ запрошення до введення команд.
Спробуємо термінал у дії. Введемо команду lsb_release -a
у терміналі, щоб дізнатися інформацію про поточну версію Ubuntu
teacher@teacher-VirtualBox:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
Щоб отримати інформацію про поточне ядро системи Ubuntu
використовують команду uname -a
teacher@teacher-VirtualBox:~$ uname -a
Linux teacher-VirtualBox 5.8.0-36-generic #40~20.04.1-Ubuntu SMP Wed Jan 6 10:15:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Для отримання лише назви ядра можна виконати команду uname -r
teacher@teacher-VirtualBox:~$ uname -r
5.8.0-36-generic
4.1. Запуск програм
Запуск програм можна здійснювати не лише через Показати програми , але і за допомогою термінала.
Наприклад, щоб відкрити програму текстового редактора gedit
, який вбудований в Ubuntu
за замовчуванням, необхідно ввести у терміналі латинськими малими літерами команду - назву програми gedit
teacher@teacher-VirtualBox:~$ gedit
Виконання команди запускає у терміналі процес, пов’язаний з текстовим редактором gedit
, тому закриття термінала призведе до переривання процесу, відповідно до закриття програми.
Коли в терміналі Linux виконується якась команда, нам потрібно почекати її завершення, щоб виконати наступну. Або відкрити нове вікно термінала для виконання іншої команди.
|
Запуск програми у терміналі можна зробити по іншому
teacher@teacher-VirtualBox:~$ gedit & exit
В даному випадку, робота програми продовжується, а вікно термінала закривається. Таким чином можна відкрити кілька застосунків однією командою, об’єднавши їх через символ амперсанда &
.
4.2. Правила роботи
Робота у командному рядку термінала Linux
може виконуватися за допомогою великої кількості команд. Багато з них, наприклад, для навігації по каталогам, перегляду вмісту файлів і каталогів, встановлення програм вже присутні у системі.
Команди термінала Linux
чутливі до регістру. sudo
, SUDO
, sUdO
- не одне й те ж саме, спрацює тільки перший варіант команди. У більшості випадків у записі команд використовуються малі літери, але іноді регістр все ж переключається, у разі використання разом із командою опцій і параметрів (chown -R
).
При використанні імен файлів і каталогів також важливо правильно вводити назви: file1
і File1
- різні файли, навіть, якщо вони знаходяться в одному каталозі.
При роботі у терміналі підтримується автодоповнення, яке автоматично дописує імена файлів і каталогів, назви команд. Натисніть Tab і ім’я файла, команди або опції допишеться самостійно. У разі коли є, наприклад, кілька файлів, що починаються однаково, автозаповнення продовжить слово лише до останнього однакового у всіх іменах символу. Якщо натиснути два рази клавішу Tab, можна переглянути усі можливі варіанти назв.
Для прикладу, якщо у домашньому каталозі користувача (/home/teacher
) ввести Зав і натиснути клавішу Tab, автодоповнення спрацює лише для одного слова Завантаження, назва якого повністю з’явиться в рядку.
Якщо ж ввести За і двічі натиснути клавішу Tab, на екрані з’являться можливі варіанти назв каталогів
teacher@teacher-VirtualBox:~$ За
Завантаження/ Загальнодоступні/
Введення літери З і подвійне натискання клавіші Tab дасть наступний результат
teacher@teacher-VirtualBox:~$ З
Завантаження/ Загальнодоступні/ Зображення/
При введенні команд потрібно бути обережним із використанням пропусків. Наприклад, команда chown-R
видасть помилку (правильно chown -R
), так як команда і опція склеїлися.
Щоб створити/відкрити/видалити файл або каталог, у назві яких є пропуск, можна взяти все ім’я в лапки або замінити пропуск на зворотний слеш \
і пропуск. Якщо цього не зробити, то, наприклад, команда mkdir, що створює каталог, створить 2 каталоги: Назва і каталогу, а використання інших команд просто видасть помилку.
teacher@teacher-VirtualBox:~/Документи$ mkdir Назва каталогу
teacher@teacher-VirtualBox:~/Документи$ ls
каталогу Назва
teacher@teacher-VirtualBox:~/Документи$ mkdir Назва\ каталогу2
teacher@teacher-VirtualBox:~/Документи$ ls
каталогу Назва 'Назва каталогу2'
teacher@teacher-VirtualBox:~/Документи$ mkdir "Назва каталогу3"
teacher@teacher-VirtualBox:~/Документи$ ls
каталогу Назва 'Назва каталогу2' 'Назва каталогу3'
Сполучення клавіш Ctrl+C і Ctrl+V для копіювання і вставки у терміналі не працюють. Тому необхідно використовувати сполучення клавіш Ctrl+Shift+C і Ctrl+Shift+V відповідно або користуватись контекстним меню.
Якщо натискати на клавіатурі клавіші ↑ або ↓ , в поточному рядку термінала будуть з’являтися команди, які вже були виконані. Для очищення вікна термінала користуються командою |
4.3. Синтаксис команд
Команди у терміналі можуть виконуватися без параметрів, з параметрами, що дозволяють вказати дані, з якими буде працювати програма, і з опціями, за допомогою яких можна налаштувати поведінку.
Більшість стандартних команд дотримуються синтаксису
команда опції параметр1 параметр2 …
Опції часто необов’язкові і уточнюють той чи інший аспект роботи програми. Вони записуються у формі:
-
риска та символ (наприклад,
-o
) -
дві риски та слово (наприклад,
--output
).
Наведемо кілька прикладів для команди ls.
Без опцій і параметрів
teacher@teacher-VirtualBox:~$ ls
Відео Завантаження Зображення Стільниця pythonguide
Документи Загальнодоступні Музика Шаблони snap
З параметром, що вказує назву каталогу, вміст якого необхідно подивитися
teacher@teacher-VirtualBox:~$ ls pythonguide/
basketball_teams.py cities_facts.py quest.py
або
teacher@teacher-VirtualBox:~$ ls ./pythonguide
basketball_teams.py cities_facts.py quest.py
З опцією -l
, яка дозволяє вивести вміст каталогу у вигляді деталізованого списку
teacher@teacher-VirtualBox:~$ ls -l
загалом 40
drwxr-xr-x 2 teacher teacher 4096 січ 9 15:14 Відео
drwxr-xr-x 6 teacher teacher 4096 січ 10 12:31 Документи
drwxr-xr-x 2 teacher teacher 4096 січ 9 15:14 Завантаження
drwxr-xr-x 2 teacher teacher 4096 січ 9 15:14 Загальнодоступні
drwxr-xr-x 2 teacher teacher 4096 січ 9 15:14 Зображення
drwxr-xr-x 2 teacher teacher 4096 січ 9 15:14 Музика
drwxr-xr-x 3 teacher teacher 4096 січ 10 12:01 Стільниця
drwxr-xr-x 2 teacher teacher 4096 січ 9 15:14 Шаблони
drwxrwxr-x 2 teacher teacher 4096 січ 10 13:21 pythonguide
drwxr-xr-x 3 teacher teacher 4096 січ 10 10:54 snap
З опцією -l
і параметром, що вказує назву каталогу, вміст якого необхідно подивитися
teacher@teacher-VirtualBox:~$ ls -l pythonguide/
загалом 12
-rwxrwxrwx 1 teacher teacher 1418 сер 5 2017 basketball_teams.py
-rwxrwxrwx 1 teacher teacher 1492 сер 5 2017 cities_facts.py
-rwxrwxrwx 1 teacher teacher 491 сер 5 2017 quest.py
З двома опціями -l
і -a
(показати приховані каталоги і файли) та параметром, що вказує назву каталогу, вміст якого необхідно подивитися
teacher@teacher-VirtualBox:~$ ls -l -a pythonguide/
загалом 20
drwxrwxr-x 2 teacher teacher 4096 січ 10 13:21 .
drwxr-xr-x 17 teacher teacher 4096 січ 10 13:30 ..
-rwxrwxrwx 1 teacher teacher 1418 сер 5 2017 basketball_teams.py
-rwxrwxrwx 1 teacher teacher 1492 сер 5 2017 cities_facts.py
-rwxrwxrwx 1 teacher teacher 491 сер 5 2017 quest.py
Можна комбінувати дві опції так
teacher@teacher-VirtualBox:~$ ls -la pythonguide/
загалом 20
drwxrwxr-x 2 teacher teacher 4096 січ 10 13:21 .
drwxr-xr-x 17 teacher teacher 4096 січ 10 13:30 ..
-rwxrwxrwx 1 teacher teacher 1418 сер 5 2017 basketball_teams.py
-rwxrwxrwx 1 teacher teacher 1492 сер 5 2017 cities_facts.py
-rwxrwxrwx 1 teacher teacher 491 сер 5 2017 quest.py
4.4. Об’єднання команд
У командному рядку Linux
можна об’єднувати відразу кілька команд. Наприклад, необхідно виконати спочатку одну команду, за нею другу і так далі. Для цього завдання необхідно написати у командному рядку одну інструкцію, яка це все виконає, використавши службові символи ; && || |
.
Наприклад, необхідно виконати спочатку одну команду. Потім, коли вона відпрацює (поверне управління в командний рядок), потрібно запустити другу команду. Для цього служить символ крапка з комою ;
.
Таким чином, якщо у терміналі виконати команди для оновлення програмного забезпечення операційної системи Ubuntu
sudo apt update; sudo apt upgrade
то спочатку запуститься перша команда sudo apt update
, а коли управління повернеться у термінал, то запуститься друга команда sudo apt upgrade
. Це називається послідовним виконанням команд. Незалежно від того, як виконалася попередня команда, друга команда повинна буде запуститися.
Символи &&
і ||
означають не що інше, як логічне І та АБО. Тому коли записати
команда1 && команда2 && команда3
то це означає, що команда команда2
буде виконана тільки в тому випадку, якщо команда команда1
була виконана успішно. Кожна наступна команда виконується тільки при успішному виконанні попередньої.
Якщо виконати конструкцію
команда1 || команда2 || команда3
то команда команда2
буде виконана тільки тоді, якщо команда1
повернула помилку. Кожна наступна команда буде працювати тільки тоді, якщо попередня повернула помилку.
Якщо виконати інcтрукцію
команда1 | команда2
то результат виконання команда1
буде переданий на вхід команда2
.
4.5. Шлях до файлів і каталогів
При роботі у терміналі Linux
дуже часто необхідно разом із використанням команд вказувати шлях до файлів або каталогів файлової системи.
Розглянемо докладніше як виглядають шляхи в Linux
на основі кількох прикладів. Для демонстрації будемо користуватися командою ls, яка призначена для перегляду вмісту каталогів.
Наприклад, у нас є каталог pythonguide
в домашньому каталозі користувача з трьома файлами у ньому
teacher@teacher-VirtualBox:~/pythonguide$ ls
basketball_teams.py cities_facts.py quest.py
Ось так буде виглядати абсолютний (повний) шлях до файла basketball_teams.py
teacher@teacher-VirtualBox:~$ ls /home/teacher/pythonguide/basketball_teams.py
/home/teacher/pythonguide/basketball_teams.py
Відносний шлях щодо поточного каталогу pythonguide
до файла cities_facts.py
буде таким
teacher@teacher-VirtualBox:~$ ls pythonguide/cities_facts.py
pythonguide/cities_facts.py
або
teacher@teacher-VirtualBox:~$ ls ./pythonguide/cities_facts.py
./pythonguide/cities_facts.py
Відносний шлях, який починається від домашнього каталогу, що позначається ~, до файла quest.py
буде таким
teacher@teacher-VirtualBox:~$ ls ~/pythonguide/quest.py
/home/teacher/pythonguide/quest.py
В кожному каталозі є два приховані посилання, які можна побачити за допомогою команди ls
, виконавши її з параметром -a
(показати приховані файли та каталоги)
teacher@teacher-VirtualBox:~/pythonguide$ ls -a
. .. basketball_teams.py cities_facts.py quest.py
Перше посилання (.
) вказує на поточний каталог, друге (..
) вказує на каталог рівнем вище. Ці посилання відкривають широкі можливості для навігації по каталогам за допомогою термінала.
Наприклад, щоб посилатися на файл quest.py
у поточному каталозі pythonguide
, можна використовувати конструкцію ./quest.py
. Така конструкція є важливою при виконанні програми.
Якщо потрібно запустити програму, яка знаходиться в поточному каталозі і вона називається так само як і програма у каталозі виконуваних файлів /bin , то без явного посилання, що файл потрібно шукати саме в поточному каталозі, нічого не вийде.
|
Друге посилання дозволяє отримати доступ до файлів у каталозі вище поточного
teacher@teacher-VirtualBox:~/pythonguide$ ls ../pythonguide/cities_facts.py
../pythonguide/cities_facts.py
4.6. Довідка по команді
За назвою команди можна дізнатися для чого вона застосовується, як використовується і які доступні для неї опції. Для цього використовують конструкцію назва_команди --help
teacher@teacher-VirtualBox:~$ pwd --help
pwd: pwd [-LP]
Виводить назву поточного робочого каталогу.
Параметри:
-L Вивести значення $PWD, якщо вона вказує поточний робочий каталог.
-P Вивести фізичне розташування каталогу, без символічних посилань.
Зазвичай `pwd' працює як ніби вказано `-L'.
Код завершення:
Команда завершується невдало, якщо вказано неправильний параметр чи
не вдалося отримати доступ до поточного робочого каталогу.
Або можна використати альтернативний варіант - команду man
man назва_команди
4.7. Навігація файловою системою
Коли ви відкриваєте термінал в Ubuntu
, то відразу знаходитеся у своєму домашньому каталозі
teacher@teacher-VirtualBox:~$
Значок ~ (тильда) - означає домашній каталог поточного користувача. |
Щоб дізнатися поточний каталог (відобразити повний шлях до поточного каталогу), у терміналі досить набрати команду pwd
teacher@teacher-VirtualBox:~$ pwd
/home/teacher
Наступна команда, яка використовується в навігації - це ls. Якщо ввести у терміналі ls
, відобразиться вміст поточного каталогу
teacher@teacher-VirtualBox:~$ ls
Відео Завантаження Зображення Стільниця pythonguide
Документи Загальнодоступні Музика Шаблони snap
Безпосередньо для навігації в терміналі використовується команда cd.
Спочатку записується команда cd
, потім шлях, куди потрібно перейти. Ось так виглядає перехід в каталог pythonguide
:
teacher@teacher-VirtualBox:~$ cd pythonguide
teacher@teacher-VirtualBox:~/pythonguide$
або
teacher@teacher-VirtualBox:~$ cd pythonguide/
teacher@teacher-VirtualBox:~/pythonguide$
або
teacher@teacher-VirtualBox:~$ cd ./pythonguide
teacher@teacher-VirtualBox:~/pythonguide$
Підведемо підсумки використання вищезгаданих команд на такому прикладі
teacher@teacher-VirtualBox:~$ pwd (1)
/home/teacher
teacher@teacher-VirtualBox:~$ ls (2)
Відео Завантаження Зображення Стільниця pythonguide
Документи Загальнодоступні Музика Шаблони snap
teacher@teacher-VirtualBox:~$ cd Стільниця/ (3)
teacher@teacher-VirtualBox:~/Стільниця$ ls (4)
python_work terminal_work
teacher@teacher-VirtualBox:~/Стільниця$ cd python_work/ (5)
teacher@teacher-VirtualBox:~/Стільниця/python_work$ ls (6)
crack.py files hello.py install.py project_subtitles
teacher@teacher-VirtualBox:~/Стільниця/python_work$ python3 hello.py (7)
Hello, Ubuntu (8)
teacher@teacher-VirtualBox:~/Стільниця/python_work$ cd .. (9)
teacher@teacher-VirtualBox:~/Стільниця$ cd ~ (10)
teacher@teacher-VirtualBox:~$
-
Дізнаємося поточне розташування у файловій системі з використанням команди
pwd
(після запуску термінала поточний каталог - домашній каталог користувача/home/teacher
). -
Читаємо вміст поточного каталогу
/home/teacher
з використанням командиls
. -
Переходимо у каталог
Стільниця
з використанням командиcd
. -
Читаємо вміст каталогу
Стільниця
(всередині каталогиpython_work
іterminal_work
). -
Переходимо у каталог
python_work
з використанням командиcd
. -
Читаємо вміст каталогу
python_work
(всередині, окрім інших об’єктів, присутній файлhello.py
з програмою для виведення вітального повідомлення). -
Запускаємо на виконання файл
hello.py
(ввестиpython3
та ім’я файла). -
Відображення привітання
Hello, Ubuntu!
у вікні термінала. -
Переходимо на рівень вгору в дереві каталогів з використанням інструкції
cd ..
. -
Переходимо у домашній каталог користувача з використанням інструкції
cd ~
.
4.8. Файли і каталоги
Працюючи в терміналі дуже часто доводиться працювати з файловою системою, зокрема, створювати, видаляти, копіювати, переміщувати файли і каталоги.
4.8.1. Створення текстових файлів
Текстові файли в Linux
всюди. Всі налаштування зберігаються у вигляді текстових файлів, початкові коди всіх програм являють собою текстові файли, крім того, багато програм є насправді скриптами, тобто теж текстовими файлами.
Рекомендується, так чи інакше, перевести всю текстову інформацію на використання кодування UTF-8, оскільки фактично тільки це кодування нормально розпізнається всюди і завжди. |
Текстовий файл у терміналі Linux
можна створити кількома способами.
Команда touch
Утиліта touch була розроблена, перш за все, для того, щоб змінювати час останнього доступу до файла. Якщо вказаний файл відсутній, вона його створює.
|
Для створення текстового файла необхідно ввести команду touch, потім шлях і назву нового файла
touch /шлях/до/файла/назва_файла.txt
Наприклад, створимо текстовий файл в поточному каталозі terminal_work
з назвою file.txt
teacher@teacher-VirtualBox:~/terminal_work$ touch file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls
file.txt
Команда ls показує, що у поточному каталозі terminal_work
з’явився створений файл file.txt
.
Зберегти у файл із термінала
Інколи, виведення результатів роботи деяких термінальних команд може бути занадто об’ємним. Наприклад, виведення списку програм, які можуть бути оновлені у системі, у вікно термінала за допомогою команди
sudo apt list --upgradable
набагато зручніше перенаправити в текстовий файл і вже переглянути цей список за допомогою зручного текстового редактора.
Отже, створити текстовий файл можна перенаправленням виведення будь-якої команди у текстовий файл. У загальному випадку команда має такий вигляд
яка_небудь_команда > /шлях/до/файла/назва_файла.txt
Наприклад, збережемо виведення довідки команди ls у файл (якщо такий файл вже існує, то він буде перезаписаний; для перегляду вмісту файла використаємо команду cat)
teacher@teacher-VirtualBox:~/terminal_work$ ls --help > ls_help.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls
file.txt ls_help.txt
teacher@teacher-VirtualBox:~/terminal_work$ cat ls_help.txt
Використання: ls [КЛЮЧ]... [ФАЙЛ]...
Виводить дані щодо ФАЙЛів (типово у поточному каталозі).
Впорядковує у алфавітному порядку, якщо не вказано ні --sort, ні один з
параметрів -cftuSUX.
Обов'язкові аргументи для довгих форм запису параметрів є обов'язковими і для скорочених форм.
-a, --all не ігнорувати записи, що починаються з .
-A, --almost-all не виводити неявні . і ..
--author разом з -l, виводити автора кожного файла
-b, --escape виводити вісімкові керівні послідовності
замість неграфічних знаків
--block-size=РОЗМІР використовувати блоки розміром РОЗМІР.
...
Якщо вказати одинарний символ >
, то файл буде постійно перезаписуватися при повторному виконанні команди. Щоб нова інформація додавалась у кінець файла (тобто, файл не перезаписувався), необхідно використовувати подвійний символ >>
. Команда може мати такий вигляд
teacher@teacher-VirtualBox:~$ date >> log.txt # вивести поточні дату й час
teacher@teacher-VirtualBox:~$ whoami >> log.txt # вивести ім'я поточного користувача
teacher@teacher-VirtualBox:~$ cat log.txt
неділя, 10 січня 2021 15:26:36 +0200
teacher
Якщо необхідно створити порожній текстовий файл, то використовують команду echo
і переданий їй порожній рядок (дві одинарні лапки)
teacher@teacher-VirtualBox:~/terminal_work$ echo '' > empty_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls
empty_file.txt file.txt ls_help.txt
teacher@teacher-VirtualBox:~/terminal_work$ cat empty_file.txt
teacher@teacher-VirtualBox:~/terminal_work$
Базові правила зберігання стандартного потоку виведення термінала у текстовий файл представлені у наступній таблиці.
Синтаксис | Відображення у терміналі | Відображення у файлі | Існуючий файл | ||
---|---|---|---|---|---|
stdout |
stderr |
stdout |
stderr |
||
|
ні |
так |
так |
ні |
перезапис |
|
ні |
так |
так |
ні |
дозапис |
|
так |
ні |
ні |
так |
перезапис |
|
так |
ні |
ні |
так |
дозапис |
|
ні |
ні |
так |
так |
перезапис |
|
ні |
ні |
так |
так |
дозапис |
|
так |
так |
так |
ні |
перезапис |
|
так |
так |
так |
ні |
дозапис |
Використання текстового редактора
Ще один спосіб створення текстових файлів пов’язаний з використанням будь-якого текстового редактора. У цьому випадку необхідно у терміналі ввести команду запуску текстового редактора і шлях до файла. У найпростішому випадку можна використати консольний текстовий редактор nano
nano file.txt
Або можна використати gedit
- текстовий редактор з графічним інтерфейсом, який вбудований у дистрибутив Ubutnu
за замовчуванням
gedit file.txt
4.8.2. Створення каталогів
У терміналі усі команди, якщо вони виконуються без додаткових параметрів, «прив’язуються» до поточного каталогу. |
Створення каталогів виконується командою mkdir. Розглянемо кілька прикладів використання.
-
Створити каталог з іменем
dir1
mkdir dir1
-
Створити три каталоги одночасно всередині поточного каталогу
mkdir {dir1,dir2,dir3}
-
Створити вкладені один в одного три каталоги (використовується опція
-p
- створювати батьківські каталоги) всередині поточного каталогу
mkdir -p ./dir1/dir2/dir3
Створимо новий каталог linuxguide
у поточному каталозі terminal_work
(використаємо команду ls для наочності створення)
teacher@teacher-VirtualBox:~/terminal_work$ ls
file.txt ls_help.txt
teacher@teacher-VirtualBox:~/terminal_work$ mkdir linuxguide
teacher@teacher-VirtualBox:~/terminal_work$ ls
file.txt linuxguide ls_help.txt
4.8.3. Видалення файлів і каталогів
Для видалення каталогів використовують команду rmdir у такому вигляді
rmdir назва_каталогу
Наприклад, виконаємо команду rmdir
у поточному каталозі terminal_work
для видалення каталогу linuxguide
(використаємо команду ls для наочності видалення)
teacher@teacher-VirtualBox:~/terminal_work$ ls
file.txt linuxguide ls_help.txt
teacher@teacher-VirtualBox:~/terminal_work$ rmdir linuxguide
teacher@teacher-VirtualBox:~/terminal_work$ ls
file.txt ls_help.txt
Для видалення файлів використовується команда rm. Використовується дуже просто: пишеться команда rm і шлях до файла, який необхідно видалити
teacher@teacher-VirtualBox:~/terminal_work$ ls
empty_file.txt file.txt ls_help.txt
teacher@teacher-VirtualBox:~/terminal_work$ rm empty_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls
file.txt ls_help.txt
teacher@teacher-VirtualBox:~/terminal_work$
Команда rm дозволяє видаляти не тільки файли, але і каталоги разом із їхнім вмістом. Наприклад, якщо необхідно видалити каталог з іменем dir1
і рекурсивно (опція -r
) його вміст (усі вкладені каталоги і файли), треба виконати наступну команду
rm -r dir1
Видалити два каталоги і рекурсивно їхній вміст
rm -r dir1 dir2
Також можна використати опцію -f
, яка означає, що система під час видалення не буде запитувати підтвердження на видалення. У підсумку, команда для видалення файла file1
без підтвердження
rm -f file1
або команда для рекурсивного видалення каталогу dir1
без підтвердження
rm -rf dir1
4.8.4. Переміщення та перейменування
Для переміщення і перейменування файлів і каталогів використовується команда mv.
Формат запису команди перейменовування є таким
mv назва_файла нова_назва_файла
Якщо останній аргумент є ім’ям існуючого каталогу, то mv
переміщує усі задані файли в цей каталог
mv назва_файла назва_каталогу
Якщо останній аргумент не є каталогом і аргументами зазначено більш ніж два файли, то з’явиться повідомлення про помилку. |
Наприклад, перейменуємо у поточному каталозі файл file.txt
у файл з назвою new_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls
file.txt ls_help.txt
teacher@teacher-VirtualBox:~/terminal_work$ mv file.txt new_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls
ls_help.txt new_file.txt
Перемістимо щойно перейменований файл new_file.txt
у каталог Документи
, який знаходиться від поточного каталогу terminal_work
на рівень вгору у дереві каталогів
teacher@teacher-VirtualBox:~/terminal_work$ ls (1)
ls_help.txt new_file.txt (2)
teacher@teacher-VirtualBox:~/terminal_work$ ls ../Документи/ (3)
teacher@teacher-VirtualBox:~/terminal_work$ mv new_file.txt ../Документи/ (4)
teacher@teacher-VirtualBox:~/terminal_work$ ls (5)
ls_help.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls ../Документи/ (6)
new_file.txt
Алгоритм такого переміщення файла з одного каталогу в інший можна описати так:
-
Переглядаємо список файлів у поточному каталозі
terminal_work
за допомогою командиls
. -
У каталозі
terminal_work
присутній файлnew_file.txt
. -
Переглядаємо каталог
Документи
, куди будемо переміщувати файлnew_file.txt
. Він є порожнім. -
Виконаємо переміщення файла
new_file.txt
у каталогДокументи
за допомогою командиmv
. -
Файл
new_file.txt
відсутній у поточному каталозіterminal_work
. -
Як бачимо, файл
new_file.txt
був переміщений у каталогДокументи
.
4.8.5. Копіювання файлів і каталогів
Для копіювання файлів і каталогів використовується команда cp.
Розглянемо кілька прикладів копіювання.
-
Скопіювати файл
new_file.txt
у поточний каталогterminal_work
і назвати копію файлаother_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls
ls_help.txt new_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ cp new_file.txt other_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls
ls_help.txt new_file.txt other_file.txt
-
Скопіювати каталог
NewAge
у каталогMusic
(опція-a
- показати приховані файли і каталоги) (1), а потім скопіювати файлEpilogue.mp3
у каталогMusic/NewAge/
(2)
teacher@teacher-VirtualBox:~/terminal_work$ ls
Epilogue.mp3 ls_help.txt Music NewAge new_file.txt other_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls Music/
teacher@teacher-VirtualBox:~/terminal_work$ ls NewAge/
teacher@teacher-VirtualBox:~/terminal_work$ cp -a NewAge/ Music/ (1)
teacher@teacher-VirtualBox:~/terminal_work$ ls Music/
NewAge
teacher@teacher-VirtualBox:~/terminal_work$ cp Epilogue.mp3 Music/NewAge/ (2)
teacher@teacher-VirtualBox:~/terminal_work$ ls Music/NewAge/
Epilogue.mp3
4.8.6. Зміна прав доступу до файлів і каталогів
Права доступу і типи файлів
Будь-який файл і каталог у Linux
має користувача-власника і групу-власника. Тобто, будь-який файл і каталог належить якомусь користувачу системи і певній групі.
Крім того, у будь-якого файла і каталогу є три групи прав доступу:
-
для користувача-власника;
-
для членів групи-власника;
-
для усіх інших користувачів системи.
Кожна група складається з прав:
-
на читання;
-
на запис;
-
на запуск файла на виконання.
Переглянути права доступу на файли і каталоги у певному каталозі можна з використанням термінала. Для цього необхідно перейти у каталог (наприклад, у домашній каталог користувача) і виконати команду у терміналі ls
(показати вміст каталогу), додавши опцію -l
(у вигляді списку)
teacher@teacher-VirtualBox:~$ ls -l
...
drwxr-xr-x 2 teacher teacher 4096 січ 14 14:31 Документи
...
-rwxr-xr-x 1 teacher teacher 0 гру 31 15:15 test
У першій колонці списку якраз і відображена інформація про права доступу на файл або каталог на зразок
drwxr-xr-x
drwxr-xr-x
- це символьна форма запису прав доступу у Linux
. Давайте розшифруємо її.
Даний запис складається з 10
символів.
Перший символ позначає тип файла і може набувати значень, наведених у таблиці.
Позначення | Тип файла | Призначення |
---|---|---|
|
звичайний файл |
найпоширеніший тип файлів в системі |
|
каталог |
файли, в якості даних яких виступають списки інших файлів і каталогів. Саме у даних, що містить каталог, здійснюється зв’язок імені файла (словесного позначення) з його індексним дескриптором (ім’ям-числом). Звідси випливає, що один і той самий файл може існувати під різними іменами та/або у різних каталогах: усі імена будуть пов’язані із одним і тим же індексним дескриптором (механізм жорстких посилань) |
|
символьне посилання |
файли, які вказують на інші файли у системі за їхніми іменами (але не за індексними дескрипторами), їх часто називають м’якими посиланнями. Символьні посилання можуть вказувати як на звичайні файли, так і на каталоги або інші типи файлів (по суті, це ті ж ярлики |
|
іменований тунель |
файли, що дозволяють здійснювати обмін даними між локальними процесами, перенаправляючи результат одного процесу на вхід іншого |
|
символьний файл пристрою |
файли пристроїв, які призначені для звернення до апаратного забезпечення комп’ютера (дисків, принтерів тощо). Коли відбувається звернення до файла пристрою, то ядро операційної системи надсилає запит драйверу цього пристрою. Характерною особливістю таких файлів є те, що їхній вміст (якщо він є) не буферизується (тобто, не зберігається у пам’яті). Оскільки у них немає буфера, вони дозволяють передавати тільки по одному символу за один раз |
|
блочний файл пристрою |
ці файли є периферійними пристроями і, на відміну від символьних файлів, їх вміст буферизується. Наприклад, файлами цієї категорії є жорсткі диски, розділи на жорсткому диску, флеш-диски, |
|
файл сокету |
це файли, що забезпечують прямий зв’язок між процесами і можуть передавати інформацію між процесами, запущеними у різних середовищах або навіть на різних машинах. Це означає, що за допомогою сокетів програми можуть обмінюватися даними, навіть, по мережі. По суті, сокет працює так само як тунель, але тільки в обидві сторони |
Тобто, у випадку запису drwxr-xr-x
, це каталог.
Наступні 9
символів позначають права доступу. Їх можна розділити на 3
групи, по 3
символи в кожній групі. Ось ці три групи
rwx r-x r-x
-
Позначає права доступу власника файла або каталогу (
u
-user
). -
Позначає права доступу на файл або каталог для групи (
g
-group
). -
Позначає права доступу на файл або каталог для всіх інших (
o
-other
).
У цих трьох груп однакова комбінація символів, яка завжди має такий порядок
rwx
Позначення | Опис |
---|---|
|
|
|
|
|
|
Якщо на місці якогось символу із цієї трійки знаходиться символ -
(мінус), то це означає відсутність відповідних прав. Наприклад
r-x
означає, що права доступу на зміну і видалення файла або каталогу відсутні. У випадку
r--
відсутні права на:
-
зміну і видалення файла або каталогу;
-
запуск файла або вхід у каталог.
У нашому випадку, напис drwxr-xr-x
можна прочитати так:
-
d
- позначає каталог; -
rwx
- у власника каталогу є повні права - на читання, запис і виконання (вхід усередину каталогу); -
r-x
- у групи є лише права - на читання каталогу і виконання (вхід усередину каталогу); -
r-x
- в усіх інших є лише права - на читання каталогу і виконання (вхід усередину каталогу).
Розглянемо запис прав доступу у числовому режимі.
Для прикладу, є наступна символьна комбінація прав доступу на певний каталог
drwxrwxr-x
Символ d
означає, що це каталог. Наступні 9 символів, що позначають права доступу, поділимо на 3 групи по 3 символи в кожній групі
rwx rwx r-x
Перетворимо символи, що позначають права доступу, у двійковий вигляд за таким правилом:
-
якщо є символ, то це
1
; -
якщо є мінус (або пропуск), то це
0
.
Тепер комбінація прав доступу буде виглядати наступним чином
111 111 101
І накінець, переведемо цей запис із двійкового вигляду у вісімкову систему числення
7 7 5
У записі 775
кожна цифра позначає певну групу:
-
перша цифра - права для власника;
-
друга цифра - права для групи;
-
третя цифра - права для усіх інших.
Для легкого запам’ятовування прав доступу у числовому представленні використовуйте такі позначення: r - це 4 , w - це 2 , x - це 1 . Відсутніть прав (- ) позначається 0 .
|
Використовуючи вищезгадане правило, перетворимо символьне представлення прав доступу (rwxrwxr-x
) на числове, виконавши звичайне додавання, наведене у таблиці.
Символьний режим | Додавання прав доступу | Числовий режим |
---|---|---|
|
|
|
|
|
|
|
|
|
Результати такого додавання можна тлумачити так:
- 7 (
rwx
) -
читати, записувати, виконувати;
- 6 (
rw‐
) -
читати, записувати;
- 5 (
r‐x
) -
читати, виконувати;
- 4 (
r‐‐
) -
читати;
- 3 (
‐wx
) -
записувати, виконувати;
- 2 (
‐w‐
) -
записувати;
- 1 (
‐‐x
) -
виконувати;
- 0 (
‐‐‐
) -
ніяких прав (нічого не можна робити).
Команда chmod
Для того, щоб змінити права доступу, використовують команду chmod у двох варіантах: символьному або числовому. Розглянемо обидва випадки.
Символьний режим
У випадку символьного використання визначимо наступний шаблон
chmod ПерсонаДіїПрава ім'я_файла_або_каталогу
Замість Персона необхідно використовувати сукупність або один з таких символів:
u
-
user
(користувач, власник файла або каталогу); g
-
group
(група до якої належить файл або каталог); o
-
other
(усі інші); a
-
all
(усі, разом взяті - власник, група та усі інші).
Ці символи визначають суб’єкт, якому будуть встановлені, видалені чи змінені права.
Замість Дії необхідно вказувати один із символів, що позначають дію, яку можна буде виконати з правами:
+
-
додавання прав;
-
-
видалення прав.
Замість Права перераховують символи прав доступу:
r
-
read
(читання); w
-
write
(запис); x
-
eXecute
(виконання).
Порядок слідування прав доступу має бути обов’язково таким: rwx . Приклади використання: rwx , wx , rx , r , w , x .
|
Замість ім’я_файла_або_каталогу вказується шлях до файла або каталогу.
Окрім того, якщо необхідно змінити права для усіх файлів і каталогів всередині вказаного каталогу, то використовують параметр -R
. Виглядає це таким чином
chmod -R ПерсонаДіїПрава ім'я_каталогу
Окрім того, якщо ви не є власником файла або каталогу, або у вас немає прав на зміну файла, то потрібно буде використовувати права суперкористувача за допомогою команди sudo
sudo chmod ПерсонаДіїПрава ім'я_файла_або_каталогу
Розглянемо кілька прикладів зміни прав доступу у символьному режимі.
Додамо (а потім видалимо) права для групи на зміну файла new_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls -l new_file.txt
-rw-r--r-- 1 teacher teacher 10 тра 17 22:54 new_file.txt (1)
teacher@teacher-VirtualBox:~/terminal_work$ chmod g+w new_file.txt (2)
teacher@teacher-VirtualBox:~/terminal_work$ ls -l new_file.txt
-rw-rw-r-- 1 teacher teacher 10 тра 17 22:54 new_file.txt (3)
teacher@teacher-VirtualBox:~/terminal_work$ chmod g-w new_file.txt (4)
teacher@teacher-VirtualBox:~/terminal_work$ ls -l new_file.txt
-rw-r--r-- 1 teacher teacher 10 тра 17 22:54 new_file.txt (5)
-
Спочатку для групи виставлені права лише на читання (
r--
) файлаnew_file.txt
. -
Додаємо для групи права на зміну файла
new_file.txt
за допомогою командиchmod g+w new_file.txt
. -
Група може читати і змінювати файл
new_file.txt
(для групи тепер праваrw-
). -
Видаляємо для групи права на зміну файла
new_file.txt
за допомогою командиchmod g-w new_file.txt
. -
Для групи знову виставлені права лише на читання (
r--
) файлаnew_file.txt
.
Видалимо права на читання для групи і усіх інших користувачів для файла new_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls -l new_file.txt
-rw-r--r-- 1 teacher teacher 10 тра 17 22:54 new_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ chmod go-r new_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls -l new_file.txt
-rw------- 1 teacher teacher 10 тра 17 22:54 new_file.txt
Додамо для групи права на читання і зміну для файла new_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls -l new_file.txt
-rw------- 1 teacher teacher 10 тра 17 22:54 new_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ chmod g+rw new_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls -l new_file.txt
-rw-rw---- 1 teacher teacher 10 тра 17 22:54 new_file.txt
Змінимо права на файли і каталоги всередині каталогу python_files
. Спочатку, для вмісту каталогу python_files
маємо таку картину з правами доступу
teacher@teacher-VirtualBox:~/terminal_work$ ls -l ./python_files/
загалом 28
-rwxrwx--- 1 teacher teacher 1418 сер 5 2017 basketball_teams.py
-rwxrwx--- 1 teacher teacher 1492 сер 5 2017 cities_facts.py
-rwxrwx--- 1 teacher teacher 493 тра 17 22:46 quest.py
-rw-r--r-- 1 teacher teacher 74 тра 19 12:00 result_cat.txt
-rw-r--r-- 1 teacher teacher 37 тра 19 11:33 Test_module.txt
-rw-r--r-- 1 teacher teacher 74 тра 19 11:55 test_other.txt
-rw-r--r-- 1 teacher teacher 37 тра 19 11:33 test.txt
Для прикладу, рекурсивно додамо права для інших користувачів і груп на зміну та виконання
teacher@teacher-VirtualBox:~/terminal_work$ chmod -R o+wx ./python_files/
teacher@teacher-VirtualBox:~/terminal_work$ ls -l ./python_files/
загалом 28
-rwxrwx-wx 1 teacher teacher 1418 сер 5 2017 basketball_teams.py
-rwxrwx-wx 1 teacher teacher 1492 сер 5 2017 cities_facts.py
-rwxrwx-wx 1 teacher teacher 493 тра 17 22:46 quest.py
-rw-r--rwx 1 teacher teacher 74 тра 19 12:00 result_cat.txt
-rw-r--rwx 1 teacher teacher 37 тра 19 11:33 Test_module.txt
-rw-r--rwx 1 teacher teacher 74 тра 19 11:55 test_other.txt
-rw-r--rwx 1 teacher teacher 37 тра 19 11:33 test.txt
Числовий режим
Розглянемо приклад використання числової форми запису зміни прав доступу.
Встановимо для файла new_file.txt
, який зараз має права на читання і зміну лише для власника і групи (rw-rw----
або 660
), права на читання, зміну і виконання для усіх інших користувачів (rw-rw-rwx
або 667
)
teacher@teacher-VirtualBox:~/terminal_work$ ls -l new_file.txt
-rw-rw---- 1 teacher teacher 10 тра 17 22:54 new_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ chmod 667 new_file.txt
teacher@teacher-VirtualBox:~/terminal_work$ ls -l new_file.txt
-rw-rw-rwx 1 teacher teacher 10 тра 17 22:54 new_file.txt
Символьний режим | Числовий режим | Значення |
---|---|---|
|
|
власник має право читання; ніхто інший не має права виконувати жодних дій |
|
|
усі користувачі мають право читання; власник може редагувати |
|
|
власник і група можуть читати і редагувати, решта не мають права виконувати жодних дій |
|
|
усі користувачі мають право читання; власник і група можуть редагувати |
|
|
усі користувачі можуть читати і редагувати |
|
|
власник може читати, записувати і запускати на виконання; ніхто інший не має права виконувати жодних дій |
|
|
кожен користувач може читати, власник має право редагувати та запускати на виконання |
|
|
кожен користувач має право читати і запускати на виконання; власник може редагувати |
|
|
кожен користувач може читати, редагувати та запускати на виконання |
4.8.7. Зміна власника і групи: команда chown
Для зміни власника і групи файла або каталогу використовується команда chown
. Застосуємо наступний шаблон виконання даної команди
sudo chown ім'я_нового_власника:ім'я_нової_групи ім'я_файла_або_каталогу
Якщо необхідно змінити лише групу, то шаблон буде таким
sudo chown :ім'я_нової_групи ім'я_файла_або_каталогу
Якщо необхідно змінити лише власника, то шаблон буде таким
sudo chown ім'я_нового_власника ім'я_файла_або_каталогу
Для рекурсивної зміни власника і групи файла або каталогу у шаблон необхідно додати параметр -R
sudo chown -R ім'я_нового_власника:ім'я_нової_групи ім'я_файла_або_каталогу
При зміні власників і груп файлів та каталогів корисно дізнатися:
-
Ім’я поточного користувача за допомогою команди whoami
teacher@teacher-VirtualBox:~/terminal_work$ whoami
teacher
-
У які групи входить поточний користувач, використовучюи команду
groups
teacher@teacher-VirtualBox:~/terminal_work$ groups teacher
teacher : teacher adm cdrom sudo dip plugdev lpadmin sambashare epoptes
-
Список користувачів у системі, використовуючи інструкцію
cat /etc/passwd
teacher@teacher-VirtualBox:~/terminal_work$ cat /etc/passwd
...
teacher:x:1000:1000:Teacher,,,:/home/teacher:/bin/bash
...
student:x:1001:1001:Учень,,,:/home/student:/bin/bash
...
Для прикладу, змінимо поточного власника (teacher
) файла pset7.sql
на нового (student
)
teacher@teacher-VirtualBox:~/terminal_work$ ls -l pset7.sql
-rwxrwx--- 1 teacher teacher 1178 лип 8 2016 pset7.sql
teacher@teacher-VirtualBox:~/terminal_work$ sudo chown student pset7.sql
[sudo] пароль до teacher:
teacher@teacher-VirtualBox:~/terminal_work$ ls -l pset7.sql
-rwxrwx--- 1 student teacher 1178 лип 8 2016 pset7.sql
Аналогічно, можна змінити поточну групу (у даному випадку teacher
) для файла pset7.sql
на нову (наприклад, plugdev
)
teacher@teacher-VirtualBox:~/terminal_work$ ls -l pset7.sql
-rwxrwx--- 1 student teacher 1178 лип 8 2016 pset7.sql
teacher@teacher-VirtualBox:~/terminal_work$ sudo chown :plugdev pset7.sql
teacher@teacher-VirtualBox:~/terminal_work$ ls -l pset7.sql
-rwxrwx--- 1 student plugdev 1178 лип 8 2016 pset7.sql
4.8.8. Пошук файлів і каталогів
При роботі у Linux
досить часто виникає необхідність пошуку файлів з певними характеристиками. Цими характеристиками можуть бути розмір або тип файла, дата створення тощо.
Команда find
В загальному випадку команда find виглядає наступним чином
find шлях параметри критерії шаблон
де
- шлях
-
це шлях до каталогу, в якому виконується пошук (можна вказувати кілька каталогів);
- параметри
-
додаткові параметри (глибина пошуку, пошук лише файлів тощо);
- критерії
-
за яким критерієм відбуватиметься пошук (за ім’ям, за датою створення тощо);
- шаблон
-
пошук за певним шаблоном, який формується завдяки символам
∗
і?
.
Символ ∗ позначає будь-яку кількість будь-яких символів. Символ ? позначає один будь-який символ.
|
В якості шляху для пошуку можна вказувати шлях до каталогу або використовувати спеціальні значення (крапка, прямий слеш, тильда):
.
-
пошук в поточному каталозі;
/
-
пошук від кореневого каталогу;
~
-
пошук в домашньому каталозі.
Ось кілька параметрів, які є корисними при пошуку:
-maxdepth
-
максимальна глибина пошуку по каталогам (для пошуку в поточному каталозі необхідно вказати
1
); -print
-
виведення повних імен файлів і каталогів;
-type f
-
пошук лише файлів;
-type d
-
пошук лише каталогів.
Серед поширених критеріїв можна виокремити такі:
-name
-
пошук файлів і каталогів по імені, використовуючи шаблон;
-iname
-
пошук файлів і каталогів по імені, використовуючи шаблон (не враховуючи регістр літер у назві);
-user
-
пошук файлів і каталогів, що належать зазначеному користувачу;
-group
-
пошук файлів і каталогів, що належать зазначеній групі користувачів;
-size -n +n n
-
пошук файлів і каталогів з розміром менше (
-
), більше (+
) або рівномуn
одиниць; -mtime -n +n
-
пошук файлів і каталогів, створених або модифікованих менше ніж (
-
) або більше ніж (+
)n
днів тому; -perm
-
пошук файлів і каталогів за правами доступу.
Наведемо кілька прикладів пошуку файлів і каталогів за допомогою команди find у каталозі terminal_work
.
Для пошуку (показу) усіх файлів і каталогів у поточному каталозі необхідно виконати у терміналі команду
teacher@teacher-VirtualBox:~/terminal_work$ find .
.
./Epilogue.mp3
./images
./images/animals
./images/animals/dog.jpg
./images/animals/giraffe.jpg
./images/animals/gepard.jpg
./images/screenshots
./images/screenshots/usb.png
./images/screenshots/multiboot.png
./images/screenshots/etcher.png
./python_files
./python_files/cities_facts.py
./python_files/quest.py
./python_files/basketball_teams.py
./python_files/test.txt
./python_files/Test_module.txt
./new_file.txt
./pset7.sql
./Jamala - 1944 (Official Music Video).mp4
./other_file.txt
./ls_help.txt
./Music
./Music/NewAge
./Music/NewAge/Epilogue.mp3
./Тестова програма.mp4
Аналогічний результат буде отриманий з використанням такої інструкції
find . -print
Для пошуку усіх файлів і каталогів у певному каталозі (наприклад, у каталозі images
) необхідно виконати такі команди
teacher@teacher-VirtualBox:~/terminal_work$ find ./images
./images
./images/animals
./images/animals/dog.jpg
./images/animals/giraffe.jpg
./images/animals/gepard.jpg
./images/screenshots
./images/screenshots/usb.png
./images/screenshots/multiboot.png
./images/screenshots/etcher.png
Щоб здійснити пошук лише файлів, слід використовувати параметр -type
з ключем f
(для пошуку лише каталогів використовується параметр -type
з ключем d
), як показано на прикладі
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -type f -print
./images/animals/dog.jpg
./images/animals/giraffe.jpg
./images/animals/gepard.jpg
./images/screenshots/usb.png
./images/screenshots/multiboot.png
./images/screenshots/etcher.png
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -type d -print
./images
./images/animals
./images/screenshots
Для пошуку файлів за назвою у певному каталозі і за вказаним шаблоном (шаблон ∗.jpg
, вказаний у лапках, означає знайти усі файли, що закінчуються на .jpg
) необхідно виконати команду
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -type f -name "*.jpg"
./images/animals/dog.jpg
./images/animals/giraffe.jpg
./images/animals/gepard.jpg
Наступна команда виведе у вікно термінала список файлів і каталогів, які починаються на певний символ (наприклад, літеру d
- у каталозі images
присутній лише файл dog.jpg
з такими властивостями)
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -name "d*"
./images/animals/dog.jpg
Якщо необхідно знайти файли, що починаються з певних літер (наприклад, від a
до f
), то тут буде зручно застосувати синтаксис регулярних виразів
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -type f -name "[a-f]*.png"
./images/screenshots/etcher.png
Дана команда дозволить відшукати усі файли, які закінчуються на .png
і починаються з літер від a
до f
, у каталозі images
.
Якщо необхідно не враховувати регістр при пошуку за ім’ям, то використовують критерій -iname
. Наприклад, у випадку пошуку файлів і каталогів без врахування регістру літер у назві необхідно використати такий синтаксис
teacher@teacher-VirtualBox:~/terminal_work$ find ./python_files -iname "test*"
./python_files/test.txt
./python_files/Test_module.txt
teacher@teacher-VirtualBox:~/terminal_work$ find ./python_files -name "test*"
./python_files/test.txt
Коли ж необхідно знайти файли або каталоги лише в поточному каталозі або у каталозі з певним рівнем вкладеності (1
, 2
чи іншим), то використовують параметр -maxdepth
. У випадку пошуку файлів з рівнями вкладеності необхідно виконати команди
teacher@teacher-VirtualBox:~/terminal_work$ find . -maxdepth 1 -type f -name "*.txt"
./new_file.txt
./other_file.txt
./ls_help.txt
teacher@teacher-VirtualBox:~/terminal_work$ find . -maxdepth 2 -type f -name "*.txt"
./python_files/test.txt
./python_files/Test_module.txt
./new_file.txt
./other_file.txt
./ls_help.txt
Зокрема, можна шукати файли або каталоги, які не відповідають певному шаблону, використовуючи логічний оператор заперечення -not
. Наприклад, спочатку знайдемо усі файли у каталозі python_files
teacher@teacher-VirtualBox:~/terminal_work$ find ./python_files -type f
./python_files/cities_facts.py
./python_files/quest.py
./python_files/basketball_teams.py
./python_files/test.txt
./python_files/Test_module.txt
а потім здійснимо пошук лише файлів, які не закінчуються на *.txt
teacher@teacher-VirtualBox:~/terminal_work$ find ./python_files -type f -not -name "*.txt"
./python_files/cities_facts.py
./python_files/quest.py
./python_files/basketball_teams.py
Якщо необхідно видалити знайдені файли (у даному випадку, із закінченням *.py
) використовують опцію -delete
find ./python_files -type f -name "*.py" -delete
Для пошуку порожніх файлів або каталогів використовують опцію -empty
. У випадку пошуку порожніх файлів команда матиме вигляд
find . -type f -empty
А у випадку пошуку порожніх каталогів команда буде наступною
find . -type d -empty
Для комбінування кількох критеріїв можна використовувати -o
(or
- логічний оператор АБО). Наприклад, необхідно знайти файли, назва яких починається на літеру c
, або які закінчуються на *.txt
teacher@teacher-VirtualBox:~/terminal_work$ find ./python_files -type f -name "c*" -o -name "*.txt"
./python_files/cities_facts.py
./python_files/test.txt
./python_files/Test_module.txt
Пошук файлів або каталогів можна здійснювати за правами доступу до них. Наприклад, знайдемо файли, що мають права доступу 664
(перша цифра 6
- це у двійковому вигляді 110
, а це означає, що власник такого файла має право як читати, так і редагувати файл; друга цифра 6
- аналогічно для членів групи-власника; 4
у двійковому вигляді виглядає як 010
, що дає іншим користувачам права тільки для читання)
teacher@teacher-VirtualBox:~/terminal_work$ find . -type f -perm 664
./images/animals/giraffe.jpg
./images/animals/gepard.jpg
Окрім того, можна здійснити пошук файлів тільки для читання для поточного користувача
find /etc -maxdepth 1 -type f -perm /u=r
або знайти лише виконувані файли для усіх інших
find /bin -maxdepth 1 -type f -perm /a=x
Пошук файлів і каталогів можна здійснювати по групах і користувачах. Наприклад, щоб здійснити пошук файлів і каталогів, які належать певному користувачу, наприклад, teacher
, необхідно виконати команду
find . -user teacher
Щоб знайти файли і каталоги, що належать групі, наприклад, з назвою teacher
, необхідно виконати команду
find . -group teacher
Пошук файлів і каталогів за датою в Linux
здійснюється за допомогою критерія -mtime
. Наприклад, якщо необхідно знайти усі файли і каталоги, які були модифіковані за останні 3 дні
find . -mtime -3
Якщо необхідно відшукати файли і каталоги, які не змінювалися протягом тижня, можна застосувати команду
find . -mtime +7
Пошук файлів і каталогів в Linux
, які були змінені протягом останніх 120 хвилин, можна здійснити за допомогою команди
find . -mmin -120
Важливим аспектом пошуку є пошук файлів або каталогів за розміром.
Позначення одиниць вимірювання, які можна використовувати у пошуку за розміром, є такими: k - кілобайти, M - мегабайти, G - гігабайти, b - байти.
|
Для прикладу, у каталозі images
містяться три графічні файли
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -type f -name "*.jpg"
./images/animals/dog.jpg
./images/animals/giraffe.jpg
./images/animals/gepard.jpg
з такими розмірами: dog.jpg
(359,3 кБ), gepard.jpg
(69,9 кБ), giraffe.jpg
(112,3 кБ).
Файли, які більші розміром за 200 кілобайт можна знайти командою
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -type f -name "*.jpg" -size +200k
./images/animals/dog.jpg
а файли, розмір яких знаходиться у межах від 50 кілобайт до 350 кілобайт, можна знайти за допомогою такої команди
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -type f -name "*.jpg" -size +50k -size -350k
./images/animals/giraffe.jpg
./images/animals/gepard.jpg
Якщо необхідно знайдені файли відсортувати за зростанням (за алфавітом) використовують наступний синтаксис
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -type f | sort
./images/animals/dog.jpg
./images/animals/gepard.jpg
./images/animals/giraffe.jpg
./images/screenshots/etcher.png
./images/screenshots/multiboot.png
./images/screenshots/usb.png
У випадку сортування за спаданням отримаємо такий результат
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -type f | sort -r
./images/screenshots/usb.png
./images/screenshots/multiboot.png
./images/screenshots/etcher.png
./images/animals/giraffe.jpg
./images/animals/gepard.jpg
./images/animals/dog.jpg
У розглянутих конструкціях сортування за назвами використовувались:
sort
-
команда для сортування;
-r
-
опція команди
sort
для сортування у зворотному порядку.
Над знайденими файлами можна виконувати довільні команди. Для цього використовується опція -exec
. Наприклад, виставимо права доступу 777
(rwxrwxrwx
) - будь-який користувач може читати, редагувати та запускати на виконання - на каталог python_files
.
Спочатку переглянемо властивості даного каталогу
teacher@teacher-VirtualBox:~/terminal_work$ ls -l
...
drwxr-xr-x 2 teacher teacher 4096 тра 17 22:46 python_files
...
Зараз каталог python_files
має права доступу 755
(rwxr-xr-x
) - будь-який користувач має право читати і запускати на виконання, лише власник може редагувати. Для зазначеної зміни прав доступу необхідно виконати команду
teacher@teacher-VirtualBox:~/terminal_work$ find ./python_files -type d -exec chmod 777 {} \;
Можна пересвідчитись, що права доступу для каталогу python_files
змінились
teacher@teacher-VirtualBox:~/terminal_work$ ls -l
...
drwxrwxrwx 2 teacher teacher 4096 тра 17 22:46 python_files
...
Використовувати опцію -exec
можна також для сортування за розміром результатів пошуку файлів. Це ілюструють наступні команди
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -type f -exec ls -s {} \; | sort -n
24 ./images/screenshots/etcher.png
56 ./images/screenshots/multiboot.png
72 ./images/animals/gepard.jpg
76 ./images/screenshots/usb.png
112 ./images/animals/giraffe.jpg
352 ./images/animals/dog.jpg
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -type f -exec ls -s {} \; | sort -n -r
352 ./images/animals/dog.jpg
112 ./images/animals/giraffe.jpg
76 ./images/screenshots/usb.png
72 ./images/animals/gepard.jpg
56 ./images/screenshots/multiboot.png
24 ./images/screenshots/etcher.png
Виведені числа - це значення розміру файлів у кілобайтах. При цьому виконувались такі команди:
ls
-
команда, яка виводить список файлів або каталогів (з опцією
-s
одночасно показує розмір файлів); sort
-
команда для сортування;
-n
-
сортування за числовими значеннями;
-r
-
опція команди
sort
для сортування у зворотному порядку.
Якщо необхідно вивести певну кількість (використовується команда head), наприклад, 2
знайдених (відсортованих) файлів використовують наступний синтаксис
teacher@teacher-VirtualBox:~/terminal_work$ find ./images -type f -exec ls -s {} \; | sort -n -r | head -2
352 ./images/animals/dog.jpg
112 ./images/animals/giraffe.jpg
Команди whereis і which
У системі встановлено багато різних програм. Щоб дізнатися розміщення бінарних файлів, початкових кодів, що відносяться до встановленої програми, можна виконати команду whereis.
Для прикладу, знайдемо інформацію про пакунок firefox
teacher@teacher-VirtualBox:~/terminal_work$ whereis firefox
firefox: /usr/bin/firefox /usr/lib/firefox /etc/firefox /usr/share/man/man1/firefox.1.gz
Команда ж which відображає повний шлях до встановленої програми. Для нашого прикладу отримаємо такий результат
teacher@teacher-VirtualBox:~/terminal_work$ which firefox
/usr/bin/firefox
4.8.9. Перегляд вмісту і пошук у текстових файлах
Команда less
Доволі часто виникає необхідність здійснити пошук якогось тексту у текстових файлах. Щоб переглянути вміст текстових файлів у терміналі, використовують команду less.
В загальному вигляді команда має такий синтаксис
less шлях/до/файла/ім'я_файла
Відкриємо текстовий файл In the Heart of Africa (формат Plain Text UTF-8
) для перегляду у терміналі (завантажений файл був перейменований в In_the_Heart_of_Africa.txt
)
less In_the_Heart_of_Africa.txt
Для керування переглядом тексту можна використовувати клавіші ↑
, ↓
, PageUp
, PageDown
, Home
, End
, а для виходу із режиму перегляду клавішу з літерою q
.
Якщо необхідно переглядати текст з певного рядка, то вказують опцію +
і номер рядка, з якого необхідно виконувати перегляд. Дізнаємось про автора завантаженої книги
less +11 In_the_Heart_of_Africa.txt
З використанням команди less
є зручним пошук слів у тексті.
Для пошуку певного тексту треба ввести прямий слеш /
і текст для пошуку. У тексті будуть виокремлені фрагменти тексту, що шукалися, а перехід між ними можна здійснити за допомогою клавіш n
(перехід до наступного знайденого тексту) і N
(перехід до попереднього знайденого тексту).
Окрім того, для переходу на конкретний рядок у тексті використовують наступний синтаксис: 11g
- перейти на 11
-й рядок.
Для того, щоб відобразити номери рядків у файлі, можна вказати опцію -N
less -N In_the_Heart_of_Africa.txt
або ввести її під час перегляду текстового файла.
Команди head і tail
За назвами вказаних команд легко здогадатися, що команда head відображає голову текстового файла, а tail - його хвіст.
Виконання команди head
виведе перші 10 рядків текстового файла.
В загальному вигляді синтаксис команди head
є наступним
head опції шлях/до/файла/ім'я_файла
Виведемо у вікно термінала перші 10 рядків з файла In_the_Heart_of_Africa.txt
teacher@teacher-VirtualBox:~/terminal_work$ head In_the_Heart_of_Africa.txt
The Project Gutenberg EBook of In the Heart of Africa, by Samuel White Baker
This eBook is for the use of anyone anywhere at no cost and with
almost no restrictions whatsoever. You may copy it, give it away or
re-use it under the terms of the Project Gutenberg License included
with this eBook or online at www.gutenberg.org
Title: In the Heart of Africa
Якщо необхідно вивести на екран певну кількість рядків (замість 10
-ти, за замовчуванням) з початку текстового файла, то необхідно використати опцію -
і кількість рядків. Наприклад, виведемо на екран лише перший рядок з текстового файла
teacher@teacher-VirtualBox:~/terminal_work$ head -1 In_the_Heart_of_Africa.txt
The Project Gutenberg EBook of In the Heart of Africa, by Samuel White Baker
Виконання команди tail
виведе останні 10 рядків файла.
У загальному вигляді синтаксис команди буде таким
tail опції шлях/до/файла/ім'я_файла
Виведемо у вікно термінала останні 10 рядків з файла In_the_Heart_of_Africa.txt
teacher@teacher-VirtualBox:~/terminal_work$ tail In_the_Heart_of_Africa.txt
Most people start at our Web site which has the main PG search facility:
http://www.gutenberg.org
This Web site includes information about Project Gutenberg-tm,
including how to make donations to the Project Gutenberg Literary
Archive Foundation, how to help produce our new eBooks, and how to
subscribe to our email newsletter to hear about new eBooks.
Якщо необхідно вивести певну кількість рядків з кінця текстового файла, то потрібно вказати опцію (як і у випадку з head
) -
і кількість рядків
teacher@teacher-VirtualBox:~/terminal_work$ tail -4 In_the_Heart_of_Africa.txt
This Web site includes information about Project Gutenberg-tm,
including how to make donations to the Project Gutenberg Literary
Archive Foundation, how to help produce our new eBooks, and how to
subscribe to our email newsletter to hear about new eBooks.
Команди cat і tac
Команда cat використовується для перегляду текстового файла повністю і, в основному, для перегляду невеликих текстових файлів, наприклад, будь-яких конфігураційних файлів. У загальному вигляді команда має наступний синтаксис
cat опції шлях/до/файла/ім'я_файла
Приклади використання
teacher@teacher-VirtualBox:~/terminal_work$ cat ./python_files/test.txt
текст першого файла
teacher@teacher-VirtualBox:~/terminal_work$ cat ./python_files/Test_module.txt
текст другого файла
При перегляді вмісту файлів можна використовувати опцію -n
для відображення номерів рядків
teacher@teacher-VirtualBox:~/terminal_work$ cat -n ./python_files/cities_facts.py
1 cities = {
2 'Rome': {
3 'country': 'Italy',
4 'population': 2868000,
5 'fact': 'Rome is one of the oldest cities in the world, the capital of Ancient Rome. Therefore, Rome is often called the "eternal city".'
6 },
7 'Canberra': {
8 'country': 'Australia',
9 'population': 381448,
...
За допомогою перенаправлення стандартного потоку виведення термінала і команди cat
можна виконати ряд цікавих дій:
-
Створити копію вказаного файла (
test.txt
) і зберегти її під новим ім’ям (test_other.txt
)
teacher@teacher-VirtualBox:~/terminal_work$ cat ./python_files/test.txt
текст першого файла
teacher@teacher-VirtualBox:~/terminal_work$ cat ./python_files/test.txt > ./python_files/test_other.txt
teacher@teacher-VirtualBox:~/terminal_work$ cat ./python_files/test_other.txt
текст першого файла
-
Додати текст із одного файла (
Test_module.txt
) в інший (test_other.txt
)
teacher@teacher-VirtualBox:~/terminal_work$ cat ./python_files/Test_module.txt
текст другого файла
teacher@teacher-VirtualBox:~/terminal_work$ cat ./python_files/Test_module.txt >> ./python_files/test_other.txt
teacher@teacher-VirtualBox:~/terminal_work$ cat ./python_files/test_other.txt
текст першого файла
текст другого файла
-
Об’єднати кілька файлів (
test_other.txt
,Test_module.txt
) в один і створити його (result_cat.txt
)
teacher@teacher-VirtualBox:~/terminal_work$ cat ./python_files/test.txt ./python_files/Test_module.txt > ./python_files/result_cat.txt
teacher@teacher-VirtualBox:~/terminal_work$ cat ./python_files/result_cat.txt
текст першого файла
текст другого файла
Команда tac
- аналогічна команді cat
і має такий самий синтаксис, тільки відображає рядки у зворотному порядку
teacher@teacher-VirtualBox:~/terminal_work$ tac ./python_files/result_cat.txt
текст другого файла
текст першого файла
Команда wc
Для підрахунку кількість рядків, слів чи байтів у вказаних файлах, а також суми, якщо вказано більше одного файла, використовують утиліту командного рядка wc.
Кілька стандартних опцій, які має утиліта:
-
-c
(--bytes
) - показує кількість байтів; -
-l
(--lines
) - показує кількість рядків; -
-L
(--max-line-length
) - виводить довжину найбільшого рядка; -
-m
- виводить кількість символів; -
-w
(--words
) - показує кількість слів у файлі; -
--files0-from=File
) - отримує імена файлів із списку, що міститься у файлі з іменемFile
.
Виконання команди wc
без опцій має на увазі викориcтання опції: -clw
. Ось простий приклад виконання команди wc
teacher@teacher-VirtualBox:~$ wc log.txt
2 7 58 log.txt
де перша колонка - кількість рядків, друга - кількість слів, третя - кількість байтів.
4.8.10. Виконувані файли
Що таке виконуваний файл?
У Windows
виконувані файли мають розширення .exe
(в основному), а всередині містять набір байтів. У Linux
виконуваним може бути навіть текстовий файл. Що ж таке виконуваний файл з точки зору Linux
?
Фактично, це будь-який файл, який позначений, як виконуваний і який Linux
зможе запустити на виконання. Це означає: у кожного файла є спеціальна властивість-перемикач, яка ніяк не залежить ні від імені, ні від вмісту, ні від розширення, і яка відповідає за виконуваність.
Якщо файл позначений, як виконуваний, то, взагалі кажучи, він таким і є, а якщо не позначений - то це звичайний файл з даними і безпосередньо запустити його на виконання не можна. Інша справа, що не будь-який файл, позначений як виконуваний, Linux
зможе виконати, хоча в арсеналі має багато методів запуску файлів з абсолютно різним вмістом.
Так ось, якщо на файлі встановлено властивість виконуваності, то це програма, яку можна запустити звичайним чином, а якщо не встановлено - то це всього лише текстовий файл. Тобто, зробити файл виконуваним або ж навпаки, прибрати можливість його виконання, можна зміною всього однієї його властивості.
Насправді, магічна властивість-перемикач виконуваності є одним з трьох прав доступу.
У кожного файла є три групи прав доступу - для користувача-власника, для групи-власника і для усіх інших, кожна група складається в свою чергу з трьох прав: на читання (r ), зміну (w ) та виконання (x ). Ці атрибути визначають, що система може робити з цим файлом. Право на виконання і є тим самим перемикачем виконуваності.
|
З цього випливає дуже цікава особливість: один і той же файл може бути одночасно і виконуваним, і не виконуваним. Припустимо, якщо на виконання файла є права тільки у користувача-власника. Тоді користувач, якому належить цей файл, зможе його запустити як програму, а для всіх інших він буде звичайним файлом з даними.
Створення виконуваного файла
Щоб файл став виконуваним, для нього необхіднно встановити права на виконання для файлів як програм.
Це можна зробити за допомогою термінала, скориставшись таким синтаксисом
chmod +x шлях/до/файла/ім'я_файла
Це аналогічно наступній команді
chmod ugo+x шлях/до/файла/ім'я_файла
або
chmod a+x шлях/до/файла/ім'я_файла
Для прикладу, за допомогою термінала створимо новий файл my_script.txt
і зробимо його виконуваним (результатом виконання файла буде виведення на екран повідомлення It works!
)
teacher@teacher-VirtualBox:~/terminal_work$ echo 'echo "It works!"' > my_script.txt (1)
teacher@teacher-VirtualBox:~/terminal_work$ cat my_script.txt (2)
echo "It works!"
teacher@teacher-VirtualBox:~/terminal_work$ ./my_script.txt (3)
bash: ./my_script.txt: Відмовлено у доступі
teacher@teacher-VirtualBox:~/terminal_work$ ls -l my_script.txt (4)
-rw-r--r-- 1 teacher teacher 17 тра 20 16:38 my_script.txt
teacher@teacher-VirtualBox:~/terminal_work$ chmod +x my_script.txt (5)
teacher@teacher-VirtualBox:~/terminal_work$ ls -l my_script.txt (6)
-rwxr-xr-x 1 teacher teacher 17 тра 20 16:38 my_script.txt
teacher@teacher-VirtualBox:~/terminal_work$ ./my_script.txt (7)
It works!
Розглянемо виконані команди і дії.
-
Створюємо файл
my_script.txt
і записуємо у нього за допомогою командиecho
рядокecho "It works!"
. -
Переглядаємо вміст щойно створеного файла
my_script.txt
на наявність записаної командиecho "It works!"
для виведення повідомлення. Для перегляду вмісту файла використовується командаcat
. -
Запускаємо файл на виконання. Символи
./
у записі запуску файла./my_script.txt
означають, що файл запускається з поточного каталогу. Так як файл не є виконуваним, командна оболонка повідомляє про відмову в доступі. -
Перевіряємо права доступу до файла командою
ls -l
(детально переглянути вміст каталогу). Дійсно, власник файла може лише читати і змінювати файл, група і усі інші користувачі лише читати. Ніхто не має прав запускати даний файл. -
Встановлюємо атрибут виконуваності для файла (право на запуск) для усіх за допомогою команди
chmod +x my_script.txt
. -
Ще раз перевіряємо права доступу для файла і пересвідчуємось, що права на виконання мають усі.
-
Запускаємо знову файл на виконання командою
./my_script.txt
і спостерігаємо повідомленняIt works!
на екрані.
Ви можете зробити файл виконуваним в Linux
не лише через термінал. Така функціональність є у всіх файлових менеджерах, зокрема в Nautilus
(застосунок Файли), який є вбудованим в Ubuntu
.
Натисніть правою кнопкою миші на ваш файл програми або скрипта, щоб відкрити контекстне меню, потім виберіть Властивості (Ctrl+I), далі вкладку Права і поставте позначку Дозволити виконання файла як програми

Крім того, виконувані файли можна запускати прямо з файлового менеджера подвійним кліком, але для цього необхідно встановити відповідний параметр в налаштуваннях Nautilus
. А саме, необхідно перейти по шляху і позначити пункт Перепитувати, що робити

Далі запуск виконуваного файла проходить подвійним кліком з появою повідомлення, у якому необхідно обрати потрібну дію

Запуск скриптів
Характерним прикладом незвичайних, на перший погляд, виконуваних файлів Linux
є скрипти.
Скрипти - це звичайні текстові файли (відрізняються від інших текстових файлів за розширенням .sh , .py та іншими), що містять набір інструкцій для програми-інтерпретатора.
|
Якщо для них встановлено атрибут виконуваності (x
), то для їх відкриття використовується спеціальна програма-інтерпретатор (наприклад, командна оболонка bash
). Далі інтерпретатор читає послідовно рядок за рядком і виконує всі команди, які містяться у файлі.
Є кілька способів виконати запуск скрипта у Linux
. Його можна запустити, як будь-яку іншу програму, через термінал або ж запустити оболонку і повідомити їй, який файл потрібно виконувати. В цьому випадку не потрібно навіть атрибута виконуваності.
Розглянемо приклад скрипта helloubuntu.sh
, який містить такий код
#!/bin/bash
echo "Hello, Ubuntu!"
Перший рядок - це командна оболонка, за допомогою якої виконується другий рядок - виведення повідомлення Hello, Ubuntu!
на екран.
Командна оболонка може бути не лише /bin/bash
, але і /bin/sh
, /usr/bin/python3
та іншою.
Щоб отримати шлях до виконуваного файла командної оболонки у терміналі використовують команду whereis з назвою оболонки, наприклад, whereis bash .
|
Щоб виконати скрипт в зазначеній оболонці, потрібно встановити для нього права на виконання (дозволимо виконувати запуск файла helloubuntu.sh
усім категоріям користувачів - власнику, групі файла та іншим). Виконання усіх дій у терміналі може бути таким
teacher@teacher-VirtualBox:~/terminal_work$ ls -l helloubuntu.sh
-rw-r--r-- 1 teacher teacher 34 тра 20 18:08 helloubuntu.sh
teacher@teacher-VirtualBox:~/terminal_work$ ./helloubuntu.sh
bash: ./helloubuntu.sh: Відмовлено у доступі
teacher@teacher-VirtualBox:~/terminal_work$ chmod ugo+x helloubuntu.sh
teacher@teacher-VirtualBox:~/terminal_work$ ls -l helloubuntu.sh
-rwxr-xr-x 1 teacher teacher 34 тра 20 18:08 helloubuntu.sh
teacher@teacher-VirtualBox:~/terminal_work$ ./helloubuntu.sh
Hello, Ubuntu!
Розглянемо кілька важливих моментів щодо запуску скриптів.
При запуску скриптів важливим моментом є місце, де знаходиться скрипт. Якщо просто ввести helloubuntu.sh
то пошук буде виконаний тільки глобально, в каталогах, які записані у змінну $PATH
і, навіть, якщо ви перебуваєте зараз в тому каталозі, де знаходиться скрипт, то він не буде знайдений.
У Для перегляду значень змінної |
Також, до назви скрипта необхідно додавати повний шлях, наприклад, для того ж поточного каталогу (./
)
./helloubuntu.sh
або повний шлях від кореня домашнього каталогу
teacher@teacher-VirtualBox:~$ /home/teacher/terminal_work/helloubuntu.sh
Hello, Ubuntu!
Якщо не хочеться вказувати повний шлях до скрипта, досить перемістити скрипт в один із каталогів, які вказані у змінній $PATH
. Один з них, що призначений для ручного встановлення програм, - /usr/local/bin
.
teacher@teacher-VirtualBox:~$ sudo cp /home/teacher/terminal_work/helloubuntu.sh /usr/local/bin
teacher@teacher-VirtualBox:~$ ls -l /usr/local/bin
загалом 4
-rwxr-xr-x 1 root root 34 тра 20 18:54 helloubuntu.sh
teacher@teacher-VirtualBox:~$ helloubuntu.sh
Hello, Ubuntu!
Файл скрипта helloubuntu.sh
був скопійований за допомогою команди cp
з каталогу /home/teacher/terminal_work/
, де він спочатку знаходиться, у каталог /usr/local/bin
. Тепер запуск скрипта helloubuntu.sh
не потребує вказівки повного шляху до нього.
Інший спосіб запуску скриптів є запуск спочатку командної оболонки (bash
, sh
), а потім передавання їй скрипта
teacher@teacher-VirtualBox:~/terminal_work$ bash helloubuntu.sh
Hello, Ubuntu!
4.8.11. Файли-посилання
Файл-посилання - це особливий тип файла, який, по суті, вказує на інший файл або місце розташування у файловій системі комп’ютера. Такі файли часто використовують для більш легкого доступу до файлів. |
У Linux
існує два види файлів-посилань: жорсткі та символьні.
Символьні посилання - це файли особливого типу, єдиним вмістом яких є довільний рядок, який може вказувати на існуючий файл. Тобто, символьні посилання містять адресу потрібного файла у файловій системі. Коли ви звертаєтеся до символьного посилання, насправді, ви звертаєтеся до файла, на який посилання вказує.
При видаленні цільового файла символьне посилання залишиться, але воно буде вказувати в нікуди, оскільки файла, насправді, більше немає. Тобто, якщо перейменувати початковий файл або перемістити його у інший каталог, символьне посилання залишається, але втрачає працездатність. |
Символьні посилання можна помітити у файловому менеджері - їх значки схожі на звичайні файли, але зі стрілкою внизу значка. Тому вони найбільше схожі на звичайні ярлики, як у Windows
, так як файл, насправді, залишається там, де і був, але на нього можна посилатися з будь-якого іншого місця.
Основні властивості символьних посилань:
-
можуть посилатися на файли і каталоги;
-
після видалення, переміщення або перейменування файла стають недійсними;
-
права доступу і номер inode відрізняються від початкового файла;
-
права доступу для символьних посилань значення не мають (права доступу завжди
rwxrwxrwx
); -
при зміні прав доступу для початкового файла, права на посилання залишаться незмінними;
-
можна посилатися на інші розділи диска;
-
містять тільки ім’я файла, а не його вміст.
Жорстке посилання також дозволяє швидко отримати доступ до ресурсу з іншого місця або під іншим ім’ям. Жорсткі посилання - це інша назва того самого файла. Це дозволяє мати один і той же файл у декількох місцях.
Особливість жорстких посилань полягає у тому, що вони прямо вказують на номер індексного дескриптора inode і, відповідно, такі імена можуть вказувати тільки на файли всередині однієї й тієї ж самої файлової системи, тобто на тому ж самому носієві даних, на якому знаходиться файл, що містить це ім’я.
Це може здатися трохи дивним, але жорстке посилання означає, що у нас є доступ до одного файла з двох (або більше) місць. Жорстке посилання не є окремою копією файла, це той же файл, який відображається у двох різних місцях.
Переміщення або зміна імені початкового файла не впливає на працездатність жорсткого посилання. Якщо видаляють один з цих файлів (точніше, одне з цих імен), то файл ще зберігається на диску (поки в нього є хоча б одне ім’я-посилання). |
Розглянемо деякі властивості жорстких посилань:
-
працюють тільки в межах однієї файлової системи (причина проста: лічильник посилання зберігається у самому inode, а останній не може спільно використовуватися у різних файлових системах);
-
не можна посилатися на каталоги, лише на файли;
-
мають ту ж інформацію inode і набір дозволів, що і у початкового файла;
-
дозволи на посилання змінюються при зміні дозволів файла;
-
можна переміщувати та перейменовувати і, навіть, видаляти файл без шкоди посиланням.
Для створення символьних посилань існує утиліта ln, яка має наступний синтаксис
ln опції файл_початковий файл_посилання
Опції можуть мати такі значення:
-s
-
створення символьного посилання;
-r
-
створення символьного посилання з відносним шляхом до файла;
-P
-
створення жорсткого посилання;
-f
-
видалення існуючих посилань;
-i
-
запитати чи видаляти вже існуючі посилання з таким ім’ям.
Для початку, створимо каталог testlinks
і перейдемо у нього
teacher@teacher-VirtualBox:~/terminal_work$ mkdir testlinks && cd testlinks
Тепер створимо початковий файл з ім’ям source
, який буде містити текст symbolic links
, і переглянемо вміст цього файла, використовуючи команду cat
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ echo "symbolic links" > source
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ cat source
symbolic links
Початковий файл готовий. Далі створимо символьне посилання на файл source
за допомогою команди ln
з опцією -s
і переглянемо вміст файла за цим символьним посиланням командою cat
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ ln -s source softlink
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ cat softlink
symbolic links
Як бачимо, вміст у файлі-посиланні і початковому (оригінальному) файлі однаковий.
При створенні символьних посилань, імена файлів можуть бути як абсолютними, так і відносними. |
Але використовуючи утиліту ls
, можна побачити, що вказані файли мають відмінності
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ ls -li
загалом 4
1700690 lrwxrwxrwx 1 teacher teacher 6 тра 27 15:44 softlink -> source
1700689 -rw-r--r-- 1 teacher teacher 15 тра 27 15:40 source
Незважаючи на те, що вміст однаковий, тут ми бачимо, що адреса inode
(у першій колонці) і права доступу до файлів (у другій колонці) відрізняються, крім того, явно показано, що softlink
- це символьне посилання Linux
на початковий файл source
(можна легко ідентифікувати символьне посилання по маленькій літері l
на початку рядка з правами доступу).
Тепер видалимо початковий файл source
командою rm
і переглянемо вміст файла-посилання softlink
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ rm source
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ cat softlink
cat: softlink: Немає такого файла або каталогу # символьне посилання не працює, оскільки початковий файл був видалений
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ ls
softlink # символьне посилання залишилося після видалення оригінального файла
Отримана помилка, що такого файла не існує, тому що, дійсно, початковий файл був видалений. Якщо ж видалити файл-посилання, то початковий файл залишиться на місці.
Розглянемо особливості процесу створення жорстких посилань. Знову створимо початковий файл source
, але вже з текстом hard links
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ echo "hard links" > source
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ cat source
hard links
Створимо жорстке посилання hardlink
на файл source
, викликавши утиліту ln
без параметрів, і переглянемо вміст файла-посилання hardlink
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ ln source hardlink
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ cat hardlink
hard links
Вміст файлів (початкового і жорсткого посилання) однаковий. Якщо переглянути інформацію про ці файли за допомогою утиліти ls
, то побачимо, що inode
і права доступу також співпадають
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ ls -li
загалом 8
1700689 -rw-r--r-- 2 teacher teacher 11 тра 27 16:04 hardlink
1700689 -rw-r--r-- 2 teacher teacher 11 тра 27 16:04 source
Зверніть увагу на номер в третій колонці - цифру 2
, яка означає, що є два екземпляри початкового файла. Тобто, початковий файл source
, так і жорстке посилання на нього hardlink
, мають номер 2
у списку, тому що кожен з них є посиланням чи екземпляром того ж файла. Якщо додати нове жорстке посилання на оригінальний файл, тоді цифра збільшиться ще на 1
пункт, і буде показувати цифру 3
.
Файл залишиться на диску, поки є жорстке посилання на нього. Коли лічильник екземплярів скидається до 0 , файл видаляється. Тобто, якщо створити, наприклад, 5 жорстких посилань, то поки не буде видалено усі ці посилання, файл буде існувати.
|
Видалимо початковий файл source
і переглянемо вміст файла-посилання hardlink
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ rm source
teacher@teacher-VirtualBox:~/terminal_work/testlinks$ cat hardlink
hard links
Як бачимо, нічого не сталося і жорстке посилання, як і раніше, вказує на потрібну ділянку диска. Це головна відмінність жорсткого посилання від символьного.
4.8.12. Файли-архіви
У Linux
з файлами архівів зустрічаються дуже часто. У вигляді архівів поширюються пакунки програм, початкові коди, а також багато інших файлів. Це можуть бути резервні копії системи, бази даних або звичайні архіви файлів.
Архівування в Linux
це не одне і те ж, що і стиснення файлів Linux
.
Архівування - це об’єднання декількох файлів в один, з метою більш зручної подальшої їх передачі, зберігання, шифрування або стиснення. Стиснення - це процес зменшення розміру файлів або каталогів. |
Для відкриття, редагування і створення архівів у Linux можна користуватися застосунком Менеджер архівів, який вже вбудований у систему. Він має зрозумілий графічний інтерефейс, тому при роботі з ним не повинно виникати труднощів. Далі розглядається робота з архівами за допомогою термінала.
|
tar
tar - найбільш поширений архіватор, який використовується в Linux
-системах. Сам по собі tar
не є архіватором в звичному розумінні цього слова, тому що він самостійно не використовує стиснення.
Для стиснення використовуються багато інших програм, в залежності від алгоритму стиснення, наприклад, zip
, gz
, xz
і т.д.
Отже, tar
створює нестиснений архів, у який поміщаються вибрані файли і каталоги, при цьому зберігаючи деякі їх атрибути (такі як права доступу). Після цього отриманий файл .tar
стискається архіватором, наприклад, gzip
або bzip2
. Ось чому архіви зазвичай мають розширення .tar.gz
або .tar.bz2
(для архіваторів gzip
і bzip2
відповідно).
Автоматичний запуск деяких утиліт стиснення для щойно створеного архіву підтримується в tar
і інших подібних програмах за допомогою спеціальних опцій.
Розглянемо синтаксис команди tar
. У загальному випадку команда tar
має вигляд
tar опції параметри назва_архіву.tar /шлях/до/файлів_для_архівації
а при розпакування архіву
tar опції параметри назва_архіву.tar
Значення деяких опцій, які визначають режим роботи команди tar
, наведені у таблиці.
Опція | Опція (довгий запис) | Опис |
---|---|---|
|
|
створити новий архів |
|
|
приєднати файли в кінець архіву |
|
|
сформувати список вмісту архіву |
|
|
оновити архів більш новими файлами з тим самим іменем |
|
|
видобути файли із архіву |
Для кожної опції можна використовувати параметри, які регламентують виконання конкретних операцій з tar
-архівом після його створення. Деякі з цих параметрів представлені у таблиці.
Параметр | Параметр (довгий запис) | Опис |
---|---|---|
|
|
змінити каталог перед виконанням певної дії |
|
|
записати результат архівації у файл |
|
|
перенаправити виведення результату архівації в команду |
|
|
зберегти усі права доступу |
|
|
вивести детальну інформацію під час процесу архівації |
|
вивести підсумкову інформацію після завершення процесу архівації |
|
|
|
перенаправити виведення результату архівації в команду |
Розглянемо створення архівів за допомогою команди tar
. Для цього використаємо для експериментів каталог testarchives
з наступними файлами
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls -li
загалом 12
1700701 -rwxrwx--- 1 teacher teacher 1418 сер 5 2017 basketball_teams.py
1700707 -rwxrwx--- 1 teacher teacher 1492 сер 5 2017 cities_facts.py
1700708 -rwxrwx--- 1 teacher teacher 491 сер 5 2017 quest.py
Створимо файл-архів з назвою py_files
, який буде містити три файли basketball_teams.py
, cities_facts.py
, quest.py
, з детальним виведенням інформації про архівацію
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ tar --create --totals --verbose --file py_files.tar basketball_teams.py cities_facts.py quest.py
basketball_teams.py
cities_facts.py
quest.py
Записано загалом: 10240 (10KiB, 15MiB/s)
Використаємо скорочений запис для архівації файлів і переглянемо чи був створений архів py_files.tar
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ tar --totals -cvf py_files.tar basketball_teams.py cities_facts.py quest.py
basketball_teams.py
cities_facts.py
quest.py
Записано загалом: 10240 (10KiB, 15MiB/s)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls
basketball_teams.py cities_facts.py py_files.tar quest.py
Для перегляду архівів, не розпаковуючи їх, використовують запис команди tar
у такому вигляді
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ tar -tf py_files.tar
basketball_teams.py
cities_facts.py
quest.py
Для розпакування (видобування) архіву із виведенням назв файлів архіву на екран необхідно виконати команду
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls
py_files.tar
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ tar -xvf py_files.tar
basketball_teams.py
cities_facts.py
quest.py
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls
basketball_teams.py cities_facts.py py_files.tar quest.py
Щоб виконати розпакування в інший каталог, використовують параметр -C
. Створимо каталог other_files
всередині testarchives
і скористаємось командою tar
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls
py_files.tar
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ mkdir other_files
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls
other_files py_files.tar
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls other_files/
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ tar -xvf py_files.tar -C "other_files"
basketball_teams.py
cities_facts.py
quest.py
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls other_files/
basketball_teams.py cities_facts.py quest.py
Як вже було сказано, tar
тільки створює архів, але не стискає. Для цього використовуються згадані утиліти bzip2
і gzip
. Файли, стиснуті з їх допомогою, мають відповідні закінчення назв файлів: .tar.bz2
і .tar.gz
.
Щоб створити стиснений архів за допомогою bzip2
, використовують параметр -j
і у назві архіву додається формат .bz2
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls
basketball_teams.py cities_facts.py py_files.tar quest.py
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ tar --totals -cjvf py_files_compression.tar.bz2 basketball_teams.py cities_facts.py quest.py
basketball_teams.py
cities_facts.py
quest.py
Записано загалом: 10240 (10KiB, 18MiB/s)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls -li
загалом 28
1700728 -rwxr-x--- 1 teacher teacher 1418 сер 5 2017 basketball_teams.py
1700729 -rwxr-x--- 1 teacher teacher 1492 сер 5 2017 cities_facts.py
1700732 -rw-r--r-- 1 teacher teacher 1205 тра 28 12:25 py_files_compression.tar.bz2
1700716 -rw-r--r-- 1 teacher teacher 10240 тра 28 11:54 py_files.tar
1700730 -rwxr-x--- 1 teacher teacher 491 сер 5 2017 quest.py
Як бачимо, розмір архіву py_files.tar
без стиснення має значення 10240 Байт (шоста колонка у таблиці), розмір архіву py_files_compression.tar.bz2
із стистенням має значення 1205 Байт.
Використовуючи архіватор gzip
, вказується параметр -z
і інше закінчення архіву .gz
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ tar --totals -czvf py_files_compression.tar.gz basketball_teams.py cities_facts.py quest.py
basketball_teams.py
cities_facts.py
quest.py
Записано загалом: 10240 (10KiB, 18MiB/s)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls -li
загалом 32
1700728 -rwxr-x--- 1 teacher teacher 1418 сер 5 2017 basketball_teams.py
1700729 -rwxr-x--- 1 teacher teacher 1492 сер 5 2017 cities_facts.py
1700732 -rw-r--r-- 1 teacher teacher 1205 тра 28 12:25 py_files_compression.tar.bz2
1700733 -rw-r--r-- 1 teacher teacher 1159 тра 28 12:33 py_files_compression.tar.gz
1700716 -rw-r--r-- 1 teacher teacher 10240 тра 28 11:54 py_files.tar
1700730 -rwxr-x--- 1 teacher teacher 491 сер 5 2017 quest.py
Розмір архіву py_files_compression.tar.gz
, стисненого за допомогою архіватора gzip
складає 1159 Байт.
Варто пам’ятати, що при розпакуванні архівів, стиснутих за допомогою gzip
або bzip2
, необхідно вказувати відповідні параметри (-j
і -z
відповідно)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ tar -xjvf py_files_compression.tar.bz2 -C "other_files"
basketball_teams.py
cities_facts.py
quest.py
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ tar -xzvf py_files_compression.tar.gz -C "other_files"
basketball_teams.py
cities_facts.py
quest.py
zip
zip - це утиліта архівування та стиснення, тому її можна використовувати для архівування, стиснення і розпаковування файлів і каталогів у Unix -подібних операційних системах. Програма встановлена за замовчуванням у дистрибутив Ubuntu .
|
Для перевірки роботи утиліти zip
використаємо каталог testarchives
, який містить три файли basketball_teams.py
, cities_facts.py
, quest.py
і один каталог python_tasks
, який, у свою чергу, містить два файли (hello.py
і my_script.txt
)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls
basketball_teams.py cities_facts.py python_tasks quest.py
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls python_tasks/
hello.py my_script.txt
Щоб створити архів із трьох файлів у каталозі testarchives
за допомогою утиліти zip
, необхідно виконати наступну команду в терміналі (вказувати для назви файла-архіву розширення .zip
необов’язково)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ zip py_files.zip basketball_teams.py cities_facts.py quest.py
adding: basketball_teams.py (deflated 79%)
adding: cities_facts.py (deflated 63%)
adding: quest.py (deflated 59%)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls -li
загалом 20
1700728 -rwxr-x--- 1 teacher teacher 1418 сер 5 2017 basketball_teams.py
1700729 -rwxr-x--- 1 teacher teacher 1492 сер 5 2017 cities_facts.py
1700744 -rw-r--r-- 1 teacher teacher 1548 тра 28 13:49 py_files.zip
1700739 drwxr-xr-x 2 teacher teacher 4096 тра 28 13:45 python_tasks
1700730 -rwxr-x--- 1 teacher teacher 491 сер 5 2017 quest.py
Аналогічно можна створити архів вмісту каталогу python_tasks
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ zip py_tasks.zip python_tasks/
adding: python_tasks/ (stored 0%)
Зверніть увагу, що в архів додався лише батьківський каталог. Щоб у архів рекурсивно додавались усі файли і підкаталоги, що містяться у батьківському каталозі, необхідно використати опцію -r
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ zip -r py_tasks.zip python_tasks/
updating: python_tasks/ (stored 0%)
updating: python_tasks/hello.py (deflated 23%)
updating: python_tasks/my_script.txt (deflated 2%)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls
basketball_teams.py py_files.zip python_tasks
cities_facts.py py_tasks.zip quest.py
Якщо вказати існуючий архів і перелік файлів чи каталогів, які необхідно дадати до нього, то програма zip
оновить вміст існуючого архіву з доданими новими файлами або каталогами
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ zip -r py_tasks.zip python_tasks/ quest.py
updating: python_tasks/ (stored 0%)
updating: python_tasks/hello.py (deflated 23%)
updating: python_tasks/my_script.txt (deflated 2%)
adding: quest.py (deflated 59%)
Щоб переглянути вміст zip
-архіву без розпакування, слід виконати команду unzip
з опцією -l
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ unzip -l py_tasks.zip
Archive: py_tasks.zip
Length Date Time Name
--------- ---------- ----- ----
0 2018-05-28 13:54 python_tasks/
44 2018-05-28 13:54 python_tasks/hello.py
43 2018-05-20 18:03 python_tasks/my_script.txt
491 2017-08-05 16:35 quest.py
--------- -------
578 4 files
Для розпакування zip
-архівів використовують команду unzip
(якщо у каталозі, у який виконують розархівування, вже знаходяться файли з таким ж іменами, з’явиться діалог з вибором потрібної дії)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ unzip py_tasks.zip
Archive: py_tasks.zip
replace python_tasks/hello.py? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: python_tasks/hello.py
replace python_tasks/my_script.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: python_tasks/my_script.txt
replace quest.py? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: quest.py
Якщо ж необхідно видобути з архіву не усі файли або каталоги, а лише визначені, то у записі команди unzip
треба вказати назви цих файлів (окрім того, якщо необхідно, щоб каталог розпакування був не поточний, а інший, то ще вказується опція -d
)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls python_tasks/
hello.py my_script.txt
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ unzip py_files.zip quest.py -d python_tasks/
Archive: py_files.zip
inflating: python_tasks/quest.py
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls python_tasks/
hello.py my_script.txt quest.py
Важливою особливістю команди zip
є створення зашифрованого архіву. Це означає, що користувачам необхідно буде ввести пароль для вилучення або перегляду вмісту такого архіву.
Щоб створити зашифрований архів, необхідно використовувати опцію -e
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ zip -e py_files_encryption.zip basketball_teams.py cities_facts.py quest.py
Enter password:
Verify password:
adding: basketball_teams.py (deflated 79%)
adding: cities_facts.py (deflated 63%)
adding: quest.py (deflated 59%)
При розпакуванні такого зашифрованого архіву необхідно буде ввести правильний пароль
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ unzip py_files_encryption.zip
Archive: py_files_encryption.zip
[py_files_encryption.zip] basketball_teams.py password:
replace basketball_teams.py? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
inflating: basketball_teams.py
inflating: cities_facts.py
inflating: quest.py
Команда zip
підтримує кілька рівнів стиснення:
-0
-
лише архівувати (без стиснення);
-1
-
найшвидший (найгірше стиснення);
-9
-
повільний (найкраще стиснення);
-6
-
рівень за замовчуванням.
Наприклад, створимо архів py_tasks.zip
із каталогу python_tasks
і його вмісту з найвищим рівнем стиснення (9
)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls python_tasks/
hello.py my_script.txt quest.py
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ zip -r -9 py_tasks.zip python_tasks/
adding: python_tasks/ (stored 0%)
adding: python_tasks/quest.py (deflated 59%)
adding: python_tasks/hello.py (deflated 23%)
adding: python_tasks/my_script.txt (deflated 2%)
Використання команди zip
при створенні архівів дозволяє вибірково додавати файли і підкаталоги у архів. Для цього використовують опцію -x
. Наприклад, необхідно у архів py_tasks_choice.zip
рекурсивно додати лише файли quest.py
і hello.py
з каталогу python_tasks
(не включаючи файл my_script.txt
)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ ls python_tasks/
hello.py my_script.txt quest.py
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ zip -r py_tasks_choice.zip python_tasks/ -x python_tasks/my_script.txt
adding: python_tasks/ (stored 0%)
adding: python_tasks/quest.py (deflated 59%)
adding: python_tasks/hello.py (deflated 23%)
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ unzip -l py_tasks_choice.zip
Archive: py_tasks_choice.zip
Length Date Time Name
--------- ---------- ----- ----
0 2018-05-28 14:40 python_tasks/
491 2017-08-05 16:35 python_tasks/quest.py
44 2018-05-28 13:54 python_tasks/hello.py
--------- -------
535 3 files
Щоб видалити файл hello.py
із вже створеного архіву py_tasks_choice.zip
, разом із командою zip
використовують опцію -d
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ zip -d py_tasks_choice.zip python_tasks/hello.py
deleting: python_tasks/hello.py
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ unzip -l py_tasks_choice.zip
Archive: py_tasks_choice.zip
Length Date Time Name
--------- ---------- ----- ----
0 2018-05-28 14:40 python_tasks/
491 2017-08-05 16:35 python_tasks/quest.py
--------- -------
491 2 files
Аналогічно, для видалення групи файлів із створеного архіву py_tasks_choice.zip
одного типу (наприклад, .py
) можна використовувати наступну команду
teacher@teacher-VirtualBox:~/terminal_work/testarchives$ zip -d py_tasks_choice.zip "*.py"
5. Адміністрування системи
Налаштування системи можна виконувати як у терміналі Linux , так і за допомогою, призначених для цього, відповідних програм з графічним інтерфейсом. Далі використовуються обидва варіанти.
|
5.1. Користувачі і групи
5.1.1. Суперкористувач
У всіх системах на базі Linux
завжди є один обліковий запис, який називається root
або суперкористувач.
Суперкористувач має право на виконання будь-яких дій і зміни будь-яких параметрів. Більшість системних процесів працюють від імені root .
|
Ясна річ, використання такого всемогутнього користувача вкрай небезпечно, бо будь-яка помилка у діях від імені цього користувача може призвести до катастрофічних наслідків у роботі операційної системи.
На відміну від суперкористувача, звичайний користувач у Linux
не може вплинути на працездатність системи, зокрема, не може встановлювати і видаляти програми, керувати системними налаштуваннями і змінювати файли поза межами свого домашнього каталогу.
Суперкористувач в Ubuntu
«захований» всередині системи, а управлінням і налаштуванням системи займаються звичайні користувачі зі спеціальними адміністративними привілеями.
При встановленні системи Linux створюється обліковий запис адміністратора.
|
Адміністратор в Ubuntu
, за замовчуванням, може за запитом робити все те ж саме, що і суперкористувач, проте випадково щось зіпсувати, використовуючи обліковий запис адміністратора, не можна, тому що перед виконанням кожної дії система запитує у користувача-адміністратора його пароль.
Взагалі кажучи, адміністратор є звичайним користувачем, однак при необхідності він може втрутитися в роботу системи, але для цього йому буде потрібно ввести свій пароль.
Головна відмінність адміністратора від суперкористувача якраз і полягає в необхідності вводити пароль для виконання будь-якої потенційно небезпечної дії. Якщо система запитує у вас пароль, значить ви збираєтеся якось втрутитися в її працездатність.
Тому для адміністративних дій, які вимагають прав суперкористувача, використовують команду sudo
.
sudo - це назва програми, що надає привілеї root для виконання адміністративних дій.
|
sudo
дозволяє легко контролювати доступ до важливих застосунків у системі. За замовчуванням, при встановленні Ubuntu
першому користувачеві (тому, який створюється під час встановлення) надаються повні права на використання sudo
. Тобто, фактично перший користувач (адміністратор) має ту ж свободу дій, що і root
.
Використовується команда sudo
у терміналі і має такий синтаксис
sudo команда
Далі система запропонує ввести свій пароль.
При введенні паролів, символи, що вводяться, не відображаються на екрані. Це нормально і зроблено в цілях безпеки, просто необхідно ввести до кінця і натиснути Enter . |
Після введення пароля вказана команда виконується від імені root
.
5.1.2. Групи користувачів
Linux
, в цілому, і Ubuntu
, зокрема, - системи, розраховані на багато користувачів, тобто на одному комп’ютері може бути кілька різних користувачів (облікових записів), кожен зі своїми власними налаштуваннями, даними і правами доступу до різних системних функцій.
Крім користувачів у Linux
для розмежування прав існують групи. Кожна група, так само як і окремий користувач, має певний набір прав доступу до різних компонентів системи і кожен користувач - член цієї групи - автоматично отримує всі права групи.
Тобто, групи потрібні для групування користувачів за принципом однакових повноважень на будь-які дії. Наприклад, якщо при використанні команди sudo
з’являється наступне повідомлення
student@teacher-VirtualBox:~$ sudo apt update
[sudo] пароль до student:
student немає у файлі sudoers. Запис про подію додано до звіту.
то це означає, що користувач (в даному випадку student
) не має прав суперкористувача на використання команди sudo
, адже не входить у однойменну групу.
Давайте переглянемо список користувачів (облікових записів) і груп, які вже присутні у системі. Для цього можна скористатися кількома способами.
Щоб вивести тільки список ідентифікаторів груп поточного користувача, необхідно використовувати команду id
з опцією -G
teacher@teacher-VirtualBox:~$ id -G
1000 4 24 27 30 46 116 126
Якщо необхідно отримати імена груп поточного користувача, то використовується опція -n
teacher@teacher-VirtualBox:~$ id -Gn
teacher adm cdrom sudo dip plugdev lpadmin sambashare
Якщо треба дізнатися список імен груп для певного користувача, просто передайте його ім’я в якості параметра
teacher@teacher-VirtualBox:~$ id -Gn student
student adm dialout fax cdrom floppy tape audio dip video plugdev scanner
Вся інформація (крім паролів) про облікові записи користувачів зберігається у файлі /etc/passwd . Список груп, присутніх у системі, знаходиться у файлі /etc/group .
|
Паролі облікових записів зберігаються у файлі Від імені суперкористувача переглянути вміст файла |
Відкриємо файл /etc/passwd
текстовим редактором gedit
за допомогою термінала, увівши команду
gedit /etc/passwd
У результаті отримаємо список облікових записів
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
...
teacher:x:1000:1000:Teacher,,,:/home/teacher:/bin/bash
vboxadd:x:999:1::/var/run/vboxadd:/bin/false
student:x:1001:1001:Учень,,,:/home/student:/bin/bash
Один рядок відповідає опису одного облікового запису і складається з кількох полів, розділених двокрапкою. Наприклад, рядок teacher:x:1000:1000:Teacher,,,:/home/teacher:/bin/bash
можна прочитати так:
-
teacher
- ім’я користувача для входу у систему; -
x
- необов’язковий зашифрований пароль; -
1000
- числовий індентифікатор користувача (UID); -
1000
- числовий індентифікатор основної групи (GID); -
Teacher,,,
- необов’язкове поле, яке використовується для вказівки додаткової інформації про користувача (наприклад, повне ім’я користувача); -
/home/teacher
- домашній каталог користувача; -
/bin/bash
- командний інтерпретатор користувача.
Системними обліковими записами в Ubuntu вважаються усі користувачі з UID < 1000 .
|
Відкриємо файл /etc/group
текстовим редактором gedit
через термінал, ввівши команду
gedit /etc/group
Ось так виглядає частина списку із кількох десятків присутніх у системі груп
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,teacher
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:teacher
floppy:x:25:
tape:x:26:
sudo:x:27:teacher
audio:x:29:pulse
dip:x:30:teacher
...
Наприклад, рядок sudo:x:27:teacher
можна прочитати так:
-
sudo
- назва групи (перебування у цій групі надає дозвіл на використання командиsudo
); -
x
- необов’язковий зашифрований пароль; -
27
- числовий індентифікатор групи (GID
); -
teacher
- список користувачів, які знаходяться у групі.
Кожна група дозволяє читання або запис певного файла або каталогу системи, тим самим регулюючи повноваження користувача.
Щоб дізнатися назви груп, до яких належить конкретний користувач (наприклад, teacher
), необхідно у терміналі написати наступну команду
teacher@teacher-VirtualBox:~$ groups teacher
teacher : teacher adm cdrom sudo dip plugdev lpadmin sambashare
Як бачимо з результату, користувач teacher
має однойменну групу. Вона є головною (основною) і була створена автоматично при створенні самого користувача. Крім того, користувач teacher
має додаткові групи, серед яких:
-
adm
- використовується для завдань моніторингу системи (дозволяє читати логи з каталогу/var/log
); -
cdrom
- надає користувачам доступ до дисковода оптичних дисків; -
sudo
- дозволяє використовувати командуsudo
; -
plugdev
- дозволяє монтувати знімні пристрої (USB
,CD
та інші); -
lpadmin
- дозволяє керувати принтерами та очікуванням завдань, відправлених іншими користувачами; -
sambashare
- дозволяє створювати спільні ресурси у файловому обміні міжWindows
іUbuntu
.
Для створених файлів і каталогів призначається головна група користувача, який їх створив. |
Виконаємо у терміналі команду ls
, яка показує вміст домашнього каталогу користувача (~
), вказавши опцію -l
(у вигляді списку)
teacher@teacher-VirtualBox:~$ ls -l ~
загалом 48
drwxr-xr-x 2 teacher teacher 4096 кві 30 18:47 Відео
drwxr-xr-x 2 teacher teacher 4096 кві 30 20:38 Документи
drwxr-xr-x 2 teacher teacher 4096 кві 30 18:47 Завантаження
drwxr-xr-x 2 teacher teacher 4096 кві 30 18:47 Загальнодоступні
drwxr-xr-x 2 teacher teacher 4096 кві 30 18:47 Зображення
drwxr-xr-x 2 teacher teacher 4096 кві 30 18:47 Музика
drwxr-xr-x 3 teacher teacher 4096 кві 30 21:17 Стільниця
drwxr-xr-x 2 teacher teacher 4096 кві 30 18:47 Шаблони
-rw-r--r-- 1 teacher teacher 8980 кві 30 18:41 examples.desktop
drwxr-xr-x 2 teacher teacher 4096 кві 30 20:43 pythonguide
Можна пересвідчитися, що власник усіх каталогів teacher
(третя колонка списку) і група теж teacher
(четверта колонка списку).
5.1.3. Зміна користувача в терміналі
Для виконання певних адміністративних задач в терміналі від імені адміністратора, коли активним є обліковий запис звичайного користувача з обмеженими привілеями, можна використовувати команду su. Дана команда перемикає вас у сеанс іншого облікового запису (наприклад, адміністратора).
Використання команди su
можна розглянути на такому прикладі. Перебуваючи в обліковому записі користувача з обмеженими правами (student
) вводимо в терміналі команду su teacher
для переходу в обліковий запис teacher
, який має адміністративні права, і вказуємо пароль облікового запису teacher
student@teacher-VirtualBox:~$ su teacher
Пароль:
teacher@teacher-VirtualBox:/home/student$
Після того, як ви зробите все, що вам було потрібно, ви можете ввести команду exit
і знову переключитися в режим звичайного користувача з обмеженими правами
teacher@teacher-VirtualBox:/home/student$ exit
exit
student@teacher-VirtualBox:~$
Щоб дізнатися ім’я користувача, від якого будуть виконуватися команди в терміналі, необхідно ввести команду whoami. |
Команда sudo
запускає с правами суперкористувача тільки одну команду. При виконанні команди sudo
система запитує поточний пароль користувача, а потім виконує команду від імені суперкористувача.
За замовчуванням, Ubuntu
пам’ятає введенний пароль 15
хвилин, і протягом цього часу при повторному використанні не буде запитувати його. Якщо у терміналі необхідно виконати велику кількість команд і кожен раз введення пароля не влаштовує, то можна відкрити сеанс суперкористувача, який дозволить позбутися цих незручностей
teacher@teacher-VirtualBox:~$ sudo su
[sudo] пароль до teacher:
root@teacher-VirtualBox:/home/teacher# exit
exit
teacher@teacher-VirtualBox:~$
Пам’ятайте, що використання суперкористувача вкрай небезпечне, адже необережні дії із виконанням команд у терміналі можуть нашкодити працездатності системи. Тому, при виконанні команд від імені суперкористувача будьте дуже уважними. |
5.1.4. Права доступу до файлів і каталогів
Як вже відомо, будь-який файл і каталог належить якомусь користувачеві системи і певній групі. Змінюючи власників того чи іншого файла і різні групи прав доступу до нього, можна гнучко керувати доступом до цього файла.
Наприклад, зробивши себе власником якогось файла і повністю заборонивши до нього доступ усім, крім користувача-власника, можна приховати вміст і заборонити зміну цього файла для всіх інших користувачів. Аналогічно із каталогами. Можна, наприклад, заборонити записувати файли у каталог, або взагалі приховати його вміст від сторонніх очей.
З подібної організації прав доступу у системі випливає вкрай важливий наслідок.
Конкретному користувачу Ubuntu
належить тільки його домашній каталог і весь його вміст. У системі цей каталог знаходиться за адресою /home/ім’я_користувача
.
Усі інші файли системи, включаючи всі застосунки, системні налаштування і т.д., що розташовуються поза /home
, належать переважно root
. І це недарма, адже їм усім виставлені права на зміну тільки для користувача-власника. Таким чином, ніхто, окрім root
, не може втрутитися в роботу системи і щось змінити у системних файлах.
5.1.5. Створення користувача
Створимо нового користувача з ім’ям student
та паролем, а потім додамо його в групу users
. Усі дії будемо виконувати через термінал.
Для створення користувача, використаємо команду useradd, яка має синтаксис
useradd опції ім'я_користувача
В нашому випадку команда для додавання нового користувача буде наступною
sudo useradd -m -s /bin/bash student
У даному записі команди useradd
використано дві опції:
-
-m
(вказує, що необхідно створити домашній каталог, якщо він не існує); -
-s
зі значенням/bin/bash
(командна оболонка, яка використовується користувачем, за замовчуванням/bin/sh
).
Взагалі, при створенні нового користувача командою useradd
можна переглянути параметри, які будуть використовуватися за замовчуванням, увівши у терміналі команду useradd
з опцією -D
teacher@teacher-VirtualBox:~$ useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
Встановлення пароля для нового користувача student
відбувається введенням команди
sudo passwd student
і наступним введенням пароля.
Для додавання користувача student
у групу users
необхідно використати команду usermod, яка має такий же синтаксис, як і useradd
. Додавання користувача у групу матиме такий вигляд
sudo usermod -G users -a student
Опція -a
вказує на приєднання користувача student
, а опція -G
вказує на групи (у даному випадку на єдину групу users
), до яких треба приєднати, записані через кому без пропусків.
Більш простий спосіб створення нового користувача - використання команди adduser. |
У системах Ubuntu
команда adduser
пов’язана зі скриптом, який обробляє процедуру створення користувача
sudo adduser ім'я_користувача
При роботі скрипта з’явиться кілька запитань, на які треба дати відповіді, наприклад так
teacher@teacher-VirtualBox:~$ sudo adduser student
[sudo] пароль до teacher:
Додається користувач "student"...
Додається нова група "student" (1001)...
Додається новий користувач "student" (1001) з групою "student"...
Створюється домашня директорія "/home/student"...
Копіюються файли з "/etc/skel"..
Введіть новий пароль UNIX:
Повторіть новий пароль UNIX:
passwd: пароль було успішно змінено
Зміна інформації про користувача student
Введіть нове значення або натисніть ENTER для значення за замовчанням
Повне ім'я []: Учень
Номер кімнати []:
Робочий телефон []:
Домашній телефон []:
Інше []:
chfn: ім'я «Учень» містить не ASCII-символи
Чи є ця інформація вірною? [Т/н]
teacher@teacher-VirtualBox:~$
Для видалення користувача із системи можна використовувати команду deluser.
Наступна команда видалить користувача student
і його домашній каталог (опція --remove-home
) із системи
sudo deluser --remove-home student
Налаштування за замовчуванням команди deluser
знаходяться у файлі /etc/deluser.conf
, який можна відкрити і переглянути, виконавши команду
sudo gedit /etc/deluser.conf
5.1.6. Застосунок Users & Groups
Управління користувачами, обліковими записами і групами в Ubuntu
можна виконувати також із використанням програми Користувачі та групи. Даний застосунок звільняє від використання термінала при створенні і редагуванні користувачів та груп в Ubuntu
, окрім того, у програмі можна також керувати привілеями.
Програму можна встановити із репозиторія Ubuntu
командою
sudo apt install gnome-system-tools
або через Ubuntu Software
(Програми Ubuntu), написавши у рядку пошуку
gnome-system-tools
.
Детальніше про встановлення програм в Ubuntu читайте у розділі 5.2 і розділі 6.
|
Після встановлення, програму можна запустити через застосунок Показати програми

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

Додавання нового облікового запису (кнопка Додати)

Введення і підтвердження пароля (кнопка Гаразд)

Зміна типу нового облікового запису на Користувач

Створення нового облікового запису Учень завершено

Розширені параметри (контактна інформація, привілеї) облікового запису Учень (кнопка Розширені параметри)

Параметри груп (кнопка Керування групами у головному вікні програми Користувачі та групи)

Членство у групах

Після додавання користувача в групи, необхідно перезайти в систему, щоб зміни почали діяти.
Програмою Користувачі та групи можна також видалити користувача, виконавши нескладні налаштування. |
5.2. Встановлення і видалення програм
Встановлення програмного забезпечення, оновлення, обробка залежностей, видалення програм є дуже важливими діями у адміністрування операційної системи Ubuntu
.
В Ubuntu
існує багато способів встановлення програм. Тут можна скористатися і вбудованим в систему застосунком Ubuntu Software
(Програми Ubuntu) , і упорядником пакунків (наприклад,
Synaptic
), і встановлювати програми з репозиторіїв за допомогою команд у терміналі, а також завантажувати пакунки програм з Інтернету, після чого встановлювати їх - також різними способами.
5.2.1. Ubuntu Software (Програми Ubuntu)
Одним із варіантів перегляду, встановлення і видалення програм в Ubuntu
є використання Ubuntu Software
(Програми Ubuntu).

Для встановлення конкретної програми, необхідно обрати категорію, в якій вона може бути, знайти її назву і обрати для встановлення. Або виконати пошук програми за назвою або частиною назви.
Крім того, в Ubuntu Software
(Програми Ubuntu) можна переглянути встановлені, оновлені програми у системі, а, за потреби, і видалити програму із системи.
5.2.2. Synaptic
Synaptic
- упорядник пакунків - програма, що дозволяє керувати пакунками в Ubuntu
. Вона поєднує в собі всі можливості системи керування пакунками apt та зручність графічного інтерфейсу. Synaptic
є надбудовою над apt
.
За допомогою Synaptic
, ви можете встановлювати, видаляти, налаштовувати і оновлювати пакунки у вашій системі, переглядати списки доступних і встановлених пакунків, керувати репозиторіями і оновлювати систему до нової версії.
Для встановлення даного упорядника пакунків у терміналі необхідно ввести команду
sudo apt install synaptic
Для запуску Synaptic
необхідно відкрити і ввести у рядку пошуку
synaptic
(переклад українською може бути як упорядник пакунків)

Також, Synaptic
можна запустити, увівши у терміналі команду
sudo synaptic
Після запуску ви побачите головне вікно програми

Для отримання докладної інформації про певний пакунок, необхідно клікнути на ньому правою кнопкою миші і в контекстному меню обрати Властивості. |
В Synaptic
для пошуку певних пакунків присутній набір фільтрів:
-
за розділами (Ігри та розваги, Графіка, Керування системою і т.д.);
-
за статусом (Встановлені, Не встановлені, Встановлені (вручну) і т.д.);
-
за походженням (тобто з якого джерела встановлена або може бути встановлена та чи інша програма).
Перед пошуком і встановленням певного пакунку слід натиснути на кнопці Оновити список пакунків для того, щоб завантажити список пакунків найновіших версій. |
Для прикладу, необхідно встановити мультимедійний програвач vlc . Для швидкого пошуку потрібного пакунку для встановлення можна скористатися кнопкою пошуку

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

Необхідно виконати правий клік на потрібному пакунку (в даному випадку на vlc
) і обрати в контекстному меню, що з’явилося, пункт Позначити для встановлення. Якщо пакунок вимагає встановлення інших пакунків, то з’явиться діалогове вікно зі змінами, які будуть зроблені

Якщо треба продовжити встановлення, то необхідно натиснути на кнопці Позначити.

Для встановлення необхідно натиснути кнопку Застосувати на головній панелі упорядника пакунків Synaptic
і погодитися зі змінами, натиснувши на кнопку Застосувати у вікні діалогу

Далі відбудеться завантаження пакунків

із наступним встановленням

По завершенню, з’явиться повідомлення про успішне встановлення

Для видалення встановленого пакунку (ознака того, що пакунок встановлений - прямокутник з зеленою заливкою зліва від його імені), слід повторити дії, що виконуються при встановленні пакунку, вказавши тільки пункт Позначити для вилучення. |
Synaptic
можна використовувати для підтримки системи Ubuntu
у чистоті, тобто для очищення кешу оновлень пакунків, видалення невикористовуваних залишків невстановлених програм, очищення кешу мініатюр (ескізів зображень), видалення старих ядер.
Кеш - тимчасове сховище даних (файлів, записів, знімків тощо), накопичених у процесі роботи користувача в системі. |
Для очищення кешу оновлень після оновлення системи, тобто для видалення файлів, що вже не використовуються, необхідно у меню Synaptic
обрати та активувати пункт Вилучати завантажені пакунки після встановлення

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

За допомогою упорядника пакунків Synaptic
можна виконувати видалення старих ядер Linux
або таких, що вже не використовуються.
У системі рекомендується мати дві версії ядра - останню (найновішу) версію, що використовується на даний момент, і попередню, на випадок виникнення будь-яких неполадок. |
Спочатку необхідно визначити актуальне ядро системи, тобто поточне ядро на якому працює система зараз. Це можна зробити за допомогою команди uname, виконавши її у терміналі
teacher@teacher-VirtualBox:~$ uname -r
5.8.0-36-generic
Далі потрібно у поле Пошук вікна Synaptic
ввести рядок linux-image
, після чого у правій колонці будуть відображені усі ядра системи. Встановлені ядра будуть позначені зеленим квадратиком.

Далі потрібно залишити актуальне ядро, назва якого була відображена у терміналі після виконаної команди uname -r
(5.8.0-36-generic
), передостанню версію ядра, а решту, за потреби, можна видалити, виконавши такі дії:
-
правий клік на рядку з версією ядра (із написом
generic
); -
в контекстному меню обрати Позначити для повного вилучення;
-
у меню програми
Synaptic
натиснути Застосувати.
Також необхідно оновити завантажувач GRUB
, щоб і з його меню видалити тепер непотрібні ядра. Це можна зробити у терміналі за допомогою команди
sudo update-grub
а потім виконати перезавантаження комп’ютера.
Після нового входу у систему можна зробити додаткове очищення системи наступними командами
sudo apt autoremove
sudo apt autoclean
Для видалення старих ядер, крім останнього і передостаннього, можна також використовувати наступну команду
sudo apt purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | head -n -1)
а після цього виконати команди по очищенні системи і оновлення завантажувача GRUB
sudo apt autoremove
sudo update-grub
За допомогою Synaptic можна також встановити у систему нові версії ядра Linux . Для цього у вікні Synaptic необхідно виконати правий клік на рядку з назвою ядра нової версії, в контекстному меню обрати Позначити для встановлення та у меню програми Synaptic натиснути Застосувати, оновити завантажувач GRUB і перезавантажити комп’ютер.
|
5.2.3. apt
Один з методів встановлення програм - система керування пакунків apt. Це популярний, потужний інструмент командного рядка для керування пакунками.
apt
вміє не тільки їх встановлювати, але і видаляти, оновлювати, завантажувати списки пакунків з Інтернету і багато іншого. Тобто все, що вміє Synaptic
, але тільки з командного рядка.
apt дозволяє завантажувати лише ті пакунки, які розташовані на віддалених серверах, тобто, у мережевих репозиторіях.
|
На перший погляд, використання apt
може відлякувати, особливо новачків. Однак не поспішайте - в більшості випадків саме apt
є найпростішим і швидким способом щось встановити в Ubuntu
, і саме тому в більшості інструкцій для встановлення чого-небудь в Ubuntu
, які можна знайти на просторах Інтернету, містяться команди для термінала з використанням apt
.
Синтаксис для роботи з apt
такий
sudo apt опції команда ім'я_пакунка
Однією з основних опцій є -f
- виконати операцію примусово (використовується для усунення збоїв в базі пакунків, викликаних порушеними залежностями). А ось кілька основних команд apt
, які можна використовувати для керування пакунками:
-
download
- завантажити пакунок, але не встановлювати; -
update
- використовується для оновлення інформації про списки пакунків в репозиторіях; -
upgrade
- оновлення системи без видалення пакунків; -
full-upgrade
- повне оновлення системи з видаленням конфліктуючих залежностей; -
install
- встановлення пакунку; -
remove
- видалення пакунку без видалення конфігураційних файлів; -
autoremove
- автоматичне видалення пакунків, які більше не потрібні в системі; -
purge
- повне видалення пакунку; -
show
- подивитися інформацію про пакунок; -
autoclean
- видалити застарілі пакунки (які були замінені при оновленні); -
clean
- повністю очистити кеш.
Використання apt
передбачає, що ви точно знаєте, чого ви хочете. Наприклад, ви хочете встановити переглядач графічних файлів Pinta , тоді вам необхідно виконати наступні команди в терміналі
sudo apt update
sudo apt install pinta
Перший рядок sudo apt update
- це оновлення даних про доступні в репозиторіях програми. Другий рядок можна прочитати так:
-
sudo
- означає, що наступні після нього команди будуть виконуватися від імені суперкористувача; -
apt
- власне, викликає саму систему керування пакункамиapt
; -
install
- команда для встановлення пакунку; -
pinta
- ім’я пакунку, який треба встановити (можна вказати кілька пакунків, просто розділяючи їх назви пропусками).
А для видалення пакунку достатньо набрати у терміналі наступну команду
sudo apt purge pinta
Команда Факт того, що пакунок більше не використовується визначається наступним чином: якщо пакунок був встановлений не сам по собі, а як залежність для іншого пакунку, який згодом був видалений, значить цей пакунок є зайвим в системі. |
При виконанні у терміналі команди
|
5.2.4. deb-пакунки
Якщо в репозиторіях Ubuntu
потрібної програми не знайшлося, або ж знайшлося, але не останньої версії (а таке буває часто), то швидше за все необхідно зайти на сайт розробника програми, і завантажити інсталяційний пакунок у форматі *.deb
-пакунка.
В Ubuntu по подвійному кліку на deb -пакунку відкривається, за замовчуванням, вікно застосунку Ubuntu Software (Програми Ubuntu) для встановлення пакунку.
|
GDebi
GDebi
- програма для встановлення deb
-пакунків. Перевага її в тому, що вона може встановлювати deb
-пакунки, автоматично завантажуючи і встановлюючи необхідні залежні пакунки.
GDebi дозволяє встановлювати локальні deb -пакунки, знаходячи й встановлюючи їх залежності.
|
Для встановлення програми GDebi
в Ubuntu
у терміналі необхідно виконати наступні команди
sudo apt install gdebi
Після того, як програма GDebi
встановлена, її можна запустити через

Відкривши deb
-пакунок за допомогою GDebi
(через контекстне меню чи за допомогою Ctrl+O), необхідно обрати кнопку Встановити пакунок

GDebi
можна використати і у режимі командного рядка, виконавши наступну команду у терміналі
sudo gdebi назва_пакунку.deb
Виконувати команду необхідно з каталогу, де міститься даний deb
-пакунок, або вказувати відносний шлях до deb
-пакунку, наприклад
sudo gdebi ~/Завантаження/назва_пакунку.deb
dpkg
Крім графічної утиліти GDebi
, встановити, попередньо завантажені з Інтернету, пакунки в Ubuntu
можна і простою командою dpkg
(базова система керування пакунками в Debian
-системах) у терміналі.
Спочатку переходимо у каталог, у який був завантажений deb
-пакунок, і виконуємо команду у терміналі
sudo dpkg -i назва_пакунку.deb
Для команди dpkg
доступні символи скороченого запису. Наприклад, щоб встановити всі deb
-пакунки з поточного каталогу, можна написати так
sudo dpkg -i *.deb
Програма не вміє встановлювати залежності. Навіть, якщо є доступ до мережі Інтернет, вона тільки встановлює пакунок. Тому для встановлення залежностей, після встановлення deb
-пакунку, необхідно виконати
sudo apt -f install
Тепер, коли залежності були завантажені, ви можете запускати і використовувати програму.
Щоб отримати список усіх пакунків системи, виконаємо у терміналі команду
dpkg -l
У результаті отримаємо таблицю з такими даними (показана лише верхня частина таблиці)
teacher@teacher-VirtualBox:~$ dpkg -l
Бажаний=невідомо[u]/встановити[i]/вилучити[r]/вичистити[p]/зафіксувати[h]
| Стан=не[n]/встановлений[i]/налаштований[c]/розпакований[U]/частково налаштований[F]/
частково встановлений[H]/trig-aWait/Trig-pend
|/ Помилка?=(ні)/вимагається перевстановлення[R] (верхній регістр
у полях стану й помилки вказує на ненормальну ситуацію)
||/ Ім'я Версія Архітектура Опис
+++-==============-============-============-=================================
ii accountsservic 0.6.45-1ubun amd64 query and manipulate user account
ii acl 2.2.52-3buil amd64 Access control list utilities
ii acpi-support 0.142 amd64 scripts for handling many ACPI ev
...
Давайте інтерпретуємо дані таблиці. Зокрема, розглянемо перший стовпець, який показує стан пакунка і позначається трьома символами, що можуть набувати значень, представлених нижче:
-
Бажаний стан пакунка
-
u
(unknown
) - невідомий. -
i
(install
) - позначено для встановлення. -
r
(remove
) - позначено для вилучення. -
p
(purge
) - позначено для очищення (вилучення, включаючи файли конфігурації). -
h
(hold
) - зафіксований.
-
-
Поточний стан пакунка
-
n
(not-installed
) - пакунок не встановлений. -
i
(installed
) - пакунок успішно встановлений і налаштований. -
c
(config-files
) - у системі присутні лише файли конфігурації пакунка. -
U
(unpacked
) - пакунок розпакований, але ще не налаштований. -
F
(half-configured
) - пакунок розпакований, і налаштування було запущено, але ще не завершено з якоїсь причини. -
h
(half-installed
) - встановлений частково (встановлення пакунка було запущено, але не завершено з якоїсь причини). -
W
(triggers-awaiting
) - пакунок очікує обробки тригерів іншим пакунком. -
t
(triggers-pending
) - пакунок був запущений.
-
-
Стан помилки (якщо помилка відсутня, на цьому місці пропуск)
-
R
(reinst-required
) - пакунок зламаний, необхідне повторне встановлення.
-
Наприклад, позначення стану пакунка ii
означає це буде встановлено та встановлено, rc
- це буде вилучено, але файли конфігурації залишилися і т.д.
5.2.5. Підключення репозиторіїв
Більшість необхідних програм зберігаються в офіційних сховищах пакунків (репозиторіях) Ubuntu
, звідки вони завантажуються щоразу, коли ви щось встановлюєте. Однак, деяких застосунків (наприклад, які нещодавно з’явилися) в офіційних репозиторіях Ubuntu
немає, або ж вони є - але старих версій. У таких випадках, зазвичай, потрібно додати у систему нове джерело застосунків - новий репозиторій.
Зазвичай, у інструкціях по додаванні нового репозиторія вже наводяться готові команди, які залишається просто скопіювати у термінал і виконати. |
Наприклад, щоб встановити текстовий редактор Geany
, потрібно спочатку підключити його репозиторій, тобто додати у джерела застосунків вашої системи джерело, звідки він повинен встановлюватися і оновлюватися.
Додавання такого нового джерела можна виконати у терміналі за допомогою команди
sudo add-apt-repository ppa:geany-dev/ppa
Даний рядок можна прочитати так:
-
sudo
- виконати усі наступні команди від імені суперкористувача; -
add-apt-repository
- команда додавання репозиторія; -
ppa:geany-dev/ppa
- назва PPA-репозиторія, який додається у систему.
Після того, як репозиторій доданий, система Ubuntu
завантажить список пакунків, які є в цьому джерелі.
Встановлення самого пакунку виконується командою
sudo apt install geany
Крім того, у даному випадку, для текстового редактора Geany
можна ще встановити плагіни, виконавши наступну команду
sudo apt install geany-plugins
Для видалення доданого репозиторія (ppa:geany-dev/ppa
) необхідно скористатися наступною командою у терміналі
sudo add-apt-repository --remove ppa:geany-dev/ppa
або відкрити програму Програмне забезпечення та оновлення

та перейти на вкладку Інше програмне забезпечення

для видалення потрібного сховища. На цій вкладці можна також відключити репозиторії.
Застосунок Програмне забезпечення та оновлення можна відкрити, виконавши у терміналі команду sudo software-properties-gtk .
|
Окрім того, на вкладці Інше програмне забезпечення новий репозиторій можна додати універсальним способом. У цьому випадку, для коректного додавання PPA
у систему необхідно виконати дві дії:
-
додати посилання на репозиторій у системний список джерел пакунків;
-
додати цифровий підпис сховища у систему.
Другий пункт потрібен для того, щоб система встановлення пакунків не нагадувала про наявність ненадійних джерел. Саме для цього необхідно відвідати сторінку з відповідним описом PPA
(для прикладу, використаємо сторінку редактора для програмістів Geany
на Launchpad
).
На сторінці PPA
, як бачимо, наведені команди для встановлення даної програми за допомогою термінала
sudo add-apt-repository ppa:geany-dev/ppa
sudo apt update
Але у нашому випадку натискаємо на Technical details about this PPA
:

Якщо Launchpad
автоматично не визначив версію Ubuntu
, необхідно обрати свою версію у випадаючому списку.
Два рядки у рамці - це два рядки з описом репозиторія (перший - для бінарних пакунків, другий - для початкових кодів), які треба додати до списку джерел програмного забезпечення у системі.
Отже, на вкладці Інше програмне забезпечення необхідно натиснути кнопку Додати, у вікні, що з’явилося, ввести значення рядка для бінарних пакунків і натиснути Додати джерело

Оскільки було підключене нове джерело програмного забезпечення, необхідно оновити інформацію про пакунки, тому з’явиться вікно з пропозицією це зробити.
Після оновлення інформації, пакунки, що містяться в доданому репозиторії, можна встановлювати стандартними засобами.
5.2.6. Flatpak-пакунки
Традиційний спосіб встановлення програм у Linux
- завантаження та встановлення пакунків з репозиторіїв дистрибутива. Причому, формати пакунків, способи розгортання і навіть версії бібліотек для різних збірок дистрибутивів дуже відрізняються. Це не дозволяло завантажити програму з Інтернету і запускати її на будь-якому Linux
-дистрибутиві.
Flatpack - це технологія портативних застосунків, підтримуваних у будь-якому дистрибутиві, яка створена командою розробників GNOME
. Flatpak пропонує систему для збирання самодостатніх пакунків для графічних застосунків, які не прив’язані до конкретних дистрибутивів Linux
і виконуються в спеціальному контейнері, який ізолює застосунок від решти системи.
Для зменшення розміру пакунку, контейнер включає лише специфічні для застосунку залежності, а базові системні і графічні бібліотеки (Gtk+
, Qt
, бібліотеки GNOME
і т.д.) оформлені у вигляді типових середовищ виконання, що підключаються.
Для розробників застосунків Flatpak
дає можливість спростити поширення своїх програм, що не входять в штатні репозиторії дистрибутивів, за рахунок підготовки одного універсального контейнера без формування окремих збірок для кожного дистрибутива.
Для користувачів, що піклуються про безпеку, Flatpak
дозволяє запустити застосунок, що викликає сумніви, у контейнері, надавши доступ тільки до мережевих функцій та файлів користувача, пов’язаних із застосунком.
Технологія Flatpak
намагається упакувати програму з усіма її залежностями, щоб в будь-якому дистрибутиві і версії Linux
працювати незалежно від оновлення дистрибутива і не вимагаючи більше нічого.
Перед тим, як встановлювати застосунки з Flatpak
, необхідно встановити сам Flatpak
за допомогою термінала (Flatpak
доступний для найбільш поширених дистрибутивів Linux
).
Виконаємо встановлення Flatpak
для Ubuntu
.
Офіційний Flatpak PPA
- рекомендований спосіб встановлення Flatpak
. Тому для встановлення необхідно відкрити термінал Ctrl+Alt+T і ввести наступні команди
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt install flatpak
Щоб встановлювати застосунки без необхідності використання командного рядка, можна встановити плагін програмного забезпечення Flatpak
sudo apt install gnome-software-plugin-flatpak
Щоб мати можливість встановлювати застосунки з Flathub , необхідно додати віддалений сервер (репозиторій) Flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Після завершення встановлення, необхідно перезавантажити систему.
Для системи |

Встановити потрібний застосунок в Ubuntu
за допомогою Flatpak
можна кількома способами. Розглянемо ці способи на прикладі встановлення текстового редактора Atom
.
-
Через застосунок
GNOME Software
(Програми), слідуючи стандартним крокам встановлювача.
Варто звернути увагу на джерело застосунку на сторінці встановлення: у випадку Flatpak джерело матиме назву dl.flathub.org . Для точності пошуку саме застосунку Flatpak в рядку пошуку можна дописати до назви застосунку слово flatpak .
|
-
Використати командний рядок, увівши у терміналі команди для встановлення застосунку
flatpak install flathub io.atom.Atom
де flathub
- сайт-репозиторій Flathub із застосунками, а io.atom.Atom
- це ідентифікатор застосунку.
Команди встановлення/запуску можна переглянути на сторінці застосунку Atom на сайті Flathub (аналогічно і для інших застосунків).
|
-
Встановити застосунок можна локально за допомогою файла формату
.flatpakref
, встановивши його із каталогу, у який він був завантажений з Інтернету, наступною командою у терміналі
flatpak install io.atom.Atom.flatpakref
-
Використати повний шлях до застосунку із сайту Flathub
flatpak install --user https://flathub.org/repo/appstream/io.atom.Atom.flatpakref
Як тільки програма встановлена, її можна запустити за допомогою команди запуску та ідентифікатора програми
flatpak run io.atom.Atom
Щоб переглянути список програм та встановлених середовищ за допомогою Flatpak
, виконайте у терміналі команду
flatpak list
Крім того, для виведення лише списку встановлених програм, скористайтеся наступною командою
teacher@teacher-VirtualBox:~/Стільниця$ flatpak list --app
Назва Ід. програми Версія Гілка Встановлення
Atom io.atom.Atom 1.51.0 stable system
Напис system говорить про те, що застосунок був встановлений для усієї системи. У випадку встановлення застосунку для поточного користувача напис був би таким: user .
|
Програми Flatpak
можна знайти в будь-якому з віддалених репозиторіїв, використовуючи команду пошуку search
teacher@teacher-VirtualBox:~/Завантаження$ flatpak search gimp
Назва Опис Ід. програми Версія Гілка Сховища
GNU Imag… Створення зображень та редаг… org.gimp.GIMP 2.10.22 stable flathub
Щоб оновити всі встановлені програми до останньої версії, виконайте у терміналі
flatpak update
Для видалення застосунку за допомогою Flatpak
необхідно у терміналі виконати команду
flatpak uninstall io.atom.Atom
5.2.7. Snap-пакунки
Snap - це новий формат пакунків програмного забезпечення, який вперше з’явився в Ubuntu 16.04
. Саме Canonical
представила нову систему встановлення і управління програмним забезпеченням, позиціонуючи її як більш стабільну і безпечну.
Snap
-пакунок - це контейнер, в якому знаходиться застосунок і його залежності.
Навіщо потрібні Snap
-пакунки для встановлення програм, якщо є вже deb
-пакунки?
Поширення Snap
-пакунків покликане стандартизувати і допомогти програмістам випускати свої застосунки для різних систем, не замислюючись про залежності. Іншими словами, один раз створений Snap
-пакунок для того чи іншого застосунку, може бути встановлений у будь-якому дистрибутиві Linux
, що підтримує встановлення даних пакунків.
Крім того, додати підтримку встановлення Snap
-пакунків в дистрибутив не складно. Це ні в якому разі не замінює інші упорядники пакунків, а лише доповнює їх.
Список дистрибутивів, які підтримують встановлення застосунків за допомогою Snap -пакунків, можна переглянути на сайті https://snapcraft.io . Ознайомитися з офіційною документацією Snap можна за адресою https://docs.snapcraft.io/core .
|
Щоб переглянути список доступних Snap
-пакунків, у терміналі необхідно виконати команду
sudo snap find назва
де назва - це назва або частина назви програми.
Якщо необхідно виконати пошук пакунку програми з назвою, яка складається з кількох слів, то слова беруть у лапки
teacher@teacher-VirtualBox:~$ sudo snap find "video player"
Назва Версія Видавець Примітки Підсумок
vlc 3.0.11 videolan✓ - The ultimate media player
...
musicarley 3.0.0 bocata.apps - Music and video player free for everyone.
sdlpop 1.21 snapcrafters - SDLPoP
telemetrytv 3.9.1 telemetrytv3 - TelemetryTV Player
movian 5.0.566 andoma - Media player
...
mpc-hc 0.1 the-mentor - Media Player Classic - Home Cinema (MPC-HC)
...
У загальному вигляді команда встановлення Snap
-пакунку виглядає наступним чином
sudo snap install ім'я_пакунку
Дізнатися імена пакунків можна у таблиці результатів пошуку Snap
-пакунків за допомогою команди find
у колонці Назва - це і є імена пакунків.
Для прикладу, встановимо програму hello-world
, яка виводить однойменне повідомлення, за допомогою Snap
teacher@teacher-VirtualBox:~$ sudo snap find "hello-world"
Назва Версія Видавець Примітки Підсумок
hello-world 6.4 canonical✓ - The 'hello-world' of snaps
teacher@teacher-VirtualBox:~$ sudo snap install hello-world
hello-world 6.4 від Canonical✓ встановлено
teacher@teacher-VirtualBox:~$ hello-world
Hello World!
Щоб відобразити список усіх встановлених Snap
-пакунків в систему, необхідно ввести у терміналі наступну команду
teacher@teacher-VirtualBox:~$ snap list
Назва Версія Ред Відстеження Видавець Примітки
core 16-2.48.2 10583 latest/stable canonical✓ core
core18 20201210 1944 latest/stable canonical✓ base
gnome-3-34-1804 0+git.3556cb3 66 latest/stable/… canonical✓ -
gtk-common-themes 0.1-50-gf7627e4 1514 latest/stable/… canonical✓ -
hello-world 6.4 29 latest/stable canonical✓ -
snap-store 3.38.0-59-g494f078 518 latest/stable/… canonical✓ -
snapd 2.48.2 10707 latest/stable canonical✓ snapd
Для оновлення встановлених Snap
-пакунків використовують команду
teacher@teacher-VirtualBox:~$ sudo snap refresh
Всі snap-пакунки актуальні.
а для оновлення якогось конкретного пакунку наступний формат команди
sudo snap refresh ім'я_пакунку
Для видалення Snap
-пакунків користуються таким синтаксисом
sudo snap remove ім'я_пакунку
Встановлені Snap
-пакунки можна вимикати (вони не будуть оновлюватися) і вмикати, виконуючи, відповідно, команди
teacher@teacher-VirtualBox:~$ sudo snap disable hello-world
hello-world вимкнено
teacher@teacher-VirtualBox:~$ sudo snap enable hello-world
hello-world увімкнено
Встановлення Snap -пакунків можна виконувати не лише за допомогою термінала. Як вже було сказано, підтримка Snap -пакунків включена в застосунок Ubuntu Software ![]() Ubuntu Software на сторінці встановлення для Snap -застосунків вказується джерело snapcraft.io .
|
5.3. Додаткові налаштування
5.3.1. Ubuntu Restricted Extras (мультимедіа, шрифти)
Для відтворення найбільш популярних мультимедійних форматів (MP3
, MPEG4
, AVI
та ряду інших), додавання шрифтів Microsoft
(Arial
, Verdana
, Georgia
та інших) необхідно встановити пакунок Ubuntu Restricted Extras
.
Для цього у терміналі (Ctrl+Alt+T) необхідно виконати наступну команду
sudo apt install ubuntu-restricted-extras
Під час встановлення шрифтів з даного пакунку з’являється повідомлення ліцензії

і встановлення не продовжиться, доки не натиснути Гаразд. Для цього необхідно натиснути стрілку праворуч → і клавішу Enter. Після чого з’явиться наступне повідомлення

Таким же чином, стрілками клавіатури вибираємо варіант Так, натискаємо клавішу Enter і чекаємо завершення встановлення.
5.3.2. Додаткові архівні формати
В системі Ubuntu
вже присутній менеджер архівів, який підтримує ряд архівних форматів (zip
, gzip
та інших), додатково його встановлювати не потрібно.

Після встановлення додаткових архіваторів у систему даний менеджер архівів побачить нові формати. Для цього необхідно виконати у терміналі наступну команду
sudo apt install p7zip-rar rar unrar unace arj cabextract
5.3.3. Застосунки для налаштування системи
Налаштування середовища GNOME (Settings, Параметри)
В Ubuntu
із середовищем робочого столу GNOME
вже є інструмент налаштувань, який називається Параметри, і його можна знайти за допомогою пошуку у списку застосунків.

Даний застосунок містить величезну кількість налаштувань системи

Розширене налаштування GNOME (Tweaks, Налаштування)
Цей застосунок дозволяє коригувати додаткові параметри середовища GNOME
.
Для встановлення застосунку для розширеного налаштування GNOME можна скористатися застосунком Ubuntu Software (Програми Ubuntu).
|
5.3.4. Alacarte (редактор головного меню)
Alacarte
- редактор меню встановлених застосунків для робочого середовища
GNOME
. Встановити застосунок можна через термінал командою
sudo apt install alacarte

5.3.5. dconf (налаштування встановлених програм)
dconf
- система конфігурації, яка основана на ключах і за допомогою якої у GNOME
зберігаються налаштування більшості програм. Для того, щоб встановити редактор dconf
, необхідно відкрити термінал та виконати наступну команду
sudo apt install dconf-editor
Після встановлення редактора у списку застосунків його можна знайти так

Як використовувати редактор dconf
?
Наприклад, необхідно перемістити значок у верхню частину (на початок) панелі обраних застосунків.
Панель обраних застосунків, панель швидкого запуску, панель задач - це різні назви однієї панелі. |
Для цього треба відкрити редактор dconf
, ввести в пошук show-apps-at-top
і натиснути клавішу Enter

Далі перемістити в даному параметрі перемикач і значок з’явиться у верхній частині (на початку) панелі.
5.3.6. GParted (редактор дискових розділів)
GParted (GNOME Partition editor)
- редактор дискових розділів, що використовується для різних операцій з розділами (створення, видалення, зміни розміру, переміщення, перевірки, копіювання й призначення мітки «завантажувальний») та розміщеними на них файловими системами (форматування).
Використовується при створенні простору для нових операційних систем, реорганізації використання диска, копіюванні даних з жорстких дисків та у створенні образу диска.

Для встановлення GParted
в Ubuntu
у терміналі необхідно виконати команду
sudo apt install gparted
5.4. Створення ярликів для програм
В Ubuntu
будь-яку встановлену у систему програму можна відкрити через кнопку Показати програми , що розташована на панелі обраних застосунків. Увівши у рядок пошуку назву програми (або частину її назви), ярлик запуску програми з’явиться у списку.
Ярлики встановлених застосунків зберігаються у двох каталогах, один з яких системний - /usr/share/applications
, а інший знаходиться у каталозі кожного з користувачів системи за адресою ~/.local/share/applications/
.
Ярлики представляють із себе текстові файли з розширенням .desktop
teacher@teacher-VirtualBox:~$ cd /usr/share/applications
teacher@teacher-VirtualBox:/usr/share/applications$ ls
alacarte.desktop
apport-gtk.desktop
apturl.desktop
audacity.desktop
blender.desktop
...
А самі текстові файли мають схожу структуру, як на зразку
teacher@teacher-VirtualBox:/usr/share/applications$ cat processing.desktop
[Desktop Entry]
Version=3.5.4
Name=Processing 3
Comment=Processing
Exec=/usr/local/bin/processing %F
Icon=/opt/Processing/3.5.4/lib/icons/pde-256.png
Terminal=false
Type=Application
Categories=AudioVideo;Video;Graphics;
Ось кілька важливих параметрів, які часто використовуються:
Name
-
ім’я застосунку, яке відображається під значком у списку встановлених програм (обов’язковий);
Comment
-
текстовий коментар;
Exec
-
шлях до застосунку (обов’язковий);
Terminal
-
запускати (
True
) чи ні (False
) застосунок у вікні термінала; Icon
-
шлях до системного значка програми; .
Тобто, для створення ярлика (launcher
) для запуску застосунку, необхідно створити текстовий файл з назвою application-name.desktop
, де application-name
- це назва застосунку, вказати у текстовому файлі відповідні параметри і зберегти файл ярлика у каталог ~/.local/share/applications
.
Для поточного користувача за допомогою терміналу це можна виконати так:
gedit ~/.local/share/applications/application-name.desktop
Щоб знайти шлях до встановленої програми у терміналі використовуйте вже відомі команди which
або whereis
з назвою програми, наприклад, так
teacher@teacher-VirtualBox:~$ which processing
/usr/local/bin/processing
teacher@teacher-VirtualBox:~$ whereis processing
processing: /usr/local/bin/processing
Якщо необхідно створити ярлик програми у системному каталозі, то потрібно буде виконувати команду з правами суперкористувача і відповідним шляхом /usr/share/applications
sudo gedit /usr/share/applications/application-name.desktop
Ярлики, створені вказаними способами, можна скопіювати на стільницю і через контекстні меню ярликів дозволити їх запуск. |
5.5. Планувальник завдань
Дуже часто у Linux
виникає необхідність автоматизувати виконання власних користувацьких задач з адміністрування системи.
Для автоматизації процесу виконання певних задач користувачів за розкладом у систему Ubuntu
інтегрована програма cron
.
cron - програма-демон, призначена для виконання завдань у певний час, або через певні проміжки часу. |
Для додавання нових або редагування вже створених запланованих користувацьких завдань використовується файл конфігурації crontab
.
Кожен користувач системи має свій файл завдань crontab
, в якому описано, в який час і які команди і програми запускати від імені цього користувача.
Для редагування файла crontab
використовується спеціальна однойменна команда crontab
, яка дозволяє не переривати процес cron
на час редагування за допомогою наступних команд:
-
-e
- команда запуску файлаcrontab
для його редагування (від англ.edit
); -
-l
- команда запуску файла для перегляду його вмісту (від англ.list
); -
-r
- видалити файлcrontab
для поточного користувача (видалити свійcrontab
) (від англ.remove
).
Кожний рядок у файлі crontab
складається з п’яти колонок, що відокремлюються пропусками чи табуляціями. Кожна колонка задає час виконання:
-
хвилина;
-
година;
-
день;
-
місяць;
-
день тижня.
# .---------------- хвилина (0 - 59)
# | .------------- година (0 - 23)
# | | .---------- день місяця (1 - 31)
# | | | .------- місяць (1 - 12) АБО jan,feb,mar,apr ...
# | | | | .---- день тижня (0 - 6) (неділя=0 чи 7) АБО sun,mon,tue,wed,thu,fri,sat
# | | | | |
* * * * * виконувана команда
Значення цих колонок можуть містити число, список чисел, або символ ∗
. Решта символів в рядку інтерпретуються як виконувана команда та її параметри.
Значення колонок файла crontab можна генерувати за допомогою редактора для виразів розкладу crontab.guru .
|
Створимо завдання для запуску певного застосунку кожної неділі о 23
годині.
Відкриємо файл crontab
(при першому запуску необхідно обрати редактор для редагування файла), виконавши у терміналі команду
sudo crontab -e
і запишемо у кінець файла наступний рядок
0 23 * * 7 /шлях/до/застосунку
5.6. Автозавантаження програм
Необхідність автоматичного завантаження деяких застосунків при завантаженні системи виникає досить часто.
В Ubuntu
є спеціальна програма для управління автозапуском. Знайти її можна у списку застосунків головного меню системи. Називається вона Початкові програми

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

Список не містить ніяких системних програм і сервісів, лише застосунки, пов’язані з обліковим записом конкретного користувача.
Для додавання своєї програми в автозапуск необхідно натиснути кнопку Додати

Поля Назва: та Коментар: можна заповнити на власний розсуд, а в поле Команда: необхідно записати команду для запуску застосунку або вибрати шлях до програми, використавши кнопку Огляд….
У випадку, якщо ви не знаєте де знайти програму або як пишеться її команда, можна використати утиліту Головне меню, відшукавши її у списку застосунків системи.
Далі, знайдіть у списку програм потрібний застосунок і натисніть кнопку Властивості

Тепер просто скопіюйте значення поля Команда: (Command:)

у програму налаштування автозапуску.
5.7. Оновлення програмного забезпечення і системи
Розробка Ubuntu відбувається так, що нові версії програм поширюються тільки з релізом дистрибутива, а потім приходять тільки оновлення, які виправляють баги і проблеми з безпекою, актуалізують системні пакунки, які часто потрібні як залежності для встановлення сторонніх програм.
|
Оновлювати програмне забезпечення системи Ubuntu
необхідно не тільки після того, як щойно її встановили на свій комп’ютер, а й періодично.
Крім того, якщо ви хочете також мати найновіші версії програмного забезпечення, то можете використовувати PPA
-репозиторії розробників і встановлювати програми звідти. Як правило, у PPA
-репозиторії розробники завжди завантажують найновіші версії.
Актуалізувати/оновити програмне забезпечення можна як через термінал, так і у графічному режимі.
В Ubuntu
передбачений механізм оновлення через застосунок Оновлення програм.
Це програма з графічним інтерфейсом, яка запускається час від часу і пропонує оновити систему, якщо були випущені нові оновлення. Даний керівник оновлень Ubuntu
досить простий і його можна запустити через

Відкривши застосунок, розпочнеться пошук оновлень

Після чого відкриється вікно Оновлення програм

Розкривши список Деталі оновлень , можна переглянути список оновлень, а також відзначити пункти навпроти деяких пакунків, які не потрібно оновлювати. |

Щоб повністю оновити програмне забезпечення системи, потрібно натиснути Встановити зараз.
Для оновлення програмного забезпечення через термінал можна скористатися упорядник пакунків apt.
Для цього необхідно виконати кілька команд.
sudo apt update
Дана команда оновлює інформацію про пакунки в доданих у систему репозиторіях. Якщо є оновлення, то можна дізнатися, які пакунки будуть оновлені, виконавши команду
sudo apt list --upgradable
Після чого необхідно виконати одну з наступних команд для оновлення програмного забезпечення системи. Перша з них
sudo apt upgrade
оновлює пакунки, які вже встановлені в системі і встановлює нові пакунки-залежності, а інша команда
sudo apt full-upgrade
оновлює пакунки, які вже встановлені в системі, встановлює нові пакунки-залежності і видаляє пакунки, які встановлювалися в систему і вже не використовуються.
Виконання команд у терміналі можна об’єднувати. Наприклад, у нашому випадку оновлення пакунків можна записати так
sudo apt update && sudo apt upgrade
Якщо програмне забезпечення системи оновлюється повільно, можна змінити сервер завантаження оновлень Ubuntu
. Необхідно відкрити , ввести у вікно пошуку Програмне забезпечення та оновлення і відкрити даний застосунок

Далі необхідно перейти на вкладку Програмне забезпечення Ubuntu і обрати сервер завантажень оновлень

Також варто підключити репозиторії партнерів Canonical
(за замовчуванням, ці репозиторії не підключені в систему). В даних репозиторіях міститься програмне забезпечення компаній-партнерів Canonical
. Ці репозиторії потрібні для оновлення в Ubuntu
застосунків із закритим початковим кодом.

Стандартні налаштування отримання оновлень можна змінити на вкладці Оновлення

Оновлення системи - це процес переходу з попереднього випуску до більш нового випуску операційної системи. Таким прикладом є перехід з версії Ubuntu 19.10 (Eoan Ermine) на версію Ubuntu 20.04 LTS (Focal Fossa) .
|
Для перевірки версії дистрибутива встановленої системи, використовуйте у терміналі команду lsb_release -a .
|
Для оновлення системи до новішої версії необхідно на вкладці Оновлення увімкнути опцію Повідомляти мене про нові версії (для будь-якої нової версії чи для версій з довгим терміном підтримки) і у терміналі виконати команду по запуску керівника оновлень з ключем -c
(для перевірки наявності нового релізу дистрибутива)
sudo update-manager -c
Або, у випадку, якщо використовується останній підтримуваний реліз, і необхідно його оновити до релізу, який розробляється, то виконати запуск керівника оновлень з ключем -d
sudo update-manager -d
Після цього погодитись із оновленням системи та дотримуватись вказівок на екрані.
При оновленні Ubuntu з підключеними сторонніми PPA -репозиторіями можуть виникати помилки. Тому перед оновленням версії дистрибутива рекомендується такі репозиторії тимчасово відключити.
|
6. Програмне забезпечення
У цьому розділі підручника описані різні способи встановлення типового програмного забезпечення для вирішення багатьох повсякденних і навчальних задач в Ubuntu .
|
6.1. Браузери
Популярний безкоштовний браузер Mozilla Firefox , створений компанією Mozilla Foundation , входить в стандартний набір попередньо встановлених застосунків в Ubuntu .
|
Виконаємо встановлення в Ubuntu
іншого популярного безкоштовного браузера Google Chrome , розробленого Google Inc.
Існує два офіційних способи встановлення браузера Chrome
:
-
використовування репозиторію
Google Chrome PPA
; -
безпосереднє завантажування та встановлення пакунків
.deb
.
6.1.1. Встановлення Google Chrome з використанням PPA
-
Використаємо офіційний репозиторій
(PPA)
програмного забезпеченняGoogle
, який буде автоматично встановлювати і налаштовувати параметри, необхідні для оновлення браузераChrome
.
Перед встановленням сховища нам необхідно завантажити та встановити ключ підпису пакунку, який автоматично налаштує упорядник пакунків для перевірки цілісності пакунків перед завантаженням і встановленням в систему.
У системах на базі Debian
(Ubuntu
, Linux Mint
і т.д.) використовуйте команду wget для завантаження ключа, а потім використовуйте apt-key
, щоб додати його в систему
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
-
Після додавання ключа необхідно виконати наступну команду, щоб додати
Chrome
-репозиторій у власні системні джерела програмного забезпечення
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
-
Після додавання
Chrome
-сховища необхідно оновити програмне забезпечення системи. Для оновлення доданогоChrome
-репозиторія, використовують наступну команду
sudo apt update
-
На цьому кроці обираємо встановлення стабільної версії браузера
sudo apt install google-chrome-stable
6.1.2. Встановлення Google Chrome з використанням пакунків .deb
-
Перейдіть на сторінку завантаження
Google Chrome
і виберіть відповідний пакунок, або використайте наступну командуwget
для завантаження (1) і встановлення (2) останньої версії
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb (1)
sudo dpkg -i google-chrome-stable_current_amd64.deb (2)
-
Після встановлення,
Google Chrome
можна запустити з використанням термінала наступною командою
google-chrome-stable
6.1.3. Видалення Google Chrome
Щоб видалити браузер, використовуйте наступну команду
sudo apt remove google-chrome-stable
6.2. JRE
JRE - середовище виконання для Java , яке використовується у різному програмному забезпеченні для виконання Java
-застосунків. Для встановлення середовища віртуальної машини в Ubuntu
використаємо наступні команди у терміналі
sudo apt update
sudo apt install default-jre
6.3. Office і видавничі системи
6.3.1. LibreOffice
LibreOffice - кроcплатформовий офісний пакунок, вільний аналог Microsoft Office
. Перекладений багатьма мовами світу, в тому числі і українською. Підтримує більшість популярних операційних систем, включаючи GNU/Linux
.
LibreOffice
безкоштовний як для приватного, так і для освітнього або комерційного використання. Може використовуватися без будь-яких ліцензійних зборів будь-ким.
Основним форматом файла LibreOffice
є відкритий формат офісних документів OpenDocument. Окрім того, LibreOffice
підтримує формати Microsoft Office
та інших офісних пакунків для досягнення максимальної сумісності.
LibreOffice є офісним пакунком, вбудованим в Ubuntu за замовчуванням.
|
6.3.2. WPS Office
WPS Office (абревіатура для Writer
, Presentation
і Spreadsheets
, відомий також раніше як Kingsoft Office
) - проєкт, який створений китайськими розробниками і розвивається як аналог офісного пакунку MS Office
, написаний на Qt
і націлений на роботу в Microsoft Windows
, macOS
, Linux
, iOS
та Android
.
До складу WPS Office
входить текстовий процесор, система для створення презентацій і табличний процесор.
WPS Office
поширюється як безкоштовно, так і за підпискою:
-
Персональна базова версія безкоштовна.
-
Повнофункціональна версія професійного класу доступна за передплату.
WPS Office має звичний для користувачів MS Office інтерфейс та майже 100% суміснісний з форматами MS Office . Використання формату документів ODF потребує встановлення додаткового розширення.
|

Для встановлення WPS Office
у систему Linux Ubuntu
слід виконати наступні кроки:
-
Завантажити версію відповідної розрядності із сайту https://linux.wps.com/ і зберегти в окремий каталог.
-
Встановити завантажений пакунок. Для цього відкрити вікно терміналу у каталозі, де був збережений завантажений
deb
-пакунок і виконати команду, на зразок:
sudo dpkg -i wps-office_11.1.0.9719.XA_amd64.deb
-
Інтерфейс українською.
-
Завантажити архів uk_UA.7z з файлами локалізації і розпакувати в окремий каталог.
-
Використовуючи термінал, скопіювати каталог
uk_UA
з файлами локалізації інтерфейсу по шляху:
-
sudo cp -rax uk_UA/ /opt/kingsoft/wps-office/office6/mui/
-
Локалізація стартової сторінки.
-
Створити окремий каталог
uk_UA
для файла локалізації стартової сторінкиWPS Office
. -
Завантажити файл локалізації kstartpage.qm у створений каталог
uk_UA
. -
Використовуючи термінал, скопіювати каталог
uk_UA
з файлом локалізаціїkstartpage.qm
по шляху:
-
sudo cp -rax uk_UA/ /opt/kingsoft/wps-office/office6/addons/kstartpage/mui/
-
Український словник для перевірки правопису.
-
Завантажити архів uk_UA.zip словника і розпакувати в окремий каталог.
-
Використовуючи термінал, скопіювати каталог
uk_UA
з файлами словника по шляху:
-
sudo cp -rax uk_UA/ /opt/kingsoft/wps-office/office6/dicts/spellcheck/
-
Перезапустити
WPS Office
.
6.3.3. Scribus
Scribus - це видавнича система і програма для створення публікацій, яка дозволяє створювати плакати, журнали та книги. Scribus
підтримує основні типи текстових та графічних файлів, колірну схему CMYK
і може використовуватися для створення макету сторінок та підготовки файлів для друку, створення PDF
-файлів.

Існують версії програми для різних систем, в тому числі, і для Linux
, зокрема, Ubuntu
. Позиціонується як відкрита та безкоштовна альтернатива видавничим системам QuarkXPress та Adobe InDesign .
Для встановлення останньої версії програми Scribus можна скористатися застосунком Ubuntu Software (Програми Ubuntu).
|
6.4. Мультимедіа
Операційна система Linux
є пристосованою для роботи з різними мультимедійними даними. Існує достатня кількість програм для обробки звуку, зображень і відео, встановлення яких в Ubuntu
розглядається нижче.
6.4.1. Графічні редактори
Растровий редактор Pinta
Pinta - простий у використанні, легкий растровий графічний редактор.

Для встановлення останньої версії програми Pinta можна скористатися застосунком Ubuntu Software (Програми Ubuntu). Для встановлення нової версії використовуйте джерело snapcraft.io .
|
Растровий редактор GIMP
GIMP (The GNU Image Manipulation Program
) - безкоштовний растровий графічний редактор, із підтримкою векторної графіки.
Символом GIMP
є койот Вілбер (Wilber
). Програма працює у різних системах, в тому числі, і в Linux
.

До сфер застосування GIMP
належать цифрове ретушування знімків, створення цифрової графіки, комбінування й цифрова обробка зображень, автоматизовані операції над графічними файлами, перетворення файлів з одного формату в інший тощо. GIMP
часто використовується як вільна й безкоштовна альтернатива Adobe Photoshop
.
GIMP
доступний в офіційному репозиторії Ubuntu
. Для того, щоб встановити GIMP
, виконайте в терміналі наступну команду
sudo apt install gimp
В офіційних репозиторіях не завжди знаходиться остання версія.
GIMP можна встановити через застосунок Ubuntu Software (Програми Ubuntu), використовуючи джерело snapcraft.io для встановлення нової версії.
|
Для встановлення актуальної версії можна використати сховище PPA
, виконавши у терміналі наступні команди
sudo add-apt-repository ppa:ubuntuhandbook1/gimp
sudo apt install gimp
Векторний редактор Inkscape
Inkscape - вільний редактор векторної графіки з можливостями, подібними до можливостей Illustrator
, CorelDraw
.
Рідним форматом Inkscape
є SVG , окрім того, редактор підтримує читання і запис зображення у форматах OpenDocument Drawing
, DXF
, PNG
, WMF
, PDF
, EPS
та інших.
Програма може використовувати згладжування, регулювання прозорості, створення градієнтів заповнення, має вбудований набір готових шаблонів (наприклад, стрілок), може працювати з векторними шрифтами. Перевагою програми є широкий набір ефектів, які можна застосовувати для створення різноманітного роду зображень художнього та дизайнерського призначення.

Для встановлення актуальної версії використайте наступні команди у терміналі
sudo add-apt-repository ppa:inkscape.dev/stable
sudo apt install inkscape
6.4.2. Плеєри
Rhyntmbox
Rhythmbox - вільний аудіопрогравач і каталогізатор для графічного середовища GNOME
. Призначений для зручного прослуховування музики, впорядкування музичної колекції, здатний програвати усі поширені аудіоформати.
Аудіоплеер Rhythmbox використовується за замовчуванням в дистрибутиві Ubuntu .
|
SMPlayer
SMPlayer - це один з найпростіших мультимедійних плеєрів для Linux
. Програма встановлюється з вбудованими кодеками, і готова відкрити усі популярні формати з коробки.

Щоб встановити SMPlayer
, виконайте у терміналі наступні команди
sudo add-apt-repository ppa:rvm/smplayer
sudo apt-get install smplayer smplayer-themes smplayer-skins
Для видалення програми SMPlayer
виконайте у терміналі команди
sudo apt remove smplayer
6.4.3. Аудіоредактори
Audacity
Audacity - вільний багатоплатформовий редактор звукових файлів, орієнтований на роботу з декількома доріжками. Дозволяє виконувати такі функції, як редагування звукових файлів (Ogg Vorbis
, FLAC
, MP3
і WAV
), запис, оцифрування звуку, зміна параметрів звукового файла, накладення треків і застосування ефектів (наприклад, приглушення шуму, зміна темпу і тону).

Audacity можна встановити через застосунок Ubuntu Software (Програми Ubuntu), використовуючи джерело snapcraft.io для встановлення нової версії.
|
6.4.4. Відеоредактори
Kdenlive
Kdenlive - вільна система нелінійного відеомонтажу початкового рівня.
Відеоредактор призначений для напівпрофесійного використання і підтримує всі базові операції з редагування відео, наприклад, дозволяє використовуючи шкалу часу, довільно змішувати відео, звук і зображення, а також застосовувати різні ефекти.

Для встановлення відеоредактора Kdenlive
в Ubuntu
використаємо сховище PPA
і наступні команди
sudo add-apt-repository ppa:kdenlive/kdenlive-stable
sudo apt install kdenlive
Для видалення Kdenlive
використайте у терміналі наступну команду
sudo apt remove --autoremove kdenlive
6.4.5. 3D-редактори
Sweet Home 3D
Sweet Home 3D - безкоштовний Java
-застосунок дизайну інтер’єру з швидким вибором та розміщенням меблів у 2D
-плані будинку з можливістю 3D
-перегляду.

Для встановлення програми Sweet Home 3D можна скористатися застосунком Ubuntu Software (Програми Ubuntu ), використовуючи джерело snapcraft.io для встановлення нової версії.
|
Blender
Blender - безкоштовний пакунок для створення тривимірної комп’ютерної графіки, що включає в себе засоби моделювання, анімації, рендеринга, постобробки відео, а також для створення ігор. Один з найпопулярніших 3D
-графічних застосунків у світі з відкритим початковим кодом.
Для встановлення програми Blender можна скористатися застосунком Ubuntu Software (Програми Ubuntu ), використовуючи джерело snapcraft.io для встановлення нової версії.
|
6.5. Навчальні програми
6.5.1. GCompris
GCompris - комплекс навчального програмного забезпечення, що складається з багатьох вправ для дітей від 2
до 10
років, які є ігровими і містять елементи навчання. У поточній версії GCompris
понад 100
вправ. GCompris
є вільним програмним забезпеченням.

Для встановлення GCompris слідуйте вказівкам з офіційного сайту програми.
|
6.6. Системи програмування
6.6.1. Lazarus
Lazarus - вільне середовище розробки програмного забезпечення для компілятора Free Pascal Compiler
. Інтегроване середовище розробки надає можливість багатоплатформової розробки застосунків в Delphi
-подібному оточенні.

Для встановлення Lazarus
в Ubuntu
необхідно виконати кілька кроків.
-
Завантажити
deb
-пакунки із офіційного сайту відповідної розрядності, наприклад, 64-бітні:-
fpc-src_3.2.0-1_amd64.deb (джерела
fpc
та його пакунки, необхідні для перегляду коду) -
fpc-laz_3.2.0-1_amd64.deb (компілятор, деякі інструменти командного рядка, базові блоки та невізуальні компоненти, такі як доступ до бази даних)
-
lazarus-project_2.0.10-0_amd64.deb (
IDE
, візуальні компоненти та файли довідки)
-
-
Встановити завантажені пакунки в такому порядку, як показано у списку вище, за допомогою утиліти
dpkg
. Для цього у терміналі необхідно виконати подану нижче команду три рази (кожен раз з новою назвою пакунку)
sudo dpkg -i назва_пакунку.deb
У разі появи помилок при встановленні пакунків (іноді, при роботі з упорядниками пакунків, виникає проблема з неналаштованими залежностями пакунків) виконайте у терміналі команду
sudo apt -f install
Ще одним способом встановлення програми є використання упорядника пакунків Synaptic .
|
6.6.2. Geany
Geany - вільний текстовий редактор з базовими елементами інтегрованого середовища розробки, доступний для різних операційних систем, в тому числі, і Linux
.

Для встановлення Geany
в Ubuntu
використаємо сховище PPA
і наступні команди у терміналі
sudo add-apt-repository ppa:geany-dev/ppa
sudo apt install geany
6.6.3. Sublime Text
Sublime Text 3 - швидкий кросплатформенний текстовий редактор.
Sublime Text
не є вільним чи відкритим програмним забезпеченням, але деякі його плагіни розповсюджуються з вільною ліцензією, розробляються і підтримуються спільнотою розробників.
Редактор можна використовувати вільно, хоча, час від часу, з’являється повідомлення про придбання ліцензії і у рядку заголовка програми присутній напис UNREGISTERED
.

Для встановлення Sublime Text
в Ubuntu
необхідно виконати кілька кроків.
-
Встановити ключ GPG
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
-
Переконатися, що
apt
створено для роботи з джереламиhttps
sudo apt install apt-transport-https
-
Вибрати канал для використання стабільної версії програми
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
-
Оновити джерела програмного забезпечення та встановити
Sublime Text
sudo apt update
sudo apt install sublime-text
6.6.4. Processing
Processing - інтегроване середовище розробки (IDE
) та мова програмування, основана на Java , для вивчення програмування в контексті візуального мистецтва.
В Processing можна додати режими альтернативних інтерфейсів для програмування - JavaScript (p5js.org ), Python та інші. Завдяки цьому, Processing - це не просто одна мова, а художньо-орієнтований підхід до навчання, викладання та творчості за допомогою коду.
|

Для встановлення Processing
необхідно завантажити файл-архів з офіційного сайту, розпакувати і запустити на виконання файл
install.sh
(для видалення застосунку запустити на виконання файл uninstall.sh
). Відкрити Processing
можна за допомогою кнопки Показати програми , що розташована на панелі обраних застосунків.
6.7. Віддалене керування в локальній мережі
6.7.1. Epoptes
Epoptes - інструмент керування та моніторингу комп’ютерів мережі. Програма дозволяє здійснювати трансляцію та моніторинг на екрані, віддалене виконання команд, відправлення повідомлень, накладання обмежень, таких як блокування екрана або звуку та багато іншого.

Epoptes
складається з серверного пакунку під назвою epoptes
і клієнтського пакунку під назвою epoptes-client
.
Серверний пакунок встановлюють на комп’ютер, з якого буде здійснюватись контроль клієнтів, а клієнські пакунки, відповідно, - на інші комп’ютери мережі. |
Сервер
-
Встановити серверний пакунок на комп’ютер (
teacher
), з якого буде здійснюватись керування комп’ютерами-клієнтами, виконавши у терміналі команду
sudo apt install epoptes
sudo apt install --install-recommends epoptes
-
Далі необхідно додати користувачів до групи epoptes, яким буде дозволено запускати графічний інтерфейс програми та керувати клієнтами (щоб зміни почали діяти, необхідно вийти із системи і знову залогуватись)
teacher@teacher-VirtualBox:~$ sudo gpasswd -a teacher epoptes
Додавання нового користувача teacher до групи epoptes
Клієнт
-
Перш ніж встановити пакунок
epoptes-client
на комп’ютер клієнта (student
), необхідно повідомити клієнту, як зв’язатися з комп’ютером-сервером.
Розглянемо варіант, коли комп’ютер-сервер epoptes має статичну IP -адресу.
|
-
Виконайте у терміналі команду
sudo nano /etc/hosts
на усіх клієнських комп’ютерах і у файлі /etc/hosts
запишіть рядок у форматі ip_адреса server
, де ip_адреса - статична IP
-адреса комп’ютера-сервера в мережі (наприклад, рядок може бути таким 192.168.1.20 server
).
-
Натисніть сполучення клавіш Ctrl+X, а потім клавішу Y для збережння змін у файлі.
-
Виконайте наступні команди у терміналі від суперкористувача
sudo apt install --install-recommends epoptes-client
sudo epoptes-client -c # Завантажує сертифікат OpenSSL із сервера
Зверніть увагу, що пакункам заборонено запускати програми всередині сеансу користувача, тому необхідно перезавантажити комп’ютери-клієнти, щоб встановлення epoptes-client набуло чинності.
|
7. Мережа
У цьому розділі розглядається налаштування дротового підключення комп’ютерів під управлінням Ubuntu до однорангової локальної мережі. Припускається, що з’єднання з Інтернетом відбувається, орієнтовно, за такою схемою: локальна мережа - комутатор - маршрутизатор - провайдер Інтернету.
|
7.1. IP-адреси та імена комп’ютерів
Кожен комп’ютер в мережі потрібно певним чином ідентифікувати. Для цього використовуються IP-адреси . Якщо необхідно будь-яким чином взаємодіяти з іншим комп’ютером по мережі, потрібно дізнатися його IP
-адресу.
Щоб дізнатися IP
-адресу комп’ютера у локальній мережі, використовують одну з команд:
-
ip addr show
; -
hostname -I
.
Інформація про усі мережеві підключення на даному комп’ютері, в результаті виконання поданих команд у терміналі, може буде такою
teacher@teacher-VirtualBox:~$ hostname -I
192.168.1.9 (1)
teacher@teacher-VirtualBox:~$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo (2)
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:47:51:82 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.9/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s3 (3)
valid_lft 6830sec preferred_lft 6830sec
inet6 fe80::75a3:fcf1:3301:5d4a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
teacher@teacher-VirtualBox:~$
-
Результатом виконання команди
hostname -I
є192.168.1.9
-IP
-адреса комп’ютера в локальній мережі. -
Виконання команди
ip addr show
має кілька результатів, які записані після словаinet
. Перший з них - це127.0.0.1
- внутрішняIP
-адреса комп’ютера, яка потрібна для того, щоб програми могли взаємодіяти між собою в межах цього комп’ютера, використовуючи мережеві протоколи (наприклад, так браузер може отримати доступ до локального вебсерверу). -
Другий результат виконання команди
ip addr show
-192.168.1.9
-IP
-адреса комп’ютера в локальній мережі.
Для того, щоб дізнатися, які IP
-адреси є вільними або вже зайнятими в локальній мережі, можна використати команду nmap
.
Пакунок nmap за замовчуванням не входить в дистрибутив Ubuntu , тому спочатку його необхідно встановити.
|
Для установки пакунку nmap
у терміналі необхідно виконати команду
sudo apt install nmap
або
sudo snap install nmap
Для отримання списку IP
-адрес команда nmap
використовує такий синтаксис (опція -v
дозволяє виводити більше інформації в процесі сканування)
nmap -v -sn 192.168.1.9/24
де 192.168.1.9
- IP
-адреса комп’ютера, на якому запускається команда nmap
. Опція -sn
забороняє сканування портів у разі виявлення комп’ютера в мережі, а лише роздруковує наявні хости, які відповіли на запит виявлення хоста.
Як правило, ім’я комп’ютера або, по-іншому, ім’я хоста (hostname
), вказується під час встановлення операційної системи і не змінюється в процесі використання системи. Це ім’я постійно присутнє в терміналі перед запрошенням введення команди. Наприклад, у такому записі
teacher@teacher-VirtualBox:~$
ім’ям комп’ютера буде teacher-VirtualBox
. Окрім того, дізнатися поточне ім’я комп’ютера можна, виконавши команду hostname
у терміналі:
teacher@teacher-VirtualBox:~$ hostname
teacher-VirtualBox
Не використовуйте два однакових імені для комп’ютерів в одній локальній мережі, оскільки це може викликати проблеми з різними мережевими сервісами, але найочевидніше - не можна буде ідентифікувати окремий комп’ютер. |
Якщо виникає потреба у редагуванні імені комп’ютера, необхідно звернутися до файлів hosts
і hostname
, які можна відкрити, виконавши у терміналі відповідні команди
sudo gedit /etc/hosts
і
sudo gedit /etc/hostname
Далі у файлах замінити старі назви на нові і зберегти зміни. Після усіх проведених дій комп’ютер необхідно перезавантажити.
7.2. Менеджер мережі
В Ubuntu
найпростішим варіантом налаштування підключення до мережі виконується за допомогою програми Network Manager
, яка дозволяє здійснювати налаштування різних видів підключень.
Аплет (значок) самої програми знаходиться в області повідомлень (поряд із значками розкладки клавіатури, гучності, живлення). Ось так виглядає аплет (зображення трьох, з’єднаних між собою, комп’ютерів) із вже підключеним дротовим з’єднанням до мережі

Якщо клікнути мишкою по цьому значку, то відкриється меню, в якому буде відображатися реальна інформація про доступні і активні підключення (дротові і бездротові), якщо такі були встановлені

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

У вікні, що відкрилося, на вкладці Подробиці можна переглянути узагальнену інформацію про з’єднання (швидкість сполучення, IP
-адресу, типовий маршрут тощо)

На вкладці Засвідчення можна змінити інформацію про назву з’єднання і MAC-адресу з’єднання

За замовчуванням, у версії Ubuntu для настільних комп’ютерів, увімкнено DHCP. Таким чином, якщо у мережі є сервер DHCP (варіант з роутером, який під’єднаний до провайдера Інтернету), комп’ютер автоматично отримає динамічну IP -адресу.
|
Для встановлення статичної IP
-адреси необхідно перейти на вкладку IPv4

і змінити Автоматично (DHСP) на Вручну, а потім вказати:
-
IP
-адресу комп’ютера (у даному випадку, для поточного комп’ютера це192.168.1.21
, для інших комп’ютерів локальної мережіIP
-адреси можуть мати вигляд, наприклад,192.168.1.10
,192.168.1.23
,192.168.1.34
тощо); -
маску мережі (однакова для усіх комп’ютерів мережі, для вищезгаданих
IP
-адрес (класC
) -255.255.255.0
); -
адресу шлюза (однакова для усіх комп’ютерів мережі -
192.168.1.2
-IP
-адреса роутера); -
за потреби, вказати
DNS
-сервери через кому (8.8.8.8
- адреса публічного сервераGoogle
).
Після встановлення або зміни параметрів мережевого з’єднання необхідно натиснути кнопку Застосувати, зберегти зміни і перезапустити мережеву службу перемикачем

7.3. Доступ до спільних ресурсів
Дуже часто необхідно надати доступ до певних ресурсів одного комп’ютера іншим користувачам в локальній мережі.
Спільні ресурси часто називають Shared -ресурсами (від англ. Shared - спільний, спільного користування). Про сам ресурс говорять, що його необхідно розшарити (поширити по мережі). У випадку каталогу (теки), як спільного ресурсу, це значить відкрити загальний доступ до його вмісту.
|
7.3.1. Налаштування спільного доступу
Для прикладу, створимо каталог Shared_Folder
у домашньому каталозі і розшаримо його, щоб вміст каталогу був доступний іншим комп’ютерам в локальній мережі.
Для цього, в контекстному меню каталогу Shared_Folder
необхідно вибрати Властивості (Ctrl+I) і перейти на вкладку Спільний доступ для мережі

Якщо відзначити прапорцем Поділитися цією текою і натиснути кнопку Створити спільний ресурс, то каталог Shared_Folder
стане доступним іншим користувачам у локальній мережі (значок каталогу буде доповнено значком загального доступу - трьома з’єднаними колами)

Якщо доступ до ресурсу надається перший раз, то система запропонує встановити Службу спільних ресурсів

Після згоди на встановлення цієї служби, з’явиться вікно встановлення пакунку, що називається Samba
Samba - набір програм, що використовуються для організації загального доступу до файлів і принтерів з різних пристроїв.
|

Встановлюємо пакунок Samba
, натиснувши на кнопку Встановити

7.3.2. Підключення до спільного каталогу Ubuntu із Windows
Створимо ще один каталог UbuntuFiles
у домашньому каталозі і розшаримо його, щоб вміст каталогу був доступний іншим комп’ютерам в локальній мережі, зокрема із Windows
.

Для доступу до розшареного каталогу UbuntuFiles
в Ubuntu
із Windows
спочатку необхідно дізнатися IP
-адресу або назву комп’ютера, на якому знаходиться UbuntuFiles
. Наприклад, це можна зробити командами hostname -I
або hostname
відповідно, виконавши їх у терміналі.
Після чого у системі Windows
необхідно ввести в адресний рядок Провідника два звортних слеша \\
, а потім IP
-адресу або назву комп’ютера з системою Ubuntu
і натиснути Enter. Після цього будуть відображені усі розшарені каталоги на Ubuntu
-машині

Але, якщо спробувати зайти у каталог UbuntuFiles
, то отримаємо помилку доступу. Для виправлення цієї помилки необхідно у властивостях загального доступу даного каталогу відзначити прапорцем опцію Гостьовий доступ (для людей без облікового запису) і натиснути кнопку Змінити спільний ресурс.

Повторна спроба зайти у каталог UbuntuFiles
вже є успішною і можна побачити його вміст

Але, якщо у Windows
спробувати створити, змінити або видалити файл/каталог на Ubuntu
-машині, то знову з’явиться помилка - відсутній дозвіл на виконання таких дій.
У таких випадках, якщо необхідно, щоб користувачі інших комп’ютерів мережі мали змогу не лише читати, але і створювати, змінювати або видаляти файли/каталоги всередині розшареного каталогу UbuntuFiles
, у властивостях загального доступу каталогу UbuntuFiles
необхідно відзначити прапорцем Дозволити іншим створювати та видаляти файли в цій теці і натиснути Змінити спільний ресурс

Після чого система запитає про зміну прав на розшарений каталог

Якщо дати згоду на зміну прав доступу до каталогу, користувачі локальної мережі зможуть змінювати файли всередині розшареного каталогу UbuntuFiles
.
Підключатися до розшареного таким чином каталогу можуть не лише користувачі Windows , але й користувачі Ubuntu .
|
7.3.3. Підключення до спільної папки Windows із Ubuntu
Створимо і розшаримо у Windows
папку під назвою WinFiles
. Відкриємо властивості папки WinFiles
і перейдемо на вкладку Спільний доступ.

Відкриємо вікно Спільний доступ до файлів, натиснувши на Дозволити спільний доступ…, у якому потрібно обрати список локальних користувачів (облікові записи на цьому комп’ютері) і додати із цього списку групу Всі

Необхідно вказати для доданої групи Всі права доступу і натиснути кнопку Дозволити спільний доступ

Далі відкриємо Додаткові настройки спільного доступу… і відзначимо опцію Дозволити спільний доступу до цієї папки

Натиснувши кнопку Дозволи, можна змінити права на читання чи зміну спільного ресурсу WinFiles
для групи або користувачів

Отже, папка WinFiles
у системі Windows
розшарена, тепер необхідно підключитися до неї із Ubuntu
. Для цього треба дізнатися повний мережевий шлях до папки WinFiles
у системі Windows
. Мережевий шлях вказаний на вкладці Спільний доступ властивостей папки WinFiles
і, у даному випадку, має значення \\USERSOFT\WinFiles
.
Замість назви комп’ютера USERSOFT можна використовувати IP -адресу комп’ютера з Windows , яку можна дізнатися, відкривши вікно командного рядка сполученням клавіш Win+R і увівши команду ipconfig .
|
Відкриваємо файловий менеджер Nautilus
(Файли) в Ubuntu
. Обираємо пункт Інші місця і у рядок З’єднатись із сервером вводимо smb
і мережевий шлях до папки WinFiles
у системі Windows
, не забуваючи змінити зворотні слеші на прямі, після чого натискаємо З’єднатись

Далі з’явиться вікно з повідомленням про авторизацію

Виконаємо підключення як зареєстрований користувач. Для цього у Windows
необхідно відкрити Центр мережних підключень і спільного доступу, далі перейти до пункту Змінити додаткові параметри спільного доступу, у категорії Усі мережі вимкнути спільний доступ із захистом паролем і зберегти зміни

Після цього ввести довільні дані у рядки для користувача і пароля та натиснути З’єднатись. Далі можна буде заходити з Ubuntu
у розшарені папки Windows
, для яких дозволений доступ для групи Всі.
Для зручності і швидкого доступу до мережного ресурсу, можна додати його через контекстне меню (або сполученням клавіш Ctrl+D) в закладки файлового менеджера Nautilus
(Файли).

7.4. Монтування мережевих ресурсів
Коли в мережі одночасно працюють комп’ютери як під управлінням операційної системи Ubuntu
, так і Windows
, постійно виникають завдання, пов’язані з інтеграцією сервісів, що надаються обома операційними системами.
Давайте розглянемо ще один спосіб, як виконати підключення мережевої папки Windows
до файлової системи Linux
на прикладі операційної системи Ubuntu
.
Для початку, у Windows
створимо папку mount_share
і розшаримо її, встановивши відповідні права на доступ до неї певному користувачу.
Підтримку мережевих ресурсів Windows
в Linux
забезпечує пакунок cifs-utils
(Common Internet File System utilities
), який можна встановити за допомогою термінала
sudo apt install cifs-utils
Наступним кроком буде створення каталогу, наприклад winshare
, в /mnt
(або у будь-якому іншому місці) в Ubuntu
, у який буде підключатися мережева папка mount_share
sudo mkdir /mnt/winshare
І накінець, підключення мережевої папки mount_share
в Ubuntu
виконується за допомогою команди mount.cifs
sudo mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o username=WIN_USER_NAME,password=WIN_USER_PASSWORD
Така команда виконує приєднання до файлової системи Ubuntu
мережевої папки Windows
з ім’ям SHARE_NAME
, яка розміщена на комп’ютері Windows
з IP
-адресою SERVER_IP
, від імені користувача WIN_USER_NAME
з паролем WIN_USER_PASSWORD
. З конкретними значеннями запис команди mount.cifs
буде таким
sudo mount.cifs //192.168.1.6/mount_share /mnt/winshare -o username=Sasha,password=1
Значення SERVER_IP (адресу комп’ютера з Windows ) можна дізнатися, відкривши вікно командного рядка сполученням клавіш Win+R і увівши команду ipconfig .
|
Для монтування публічних мережевих ресурсів ім’я користувача і пароль не задаються
sudo mount.cifs //192.168.1.6/mount_share /mnt/winshare
У більшості випадків цього достатньо, якщо ви працюєте від імені користувача суперкористувача. Якщо від імені суперкористувача виконується лише підключення мережевої папки Windows
, а працювати з нею планується від імені звичайного користувача, то в якості опцій команді mount.cifs
необхідно передати значення UID
(числовий індентифікатор користувача) і GID
(числовий індентифікатор основної групи) цього користувача, інакше, швидше за все, операції редагування файлів і каталогів будуть недоступними.
Отримати UID
і GID
користувача можна командою
grep LINUX_USER_NAME /etc/passwd
Замість LINUX_USER_NAME
треба підставити ім’я користувача Ubuntu
, під яким необхідно виконувати підключення до розшареної папки Windows
.
Наприклад, для користувача Ubuntu
з ім’я student
виконання вищезгаданої команди може мати такий результат
teacher@teacher-VirtualBox:~$ grep student /etc/passwd
student:x:1001:1001:Учень,,,,:/home/student:/bin/bash
Значення після двокрапки на 3-му і 4-му місці вказують на UID
та GID
користувача student
. Тепер необхідно підставити отримані значення в якості додаткових аргументів команди mount.cifs
sudo mount.cifs //192.168.1.6/mount_share /mnt/winshare -o username=Sasha,password=1,uid=1001,gid=1001
У синтаксис команди mount.cifs
можна додати інформацію про права доступу і кодування. Для цього використовують такі параметри
-
iocharset=utf8
- кодування; -
file_mode=0755
- права доступу до файлів; -
dir_mode=0755
- права доступу до каталогів.
Права доступу 0755 - кожен користувач може читати та запускати на виконання, власник може редагувати.
|
Враховуючи ці додаткові параметри, результуючий запис команди mount.cifs
може бути таким
sudo mount.cifs //192.168.1.6/mount_share /mnt/winshare -o username=Sasha,password=1,uid=1001,gid=1001,iocharset=utf8,file_mode=0755,dir_mode=0755
Щоб мережева папка Windows
автоматично підключалась разом із завантаженням Ubuntu
, необхідно внести відповідну інформацію у файл /etc/fstab
, тобто записати у кінець файла наступний рядок
//192.168.1.6/mount_share /mnt/winshare cifs user=WIN_USER_NAME,password=WIN_USER_PASSWORD,uid=1001,gid=1001 0 0
Варто зазначити, що у цьому випадку пароль зберігатиметься у відкритому вигляді, доступному для читання усім. Виправимо цей недолік. Створимо файл /etc/credentials
(ім’я може бути довільним)
sudo gedit /etc/credentials
з таким вмістом
username=WIN_USER_NAME
password=WIN_USER_PASSWORD
domain=WIN_WORKGROUP
Або у випадку із конкретними значеннями
username=Sasha
password=1
domain=WORKGROUP
Щоб дізнатися, яка робоча група використовується у Windows , необхідно відкрити командний рядок ( Win+R , потім ввести cmd ) і виконати команду: net config workstation . Значення робочої групи буде записано у рядку Workstation domain .
|
Зробимо файл /etc/credentials
доступним для читання і редагування лише для суперкористувача
sudo chmod 600 /etc/credentials
Тепер команда mount.cifs
при ручному монтуванні мережевої папки Windows
в Ubuntu
матиме наступний синтаксис
sudo mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o credentials=/etc/credentials,uid=1001,gid=1001
або у нашому випадку
sudo mount.cifs //192.168.1.6/mount_share /mnt/winshare cifs credentials=/etc/credentials,uid=1001,gid=1001
А при автоматичному монтуванні, при внесенні інформації у файл /etc/fstab
, синтаксис буде таким
//SERVER_IP/SHARE_NAME /mnt/winshare cifs credentials=/etc/credentials,uid=1001,gid=1001 0 0
Остаточний варіант запису у файл /etc/fstab
з конкретними значеннями може мати такий вигляд
//192.168.1.6/mount_share /mnt/winshare cifs credentials=/etc/credentials,uid=1001,gid=1001 0 0
Після усіх налаштувань, необхідно перезавантажити комп’ютер з Windows
. Або, у випадку підключення із fstab
, без перезавантаження необхідно виконати команду
sudo mount -a
Тепер вміст мережевої папки mount_share
з Windows
буде доступний у каталозі /mnt/winshare
файлової системи Ubuntu
.
Словник: основні поняття
- adduser (від англ.
add user
- додати користувача) -
команда для створення нових облікових записів користувачів у системах
Linux
. Після запуску команди разом із введеним новим іменем користувача запитує інформацію, необхідну для створення облікового запису. - apt (від англ.
advanced packaging tool
), упорядник пакунків, менеджер пакунків -
програма для роботи з пакунками програм в операційних системах
Linux Debian
, і заснованих на них -Ubuntu
,Linux Mint
та інших. - ASCII (акронім від назви Американський стандартний код для інформаційного обміну, від англ.
American Standard Code for Information Interchange
) -
система кодів, у якій числа від
0
до127
включно поставлені у відповідність літерам, цифрам і символам пунктуації. Наприклад,45
відповідає знаку перенесення, а65
- великій латинській літеріA
. Перші32
коди використовуються для керівних функцій, на зразок введення і стирання попереднього символу. Строго кажучи,ASCII
- це семибітний код, а восьмий біт часто використовується для забезпечення відповідності чи для додаткових символів. Такий8
-бітний варіант коду називають розширенимASCII
. Система широко використовується для зберігання тексту і передачі інформації між комп’ютерами. - BIOS (від англ.
Basic Input/Output System
- базова система введення/виведення) -
у
IBM PC
-сумісних комп’ютерах - типfirmware
(«прошивки»), що зберігається у постійній пам’яті і виконує початкову ініціалізацію комп’ютера після його увімкнення (перевірка і тестування обладнання, а потім вже завантаження завантажувача операційної системи).BIOS
має псевдографічний інтерфейс, управління за допомогою клавіш та лише налаштування обладнання. МікросхемаBIOS
вбудована в материнську плату комп’ютера. - cat (від англ.
concatenate
) -
утиліта
UNIX
, що виводить послідовно зазначені файли (або пристрої), об’єднуючи їх в єдиний потік. Якщо замість імені файла вказується-
, то зчитується стандартний потік введення. За допомогоюcat
можна дуже просто подивитися вміст невеликого файла, склеїти кілька файлів тощо. - cd (від англ.
change directory
- змінити каталог) -
команда командного рядка для зміни поточного каталогу в
Unix
,DOS
та інших операційних системах. - chmod
-
утиліта
UNIX
-подібних операційних систем, яка використовується для зміни прав на файли та каталоги. - chown
-
UNIX
‐утиліта, що змінює власника і/або групу для вказаних файлів. - cp (від англ.
copy
) -
команда
Unix
, призначена для копіювання файлів з одного каталогу в інші. Початковий файл залишається незмінним, ім’я створеного файла може бути таким же, як у початкового, або змінитися. - cron (від грец.
Chronos
- час) -
утиліта в операційних системах
Unix
іLinux
, яка дозволяє користувачам виконувати команди або скрипти (групи команд) автоматично в заданий час. Кожен користувач системи має свій файл завдань crontab (cron
табулятор), в якому описано, в який час і які команди і програми запускати від імені цього користувача. - cut (від англ.
cut
- вирізати) -
утиліта
UNIX
, що друкує вибрані частини рядків (з кожного файла) на стандартний потік виведення. Витяг сегментів рядків відбувається по байтах (-b
), по символах (-c
), або по полях (-f
), обмежених розділювачами (-d
- символ табуляції за замовчуванням). Діапазон вибраних частин рядків може бути встановлений такими варіантами:N
,N-M
,N-
(відN
і до кінця рядка), або-M
(від початку рядка доM
), деN
іM
- порядкові номери. - date
-
команда, яка виводить поточну дату.
- deluser
-
команда для видалення облікових записів користувачів у системах
Linux
. - DHCP (від англ.
Dynamic Host Configuration Protocol
- протокол динамічної конфігурації вузла) -
стандартний протокол прикладного рівня, який дозволяє комп’ютерам автоматично отримувати
IP
-адресу та інші параметри, необхідні для роботи в мережі:IP
-адреса маршрутизатора за замовчуванням, маска підмережі, адреси серверів DNS. Для цього комп’ютер звертається відповідно доDHCP
-сервера. - echo
-
команда, яка виводить текстовий рядок, зазначений в лапках в якості аргумента.
- Ext4
-
журнальна файлова система, в якій представлений механізм запису файлів в безперервні ділянки блоків (екстенти), що зменшує фрагментацію і підвищує продуктивність. В
Ubuntu
, починаючи з версії9.10
, ця файлова система використовується за замовчуванням встановлювачем при автоматичному розбитті диска. - Filesystem Hierarchy Standard, FHS (Стандарт Ієрархії Файлової Системи)
-
стандарт, прийнятий для уніфікації розташування файлів і каталогів загального призначення у файловій системі операційних систем
UNIX
. Сьогодні, більшістьUNIX
-подібних систем, в тій або іншій мірі, слідують цим правилам. Наприклад, типова база даних про користувачів системиLinux
завжди зберігається у файлі/etc/passwd
. - find
-
утиліта, яка використовується в
UNIX
-подібних операційних системах для пошуку файлів за іменами та іншими властивостями. - Flatpak
-
програма для розгортання програмного забезпечення, керування пакунками та віртуалізації застосунків для настільних комп’ютерів
Linux
.Flatpak
забезпечує ізольоване середовище, в якому користувачі можуть запускати програми окремо від решти системи. Програми, що використовуютьFlatpak
, потребують дозволу користувача на керування апаратними пристроями або доступу до файлів користувача. - GNU Privacy Guard (
GnuPG
абоGPG
) -
відкритий програмний засіб для шифрування та цифрового підписування даних.
GnuPG
надає утиліти для шифрування даних, роботи з електронними підписами, управління ключами і для доступу до публічних сховищ ключів. - GNU wget
-
неінтерактивна консольна утиліта для завантаження файлів за протоколами
HTTP
,HTTPS
таFTP
.wget
дає змогу рекурсивно завантажувати файли, конвертувати посилання, вказувати складові посилання, які будуть оброблені програмою тощо. Програма портативна й запускається на багатьохUNIX
-подібних системах,Microsoft Windows
,macOS
. - GPT (
GUID Partition Table
- стандарт формату розміщення таблиць розділів на фізичному жорсткому диску) -
частина Розширеного мікропрограмного інтерфейсу (від англ.
Extensible Firmware Interface, EFI
) - стандарту, запропонованогоIntel
на змінуBIOS
. На відміну відMBR
-запису, який починається з машинного коду, що шукає та ініціалізує завантаження з активного розділу,GPT
використовує розширені можливостіEFI
для здійснення цих дій.GPT
використовуєLBA
- сучасну лінійну схему адресації логічних блоків, замість адресації вMBR
Циліндр - Головка - Сектор (CHS
). ПротеMBR
-запис присутній в самому початку диску (блокLBA0
) як для захисту, так і з метою сумісності.GPT
починається з Заголовка таблиці розділів (від англ.Partition Table Header
), у блоці (LBA1
), а сама таблиця розділів, зазвичай, міститься у наступному блоці -LBA2
. Завдяки адресаціїLBA
,GPT
на відміну відMBR
, може створювати розділи до9,4
ЗБ, а цього найближчим часом цілком вистачить.GPT
підтримує Unicode тому ви можете задавати імена та атрибути розділам на будь-якій з підтримуваних мов і звертатися до дисків за цими іменами. Мінусом або ще одним плюсомGPT
є те, що при завантаженні перевіряються контрольні суми таблиць, а це значить, що якщо ви захочете щось змінити вручну, то система не завантажиться. В кінці диска є копіяGPT
, яка може використовуватися для відновлення пошкодженої основної таблиці розділів на початку диска. - grep
-
утиліта командного рядка, яка знаходить рядки, що відповідають заданому регулярному виразу, і виводить їх. Назва цієї команди - це акронім англійської фрази search globally for lines matching the regular expression, and print them - шукати скрізь рядки, відповідні регулярному виразу, і виводити їх.
- GRUB (від англ.
GRand Unified Bootloader
- Грандіозний уніфікований завантажувач) -
завантажувач операційної системи від проєкту
GNU
.GRUB
дозволяє користувачеві мати кілька встановлених операційних систем і при вмиканні комп’ютера вибирати одну з них для завантаження.GRUB
- найпопулярніший завантажувач у світіLinux
і є завантажувачем за замовчуванням у більшості відомих дистрибутивів. - head
-
утиліта в
UNIX
-подібних операційних системах, що виводить першіn
рядків з файла, за замовчуваннямn
дорівнює10
. - inode (індексний дескриптор)
-
структура даних у традиційних
Unix
-подібних операційних системах.inode
зберігає усю інформацію про звичайний файл, каталог чи будь-який інший об’єкт файлової системи за винятком самих даних та імені. Кожен файл зв’язаний зі своїмinode
, який ідентифікується за певним номером.inode
зберігає таку інформацію про файли і каталоги, як групу належності, режим доступу і тип файла.inode
-номер є покажчиком на елемент таблиці айнодів, яка зберігається у визначеному місці файлової системи. Знаючи цей номер, ядро операційної системи може отримати доступ до відповідного айноду, а отже і до вмісту файла. - ISO-образ
-
файл, що має тип
.iso
і містить дані, які використовуються для інсталяцій (встановлення) програмного забезпечення чи операційних систем. - Java Runtime Environment (
JRE
, середовище виконання дляJava
) -
мінімальна реалізація віртуальної машини, що необхідна для виконання
Java
-застосунків, без компілятора й інших засобів розробки. Складається з віртуальної машини -Java Virtual Machine
- та бібліотекиJava
-класів. - less
-
програма для текстових терміналів
UNIX
-подібних систем, яка використовується для перегляду (але не зміни) вмісту текстових файлів на екрані. Відображає вміст файла з можливістю прокручування. - Linux (укр. Лінукс, повна назва -
GNU/Linux
) -
загальна назва
UNIX
-подібних операційних систем на основі однойменного ядра. - ln (від англ.
link
- посилання, зв’язувати) -
Unix
-програма для створення жорстких або символьних посилань на файли або каталоги у файловій системі. - ls (від англ.
list
- список) -
утиліта
UNIX
-подібних систем, яка виводить вміст каталогу файлової системи та інформацію про файли. - LTS (від англ.
Long Term Support
) -
довгострокова підтримка.
- MAC-адреса (від англ.
Media Access Control
- управління доступом до носія) -
унікальний ідентифікатор, що зіставляється з різними типами устаткування для комп’ютерних мереж (мережева карта, роутер тощо).
- MBR (від англ.
Master Boot Record
- головний завантажувальний запис) -
перший фізичний сектор на жорсткому диску або іншому носії інформації, якщо цей пристрій можна поділити на логічні диски (розділи). Призначення
MBR
- не завантаження операційної системи, а всього лише вибір, з якого розділу виконувати завантаження.MBR
-запис знаходиться на самому початку диска, якщо точніше, то він займає перші512
байт. Він містить інформацію, про те, які логічні і розширені розділи є на цьому пристрої, тобто містить таблицю розділів (partition table
). Крім того вMBR
знаходиться виконуваний код, який може сканувати розділи в пошуках операційної системи, і, відповідно, ініціювати завантаження операційної системи. ДляWindows
- це завантажувачWindows
, вLinux
там знаходиться код ініціалізації завантажувачаGrub
. Через маленький обсягMBR
-запису підтримуються тільки чотири первинних розділи. Оскільки використовується32
-бітна адресація, то кожен розділ може бути не більше2,2
ТБ. Крім того, завантажувальний запис не має жодного резервногоMBR
, тому, якщо перезаписати головний завантажувальний запис, вся інформація про розділи буде втрачена. ПлюсомMBR
можна назвати повну сумісність з багатьма операційними системами в тому числіWindows
, включаючи попередні версії,Linux
іmacOS
. - mkdir (від англ.
make directory
) -
в операційніх системах
Unix
,Linux
,DOS
,Windows
- команда для створення нових каталогів. - mv (від англ.
move
) -
утиліта в
UNIX
іUNIX
-подібних системах, використовується для переміщення або перейменування файлів. - nano
-
консольний текстовий редактор для
Unix
іUnix
-подібних операційних систем. В даний час включений у дистрибутивиUbuntu
за замовчуванням. - nobody (від англ.
nobody
- ніхто) -
ім’я користувача, що не є власником жодного файла, що не входить в жодну привілейовану групу, і не має ніяких повноважень, окрім стандартних для звичайних користувачів.
- nogroup
-
груповий аналог nobody, який використовується для непривілейованих процесів, які не можуть створювати файлів на жорсткому диску, а тільки читати.
- Open Document Format (
OpenDocument
,ODF
, скорочено відOASIS Open Document Format for Office Application
, відкритий формат документів для офісних застосунків) -
відкритий формат файлів документів для зберігання й обміну офісними документами, доступними для редагування, в тому числі текстовими документами, електронними таблицями, малюнками, базами даних, презентаціями. Cтандарт спільно розроблений різними організаціями, доступний усім і може використовуватись без обмежень. Він є альтернативою приватним закритим форматам у
Microsoft Office
, на зразокDOCX
,XLSX
іPPTX
. - Personal Packages Archive (
PPA
) -
персональний архів пакунків.
- pwd (від англ.
print working directory
- надрукувати робочий каталог) -
консольна команда в
UNIX
-подібних системах, яка виводить повний шлях від кореневого каталогу до поточного робочого каталогу. - rm (від англ.
remove
) -
утиліта в
UNIX
іUNIX
-подібних системах, яка використовується для видалення файлів із файлової системи. - rmdir (від англ.
remove directory
) -
команда в операційних системах
DOS
,UNIX
,Windows
, яка видаляє каталог з файлової системи. - Snap
-
формат пакунків програмного забезпечення для встановлення, які містять саму програму і усі її залежності, тобто є автономними.
snap
-пакунок - це образ з файловою системою squashFS, який містить код застосунку та файлsnap.yaml
із певними метаданими. Такі пакунки мають файлову систему, доступну лише для читання, і, після встановлення, область запису. Пакунки цього формату поєднують більшість необхідних бібліотек і їх можна оновлювати, не впливаючи на решту системи. - SquashFS (
SFS
) -
стискаюча файлова система для
GNU/Linux
, що надає доступ до даних в режимі тільки для читання. Відмінною особливістю цієї файлової системи є дуже компактне представлення метаданих і зберігання даних в стислому вигляді. Найбільш затребуваним застосуваннямSquashFS
є використання як файлової системи для інсталяційних образів,Live
-систем і прошивок. - su (від англ.
switch user
- замінити користувача) -
команда для зміни користувача в
UNIX
-подібних системах. За допомогою командиsu
користувач має право, не закриваючи поточного сеансу, тимчасово відкрити новий сеанс, щоб увійти у систему під іншим іменем. Здебільшого, ця можливість використовується для виконання адміністративних змін у системі, наприклад, змін прав доступу до файлів, інсталяції програмного забезпечення, налаштування мережі тощо. - sudo (дослівно «виконати від суперкористувача»)
-
програма, розроблена на допомогу системному адміністраторові і дозволяє делегувати ті або інші привілейовані ресурси користувачам з веденням протоколу роботи. Основна ідея - дати користувачам якомога менше прав, але при цьому рівно стільки, скільки необхідно для вирішення поставлених завдань.
- swap
-
один з механізмів віртуальної пам’яті, при якому окремі фрагменти пам’яті (зазвичай неактивні) переміщаються з ОЗП у вторинне сховище (окремий розділ або файл), звільняючи ОЗП для завантаження інших активних фрагментів пам’яті.
- tail
-
утиліта в
UNIX
-подібних операційних системах, що виводить декілька (за замовчуванням,10
) останніх рядків з файла. - tar (від англ.
tape archive
- стрічковий архів) -
формат файла-архіву, а також назва традиційної для
Unix
програми для роботи з такими архівами. Спочатку програмаtar
використовувалася для створення архівів на магнітній стрічці, а в даний часtar
використовується для зберігання кількох файлів всередині одного файла, для поширення програмного забезпечення. Однією з переваг форматуtar
при створенні архівів є те, що в архів записується інформація про структуру каталогів, про власника і групу окремих файлів, а також тимчасові мітки файлів. Як і багато інших програмUnix
,tar
- спеціалізована програма, яка дотримується філософіїUnix
робити тільки одну річ (в даному випадку - працювати з архівами форматуtar
), але робити її добре. Томуtar
не створює стиснених архівів, а використовує для стиснення зовнішні утиліти, такі, якgzip
іbzip2
. - touch
-
команда
Unix
, призначена для встановлення часу останньої зміни файла або доступу в даний час. Також використовується для створення порожніх файлів. - Ubuntu (укр. Убунту)
-
операційна система для робочих станцій, лептопів і серверів, найпопулярніший у світі дистрибутив
Linux
. - UEFI (від англ.
Unified Extensible Firmware Interface
- інтерфейс розширеної «прошивки») -
інтерфейс між операційною системою і мікропрограмами, які керують низькорівневими функціями комп’ютерного обладнання. Основне призначення
UEFI
: коректно ініціалізувати обладнання при увімкненні комп’ютера і передати управління завантажувачу операційної системи.UEFI
призначений для заміниBIOS
. Перша специфікаціяUEFI
(тоді ще простоEFI
) була розроблена компанієюIntel
.UEFI
підтримує всі функції, які були реалізовані вBIOS
, а також багато нових функції (наприклад, підтримка драйверів обладнання, як наслідок, підтримка миші і графічної карти), що і робитьUEFI
найкращим рішенням для використання на сучасних комп’ютерах.UEFI
міститьCSM
(від англ.Compatibility Support Module
) - спеціальний компонентUEFI
, що забезпечує зворотну сумісність з традиційнимиx86
-системами (64-бітні процесори повністю підтримуютьUEFI
, а ось 32-бітні не підтримують частину функцій і операційна система повинна емулювати для них середовищеBIOS
, щоб нормально працювати), і надає можливість завантаження операційних систем за допомогою класичного методуMBR
. У цьому режимі файлові системи на дисках ігноруються, і початкове завантаження починається, як і уBIOS
-системах, зboot
-сектору (перший сектор на диску). На багатьох сучасних материнських платах зараз можна використовувати два режими:Legacy BIOS
абоUEFI
. - uname (скорочення від англ.
unix name
) -
консольна
UNIX
-утиліта, що виводить інформацію про поточну систему: назву, версію тощо. - uptime
-
команда, яка виводить статистичну інформацію про роботу системи: скільки часу пройшло з моменту останнього перезавантаження (власне, це і є час
uptime
), скільки користувачів в даний момент підключено до системи і середнє навантаження системи процесами в ній за останні1
,5
і15
хвилин. - useradd
-
команда для створення нових облікових записів користувачів у системах
Linux
. - usermod
-
типова команда багатьох операційних
Unix
-подібних операційних систем для внесення змін до інформації про існуючий обліковий запис користувача. - UTF-8 (від англ.
Unicode Transformation Format
- формат перетворення Юнікоду) -
кодування, що реалізовує представлення Юнікоду, сумісне з
8
-бітовим кодуванням тексту. Текст, що складається тільки з символів, коди яких менші ніж128
, при записі вUTF-8
перетворюється на звичайний текстASCII
. І навпаки, в текстіUTF-8
будь-який байт із значенням менше, ніж128
, зображає символASCII
з тим же кодом. Решта символів Юнікоду зображається послідовностями завдовжки від2
до6
байтів (реально тільки до4
байтів, оскільки використання кодів більших, ніж221
не планується), в яких перший байт завжди має вигляд11xxxxxx
, а решта -10xxxxxx
. Простіше кажучи, у форматіUTF-8
символи латинського алфавіту, розділові знаки і символи управлінняASCII
записуються кодамиUS-ASCII
, а решта символів кодується за допомогою октетів із старшим бітом1
. В результаті, навіть якщо програма не розпізнає Юнікод, то англійська мова і розмітка все одно відображатимуться правильно. - wc (абревіатура від
word count
) -
утиліта
UNIX
-подібних операційних систем, що підраховує кількість рядків, слів чи байт у вказаних файлах, а також їх суму, якщо вказано більше одного файла. Якщо файли не вказуються, тоді команда зчитує дані зі стандартного потоку введення. - whereis
-
утиліта в
UNIX
-подібних операційних системах, за допомогою якої можна дізнатися місце розташування бінарних файлів, початкових кодів, що відносяться до встановленої програми. - which
-
утиліта в
UNIX
-подібних операційних системах, яка показує повний шлях до встановленої програми. - whoami
-
команда виводить ім’я користувача, асоційоване з поточним ідентифікатором користувача.
- zip
-
популярний формат архівації файлів і стиснення даних без втрат. Найбільш часто
zip
використовує алгоритм стисненняDeflate
- алгоритм стиснення без втрат. - Архів
-
файл, що містить у собі один або декілька файлів та метадані. Метадані можуть містити інформацію про початковий розмір файлів, інформацію про формат файлів, структуру каталогів, коментарі до файлів, інформацію для відновлення архіву і т.д. Архіви файлів створюються за допомогою спеціалізованих програм - архіваторів - програмного забезпечення, що використовується для об’єднання, в окремих випадках, також для стиснення інформації. Популярні формати архівних файлів:
.zip
,.rar
,.tar
,.gz
,.bz2
та інші. - Відкрите програмне забезпечення (від англ. open-source software )
-
програмне забезпечення з відкритим сирцевим (початковим) кодом.
- Віконний менеджер
-
застосунок, що працює «поверх» графічної системи та визначає інтерфейс і взаємодію з користувачем (
Compiz
- дляUnity
,Mutter
- дляGnome Shell
,OpenBox
- дляLXDE
та інші). - Вільне програмне забезпечення (від англ. free software ,
software libre
) -
програмне забезпечення, яке надає користувачу ряд свобод: запускати програму, вивчати й змінювати її початковий код відповідно до власних потреб, вільно розповсюджувати копії програми, розповсюджувати модифіковані версії програми.
- Графічна система (графічний сервер)
-
віконна система, що забезпечує стандартні інструменти та протоколи для побудови графічного інтерфейсу користувача (
X.Org Server
абоXorg
,Wayland
та інші). - Демон (
daemon
, у перекладі з грец. - божество) -
комп’ютерна програма в системаху
UNIX
, що запускається самою системою і працює у фоновому режимі без прямої взаємодії з користувачем. Демони зазвичай запускаються під час завантаження системи. Типові завдання демонів: сервери мережевих протоколів (HTTP
,FTP
, електронна пошта та ін.), управління обладнанням, підтримка черг друку, управління виконанням завдань за розкладом і т.д. У системахWindows
аналогічний клас програм називається службами (від англ.Services
). - Дистрибутив Linux
-
складається з ядра
Linux
, системних бібліотек та інструментів, розроблених проєктом GNU , інших програм. Існує величезна кількість різноманітних дистрибутивівLinux
:Debian
,Ubuntu
,Elementary OS
,Manjaro
,Arch linux
,Zorin OS
,OpenSUSE
,CentOS
,Linux Mint
,Fedora
та інші. - Доменна система імен (від англ.
Domain Name System
,DNS
) -
ієрархічна розподілена система перетворення імені хоста (комп’ютера або іншого мережевого пристрою) в
IP
-адресу. Кожен комп’ютер в Інтернеті має свою власну унікальну адресу - число, яке складається з чотирьох (у протоколіIPv4
) або шістнадцяти (у протоколіIPv6
) байтів. Оскільки запам’ятати десятки чи навіть сотні номерів - важка процедура, то всі (чи майже всі) машини мають імена, запам’ятати які (особливо якщо знати правила утворення доменних імен) значно легше. - Жорсткий диск (від англ.
Hard (magnetic) disk drive
,HDD
), у комп’ютерному сленгу - «вінчестер» -
магнітний диск, який виконує у комп’ютерах функцію енергонезалежного носія інформації (комп’ютерної пам’яті чи накопичувача інформації) з довільним доступом.
- Залежності
-
необхідність у встановленні додаткових компонентів для функціювання програми. Сучасне програмне забезпечення досить складне і складається з багатьох модулів - для зручності розробки. Модулі можуть містити функції (бібліотеки), що потрібні не одній, а багатьом програмам. Для прикладу, у
Windows
часто з іграми встановлюєтьсяC++ Redistributable
,DirectX
, або.NET Framework
, уLinux
- це більш поширена практика. - Ідентифікатор групи (від англ.
Group ID
,group identifier
,GID
) -
числовий ідентифікатор групи в операційній системі
Unix
та їй подібних. Під час створення облікового запису, він автоматично присвоюється головній групі.GID
головної групи за замовчуванням однаковий зUID
. Інформація про групи знаходиться у файлі/etc/group
. Правила формування ідентифікаторів груп: групаroot
маєGID
(0
), група nogroup має останнійGID
(65534
), у системах на основіDebian
, в тому числі, і вUbuntu
, діапазонGID
від1
до999
(типово) зарезервовано для груп операційної системи,GID
від1000
і вище призначені для основних груп. - Ідентифікатор користувача (від англ.
User ID
абоuser identifier
,UID
) -
ідентифікатор користувача в операційній системі
Unix
та їй подібних. Зберігається в облікових записах користувачів у файлі паролів (/etc/passwd
). Операційна система розпізнає користувача саме за йогоUID
(а не, наприклад, за логіном). Величина допустимих значеньUID
залежить від системи, що використовується. Загалом,UID
допускає використання значень від0
до65534
включно з деякими вийнятками: суперкористувач завжди маєUID
, що дорівнює0
, користувачу nobody зазвичай присвоюється найбільший серед можливихUID
(протилежний суперкористувачу), або один із системнихUID
. У системах на основіDebian
, в тому числі, і вUbuntu
,UID
з1
по999
зарезервовані для потреб системи. - Інтерфейс командного рядка (від англ.
command-line interface
,CLI
) -
різновид текстового інтерфейсу користувача й комп’ютера, в якому інструкції комп’ютеру можна дати тільки введенням із клавіатури текстових рядків (команд).
- Командна оболонка
-
інтерфейс командного рядка в
Unix
-подібних операційних системах. Командна оболонка виконує команди, які подає користувач, або які читаються з файлів. Такі файли з командами оболонки називаються сценаріями (скриптами, програмами) оболонки. Ці сценарії не компілюються, а інтерпретуються оболонкою. Це означає, що оболонка прочитує сценарій від початку до кінця, рядок за рядком, шукаючи зазначені там команди й виконуючи їх; на відміну від цього підходу, компілятор перетворює цілу програму до вигляду, придатного до виконання машиною - потім файл з таким кодом можна використати в сценарії оболонки.UNIX
надає на вибір декілька різних оболонок:sh
,bash
(стандартна оболонкаLinux
),csh
,zsh
та інші. - Командний інтерпретатор
-
програма, яка забезпечує взаємодію користувача з операційною системою. Наприклад,
cmd
уWindows
;sh
іbash
в операційних системахUNIX/Linux
. Основне призначення - виконання команд користувача. - Компілятор (
Compiler
від англ.to compile
- збирати в ціле) -
комп’ютерна програма (або набір програм), що перетворює (компілює) початковий код, написаний певною мовою програмування, на семантично еквівалентний код в іншій мові програмування, який необхідний для виконання програми комп’ютером. Для виконання програма не завжди повинна бути перекладена компілятором, існує також інший принцип: покрокове виконання програмних інструкцій інтерпретатором.
- Лог (від англ.
Log file
) -
спеціальний файл, в якому накопичується зібрана службова та статистична інформація про події в операційній системі (програмі). За допомогою логів можна змусити систему (програму) реєструвати у
log
-файлах фактично будь-які події. Інформація зlog
-файлів надалі використовується для аналізу подій, виявлення помилок, збоїв, зведення статистики, звітування тощо. - Маршрутизатор або роутер (від англ.
router
) -
електронний пристрій, що використовується для поєднання двох або більше мереж і керує процесом маршрутизації, тобто, на підставі інформації про топологію мережі (фізична структура - фізичні з’єднання між комп’ютерами, і логічна структура - взаємодія комп’ютерів) та певних правил приймає рішення про пересилання мережевих пакунків між різними сегментами мережі. Для звичайного користувача маршрутизатор (роутер) - це мережевий пристрій, який підключається між локальною мережею й Інтернетом. Часто маршрутизатор не обмежується простим пересиланням даних між інтерфейсами, а виконує й інші функції: захищає локальну мережу від зовнішніх загроз, обмежує доступ користувачів локальної мережі до ресурсів Інтернету, роздає
IP
-адреси, шифрує трафік і багато іншого. - Мережевий комутатор (свіч, від англ.
switch
- перемикач) -
пристрій, призначений для з’єднання декількох вузлів комп’ютерної мережі в межах одного або декількох сегментів мережі.
- Монтування/розмонтування файлових систем
-
в
Unix
-подібних операційних системах файлові системи монтуються в загальне дерево каталогів, вершиною якого є кореневий каталог/
. Нова файлова система може бути змонтована в будь-який вже існуючий каталог (точку монтування) будь-де у дереві каталогів. Існує стандарт FHS, який передбачає два каталоги для монтування:/media
для знімних носіїв (оптичні диски,USB
-накопичувачі, карти пам’яті) та/mnt
для тимчасово монтованих файлових систем (наприклад, спільні мережеві ресурси). - Обліковий запис
-
збережена в операційній системі сукупність даних про користувача, необхідна для його розпізнавання (аутентифікації) і надання доступу до його особистих даних і налаштувань. Для використання облікового запису (іншими словами, для входу в систему під чиїмось ім’ям), зазвичай, потрібне введення імені (логіна) і пароля.
- Однорангова локальна мережа
-
мережа, у якій усі комп’ютери рівноправні, немає ієрархії серед комп’ютерів і немає виокремленого (від англ. dedicated) сервера. Тобто, кожен комп’ютер функціонує і як клієнт, і як сервер - інакше кажучи, немає окремого комп’ютера, відповідального за всю мережу. Користувачі самі вирішують, які дані на своєму комп’ютері зробити доступними по мережі.
- ОЗП (оперативно запам’ятовуючий пристрій, оперативна пам’ять)
-
швидкодіюча пам’ять, призначена для запису, зберігання та читання інформації у процесі її обробки. Вміст оперативної пам’яті очищується після перезавантаження комп’ютера.
- Операційна система, скорочено ОС (від англ.
operating system
,OS
) -
базовий комплекс програм, що виконує управління апаратною складовою комп’ютера або віртуальної машини; забезпечує керування обчислювальним процесом і організовує взаємодію з користувачем. Операційна система звичайно складається з ядра операційної системи та базового набору прикладних програм.
- Пакунок
-
містить певну програму чи службу, наприклад, бібліотеку для обробки малюнків у форматі
PNG
, колекцію шрифтів чи вебоглядач. - Початковий код, вихідний код, програмний код, сирцевий код або сирці (від англ.
source code
) -
певний набір інструкцій або оголошень, написаних мовою програмування (штучна мова, створена для передачі команд комп’ютерам) у формі, що її може прочитати і модифікувати людина. Можливі два напрямки виконання початкового коду: транслюється у машинний код або байт-код за допомогою компілятора (компіляція), призначеного для певної комп’ютерної архітектури, або виконується порядково безпосередньо за текстом за допомогою інтерпретатора (інтерпретація).
- Програмне забезпечення (програмні засоби, ПЗ, від англ.
software
) -
сукупність програм, призначених для розв’язання різних завдань на комп’ютері. Розрізняють системне програмне забезпечення (зокрема, операційна система, транслятори, графічний інтерфейс користувача); прикладне програмне забезпечення, що використовується для виконання конкретних завдань, наприклад, програмне забезпечення для обробки зображень; інструментальне програмне забезпечення (комп’ютерні програми, призначені для проєктування, розробки, адміністрування і супроводження системного та прикладного програмного забезпечення).
- Пропрієтарне (власницьке) програмне забезпечення (від англ.
proprietary software
) -
програмне забезпечення, на яке зберігаються як немайнові, так і майнові авторські права. Отримавши або придбавши таке програмне забезпечення, користувач отримує обмежені права користування ним: може бути заборонено або закрито доступ до коду, внесення змін, тиражування, розповсюдження та перепродаж. Програмне забезпечення вважається власницьким, якщо наявне хоча б одне з перелічених обмежень.
- Регулярний вираз (від англ.
regular expression
, скороченоregex
абоregexp
) -
рядок, що описує або збігається з множиною рядків, відповідно до набору спеціальних синтаксичних правил. Регулярні вирази використовуються в багатьох текстових редакторах та допоміжних інструментах для пошуку та зміни тексту на основі заданих шаблонів.
- Репозиторій
-
сховище програмного забезпечення, яке входить до певного дистрибутива. Фактично - це файловий сервер, з якого можна завантажити пакунки із потрібними програмами. Це трішки схоже на
Google Play
чиApple App Store
. Кожен дистрибутив має свій репозиторій, у якому всі програми узгоджені між собою по залежностях. В популярних дистрибутивах репозиторії мають дзеркала - резервні сервери, серед яких можна обирати той, з якого йде найшвидше завантаження. - Розділи диска
-
використовується для позначення розбиття або поділу певних видів носіїв зберігання даних (наприклад, таких як жорсткі диски
HDD
) на окремі частини. Розділи є логічними контейнерами (фізично не існують), які, зазвичай, використовуються для розміщення файлових систем, куди встановлюються операційні системи, програми та записуються дані. - Середовище робочого столу (графічне оточення робочого столу, від англ.
Desktop environment
) -
різновид графічних інтерфейсів користувача (
GNOME
,Unity
,KDE
,Xfce
,LXDE
,Mate
та інші). Таке середовище забезпечує простір, який називається Робочим столом (або Стільницею - метафора графічного інтерфейсу, що трактує монітор комп’ютера, як робочий стіл користувача), на якому з’являються вікна, піктограми, панелі та інші елементи. Зазвичай, робочим столом підтримуються механізми, які поєднують різні частини середовища, наприклад,drag-n-drop
(перенесення даних між вікнами за допомогою вказівного пристрою). Призначення робочого оточення - створення інтуїтивного способу взаємодії користувача з комп’ютером. - Система керування пакунками
-
програма, за допомогою якої відбувається встановлення, оновлення та видалення програм та бібліотек. Системи управління пакунками активно використовуються у різних дистрибутивах операційної системи
Linux
та іншихUNIX
-подібних операційних системах. - Суперкористувач (від англ.
super user
- суперкористувач) -
користувач із адміністративними повноваженнями. У багатьох
UNIX
-подібних операційних системах суперкористувач - це користувачroot
, у версіяхMicrosoft Windows
-Administrator
. - Точка монтування (від англ.
Mount point
) -
по суті, це каталог, що належить дереву каталогів кореневої файлової системи, яка починається з кореневого каталогу. Точка монтування використовується для реалізації можливості динамічно приєднувати/від’єднувати розділи диска до файлової системи під час роботи операційної системи.
- Упорядник пакунків (менеджер пакунків)
-
програма, яка може завантажувати пакунки з мережевого сховища (репозиторію) та відстежувати залежності між пакунками. Користувачі можуть працювати з графічними оболонками таких упорядників пакунків.
- Файлова система
-
спосіб організації даних, який використовується операційною системою для збереження інформації у вигляді файлів на носіях інформації. Також, цим поняттям позначають сукупність файлів та каталогів, які розміщуються на логічному або фізичному пристрої. Назви файлових систем:
NTFS
,Ext2
,Ext4
,Btrfs
та інші. - Файловий менеджер
-
комп’ютерна програма, що надає інтерфейс користувача для роботи з файловою системою. Дозволяє виконувати поширені дії з файлами: створення, перегляд/відкриття/запуск, редагування, переміщення, перейменування, копіювання, вилучення, зміну атрибутів та властивостей, пошук та призначення прав.
- Формати пакунків
-
формати файлів, які використовуються системами керування пакунками операційних систем на основі
Linux
іGNU
(.deb
,.rpm
та інші). - Юнікод (від англ.
Unicode
), УНІфіковане КОДування -
промисловий стандарт, розроблений, щоб забезпечити цифрове представлення символів усіх писемностей світу та спеціальних символів.
- Ядро операційної системи (від англ.
Kernel
) -
центральна частина операційної системи, що реалізовує інтерфейс між прикладними процесами та обладнанням комп’ютера. Завантажується в оперативну пам’ять комп’ютера і забезпечує керування апаратними засобами (при цьому використовуються драйвери (модулі ядра), підключеного у систему обладнання), підтримку одночасної роботи багатьох користувачів (багатокористувацький режим), підтримку паралельного виконання багатьох процесів у системі (багатозадачність).
Додаток A: Створення завантажувальної флешки
Linux
- дуже надійна операційна система і перевстановлювати її потрібно набагато рідше, ніж, наприклад, Windows
. Тому створення завантажувальної флешки з Linux
- це, у більшій мірі, завдання для тих, хто ще не визначився з дистрибутивом або тестує нові версії Linux
.
Для створення завантажувальних (і мультизавантажувальних, тобто з кількома дистрибутивами) флеш-дисків існує багато спеціальних утиліт для різних платформ і архітектур. Деякі з них представлені у списку нижче:
Найпростішим варіантом створення завантажувальної флешки з дистрибутивом Linux
є використання програми Rufus (у Windows
) і програми Створити завантажувальний диск (вже інтегрована у більшість дистрибутивів Linux
).
Інструкції, як використовувати утиліти Rufus
і Створити завантажувальний диск, наведені у інтерактивних посібниках з офіційного сайту Ubuntu
. Відповідно:
-
якщо необхідно створити завантажувальну флешку з дистрибутивом
Linux
у системіWindows
, використовуйте покроковий інтерактивний посібник Створення завантажувального USB-накопичувача у Windows ;
При створенні завантажувальної флешки у Windows в програмі Rufus для кращої сумісності з новим апаратним забезпеченням оберіть схему розділів GPT і цільовий тип системи UEFI (без CSM) . Однак, якщо вам потрібно використовувати USB -накопичувач зі старим апаратним забезпеченням, оберіть схему розділу MBR і тип цільової системи BIOS чи UEFI .
|
-
якщо необхідно створити завантажувальну флешку з дистрибутивом
Linux
у системіLinux
, використовуйте покроковий інтерактивний посібник Створення завантажувального USB-накопичувача в Ubuntu .
Додаток B: Основні команди термінала
Команда | Дія |
---|---|
|
перейти у каталог |
|
перейти в каталог на рівень вище |
|
перейти в каталог двома рівнями вище |
|
перейти у домашній каталог користувача |
|
вивести назву поточного каталогу |
|
відобразити вміст поточного каталогу |
|
детально відобразити вміст поточного каталогу |
|
показати приховані файли та каталоги в поточному каталозі |
|
створити каталог з ім’ям |
|
cтворити одночасно два каталоги, |
|
cтворити вкладені один в одний три каталоги |
|
видалити файл з іменем |
|
видалити каталог з іменем |
|
видалити каталог з ім’ям |
|
перейменувати каталог (або файл) |
|
перемістити файл (або каталог) |
|
скопіювати вміст файла |
|
скопіювати каталог |
|
створити символьне посилання |
|
створити жорстке (фізичне) посилання |
|
якщо вказаний файл |
|
створити порожній файл |
|
визначити тип файла |
|
показати розмір файла |
|
підрахувати кількість рядків, слів, байтів у файлі |
|
показати детальну інформації про використання дискового простору файловою системою (аналізатор дискового простору) |
Команда | Дія |
---|---|
|
переглянути права на файли і каталоги в поточному каталозі |
|
додати права для групи на зміну файла |
|
видалити права на читання для групи і усіх інших користувачів для файла |
|
додати права для інших користувачів і груп на зміну та виконання каталогу |
|
додати права на читання, зміну і виконання для усіх інших користувачів для |
|
призначити власником файла |
|
призначити рекурсивно власником каталогу |
Команда | Дія |
---|---|
|
знайти файли і каталоги з ім’ям |
|
знайти усі файли і каталоги, імена яких закінчуються на |
|
знайти усі файли і каталоги, створені чи змінені протягом останніх 10 днів |
|
знайти у каталозі |
|
відсортувати знайдені файли у каталозі |
|
відсортувати знайдені файли у каталозі |
|
показати повний шлях до встановленої програми |
|
показати шлях до розміщення бінарних файлів, початкових кодів програми |
Команда | Дія |
---|---|
|
вивести інструкцію з використання команди |
|
вивести інструкцію з використання команди |
|
вивести вміст файла |
|
пронумерувати рядки, при виведенні вмісту файла |
|
вивести вміст файла |
|
посторінково вивести вміст файла |
|
вивести перші чотири рядки файла |
|
вивести останні три рядки файла |
|
з файла |
|
з файла |
|
перенаправлення виводу команди |
|
перенаправлення виводу команди |
Команда | Дія |
---|---|
|
створити |
|
показати вміст архіву |
|
видобути файли із архіву |
|
видобути файли із архіву |
|
створити архів |
|
видобути стиснений архів |
|
створити архів |
|
видобути стиснений архів |
|
створити стиснений архів |
|
оновити архів |
|
створити стиснений зашифрований архів |
|
видобути вміст із стисненого архіву |
Команда | Дія |
---|---|
|
виконати команду |
|
створити користувача |
|
додати користувача |
|
створити нового користувача |
|
видалити користуваяа |
|
змінити пароль користувача |
|
показати ім’я поточного користувача |
|
змінити користувача у терміналі на |
Команда | Дія |
---|---|
|
відобразити ім’я комп’ютера |
|
відобразити локальну |
|
відправити на вказану адресу |
Команда | Дія |
---|---|
|
встановити пакунок |
|
показати усі пакунки, встановлені у систему |
|
видалити пакунок |
|
встановити/оновити пакунок |
|
видалити пакунок |
|
видалити пакунок |
|
отримати оновлені списки пакунків |
|
оновити пакунки, встановлені у систему |
|
видалити пакунки, які були встановлені як залежності інших, але зараз вони більше не потрібні |
|
видалити архівні завантажені файли пакунків |
|
видалити старі завантажені архівні файли пакунків |
Команда | Дія |
---|---|
|
очистити вікно термінала |
|
вивеcти поточну дату |
|
вивести статистичну інформацію про роботу системи (скільки часу пройшло з моменту останнього перезавантаження, скільки користувачів в даний момент підключено до системи, середнє завантаження системи за останні 1, 5 і 15 хвилин) |
|
вивести інформацію про поточну версію |
|
отримати інформацію про поточне ядро системи |
|
визначити лише ім’я поточного ядра, на якому система працює |
|
перезавантажити систему |
|
вийти із системи |
|
вимкнути комп’ютер |