6.1.4 Вступ в Linux та базові команди
Linux — це операційна система, яка, як і Windows чи macOS, керує комп’ютером. Однак вона має свої особливості, які роблять її придатною для різних завдань - від серверів до пристроїв, що вбудовуються, і навіть для настільних ПК. Головна відмінність Linux від більшості інших операційних систем полягає в тому, що вона є відкритим програмним забезпеченням, тобто вихідний код доступний для вивчення та змін.
Вона заснована на UNIX — сімейства операційних систем, яке було розроблено в 1960-х роках і дуже вплинуло на створення інших ОС. Linux існує в різних дистрибутивах, таких як Ubuntu, Debian, CentOS, Fedora та багато інших. Кожен із них трохи відрізняється, але базові принципи залишаються однаковими.
Варіативність дистрибутивів Linux – що вибрати?
Одним із ключових аспектів Linux є наявність безлічі дистрибутивів. Кожен дистрибутив Linux має свої особливості та призначений для різних цілей, від простоти у використанні до максимальної кастомізації та оптимізації для серверів. Вибір дистрибутива залежить від потреб користувача та його рівня знань.
Основні дистрибутиви:
- Ubuntu та його похідні (Linux Mint, Zorin OS і т.д.) — найбільш популярні та зручні для початківців. Вони орієнтовані користувача, забезпечуючи простий інтерфейс і доступність пакетів через менеджери пакетів.
- Debian — більш стабільний і придатний для тих, хто цінує безпеку та довговічність, але потребує більшого часу на налаштування.
- Fedora — дистрибутив, орієнтований на новітні технології та співтовариство розробників. Він більш “свіжий” у порівнянні з Ubuntu, але може бути менш стабільним.
- Arch Linux - для досвідчених користувачів. Arch пропонує повну кастомізацію і установка на ньому нагадує налаштування системи з нуля.
- CentOS/RHEL — орієнтовані на серверне використання та пропонують високу стабільність, що робить їх ідеальними для серверів та організацій.
- Kali Linux — дистрибутив, що спеціалізується на безпеці та тестуванні на проникнення.
Для новачків рекомендується в першу чергу Ubuntu або Mint або Zorin OS (для навчання), тому що вони пропонують максимально зручний інтерфейс та простоту налаштування.
Вибір залежить від вашого досвіду та того, які завдання вам потрібно вирішувати. Linux дозволяє користувачам гнучко налаштувати систему, але для новачків важлива простота та підтримка.
Основні відмінності
Якщо ви звикли працювати з Windows, перехід у Linux може здатися незвичним. Ось кілька ключових відмінностей:
-
Командний рядок — на відміну від Windows, де інтерфейс та всі дії виконуються в основному через графічне оточення, Linux широко використовує командний рядок. У Windows теж можна працювати з командним рядком (CMD або PowerShell), як і дистрибутиви Linux часто мають версії з графічною оболонкою, але суто статистично в Linux це набагато основний спосіб взаємодії з системою.
-
Гнучкість та налаштування — в Linux можна налаштовувати все, що завгодно, починаючи від самого ядра системи і закінчуючи кожним сервісом. Windows зазвичай обмежує користувачу можливість налаштування, даючи інтерфейс із вже заздалегідь визначеними параметрами.
-
Безпека — Linux вважається більш безпечною операційною системою порівняно з Windows. Це з тим, більшість користувачів у Linux працюють без прав суперкористувача (root), й у виконання адміністративних дій потрібно введення пароля.
-
Оновлення та встановлення програм — у Linux програми часто встановлюються через менеджери пакетів, такі як apt або yum, а не через скачування та встановлення файлів із сайту. Оновлення системи також відбуваються централізовано, і це може бути безпечнішим і зручнішим способом підтримки системи в актуальному стані.
-
Файлова система — на відміну від Windows, де використовується система NTFS та розділи C:, D:, E…, у Linux все починається з єдиної кореневої папки /. Усі файли та каталоги можуть бути організовані у дереві, починаючи з кореня.
У цілому нині, ОС сімейства Linux значно продуктивніші у тих серверної роботи. Хоча Microsoft має власну серверну ОС Windows Server, використовується вона швидше в нішевих проектах з певними залежностями або специфічними запитами.
Детально про переваги та недоліки Linux у порівнянні з Windows
Переваги Linux:
-
Відкритість та кастомізація. Linux є відкритим ПЗ, що дозволяє користувачеві змінювати вихідний код, налаштовувати систему та встановлювати тільки ті компоненти, які необхідні. Дистрибутиви Linux пропонують вибір налаштувань, які можуть підлаштувати систему під будь-які вимоги, від легкості до максимальної безпеки.
-
Безпека. У Linux використовується модель безпеки з правами користувачів, де звичайний користувач не має доступу до системних файлів, що підвищує безпеку. Linux значно рідше піддається вірусним атакам і має строгіші механізми контролю доступу.
-
Легкість та ефективність. Ядро Linux не вимагає таких ресурсів, як Windows, і може працювати на старих або слабких комп’ютерах. Завдяки легкості системи можна налаштувати робоче середовище, яке працюватиме швидше на тих самих ресурсах.
-
Стабільність і продуктивність. Linux - це система, яка ідеально підходить для серверів, оскільки вона може працювати безперебійно місяцями та роками. Для роботи з великою кількістю даних та багатозадачності Linux надає більш стабільне та передбачуване середовище
Безкоштовність. Майже всі дистрибутиви Linux є безкоштовними, на відміну від Windows, де необхідно купувати ліцензію.
Недоліки Linux:
Сумісність із програмами. Багато популярних програм, таких як Microsoft Office або Adobe Photoshop, відсутні в Linux, і доводиться шукати альтернативи (наприклад, LibreOffice або GIMP). Деякі професійні програми можуть працювати тільки в Windows, і для цього доводиться використовувати Wine або віртуальні машини.
-
Підтримка драйверів. У деяких випадках драйвери для обладнання можуть бути не так добре підтримані в Linux, особливо для нових моделей принтерів, відеокарт та інших пристроїв. Хоча ситуація покращилася, користувачі іноді стикаються з труднощами при налаштуванні драйверів.
-
Ігри. Хоча Linux все більше підтримує ігри, багато популярних ігор та ігрових платформ (наприклад, Steam) можуть не працювати так само добре, як у Windows. Для ігор на Linux необхідно використовувати Proton, або знайти альтернативи.
Складність для новачків. Для користувачів, які звикли до Windows, перехід на Linux може бути складним, особливо якщо йдеться про командний рядок та налаштування системи вручну.
Тепер, коли ми розібралися з основами, можна переходити до другого розділу, де детальніше розглянемо, що потрібно знати користувачеві Windows, що переходить на Linux.
Що потрібно знати користувачеві Windows, що переходить на Linux?
Файлова система та шляхи
У Linux немає розділів, як у Windows (C:
, D:
, і т.д.). Натомість вся файлова система починається з кореня (/
). Усі пристрої (наприклад, жорсткі диски, флешки) монтуються в цю файлову систему і стають доступними через каталоги, наприклад /mnt
або /media
. Якщо Ви підключаєте зовнішній диск, він буде доступний через каталог на кшталт /media/ім'я_диска
. Важливо розуміти, що вся файлова структура виглядає як єдине дерево і навіть пристрої та розділи інтегруються в це дерево.
Приклад: У Windows зовнішній диск може бути доступний як E:
, а в Linux він буде доступний як /media/username/ExternalDrive
.
Користувач та права доступу
У Linux кожен файл або каталог має власника, групу та права доступу, які можуть бути налаштовані окремо для читання, запису та виконання. Це важлива відмінність від Windows, де можна змінити атрибути безпеки тільки через графічний інтерфейс. У Linux управління правами доступу відбувається через команди, такі як chmod
, chown
, та chgrp
.
Також, Linux часто використовують користувача root для виконання адміністративних завдань. У Windows можна використовувати обліковий запис адміністратора, але в Linux рекомендується запускати команди з правами root тільки за необхідності, використовуючи команду sudo перед командою.
Приклад: Якщо ви хочете змінити налаштування системи, вам потрібно буде використовувати sudo
для виконання команд з правами суперкористувача, наприклад, sudo apt update
для оновлення системи.
Менеджери пакетів та встановлення програм
У Linux немає такого поняття, як завантаження установчих файлів (наприклад, .exe
у Windows). Усі програми встановлюються через менеджери пакетів, які є зручним інструментом для встановлення, оновлення та видалення програм. Це дозволяє швидко встановлювати програми з мінімальними зусиллями.
Приклади популярних менеджерів пакетів:
- APT (
Advanced Package Tool
) для дистрибутивів на базі Debian (наприклад, Ubuntu). Для встановлення програми достатньо виконати команду типу sudo apt install firefox. - YUM/DNF для дистрибутивів на базі Red Hat (наприклад, Fedora, CentOS). Для встановлення програми використовуйте команду sudo dnf install firefox.
- Pacman для Arch Linux та його похідних. Встановлення програми за допомогою sudo pacman -S firefox.
Установка через менеджер пакетів гарантує, що ви отримаєте останню стабільну версію програми і мінімізує ризик завантаження шкідливих файлів.
Оновлення системи
Оновлення у Linux відбуваються централізовано через систему пакетів. Це означає, що Вам не потрібно шукати оновлення вручну для кожної програми, як це відбувається в Windows.
У Linux оновлення часто включають не тільки оновлення для програм, але і для операційної системи та ядра. У Windows оновлення відбуваються через Центр оновлень Windows, і, хоча це теж автоматичний процес, в Linux оновлення можна контролювати за допомогою простих команд у терміналі, наприклад sudo apt update & sudo apt upgrade
для оновлень в Ubuntu.
Використання командного рядка
На відміну від Windows, де командний рядок використовується рідше, Linux є основним інструментом взаємодії з системою. Знання базових команд Linux суттєво спростить використання системи, адже багато дій можна виконати швидше та ефективніше за допомогою терміналу, ніж через графічний інтерфейс.
Приклад: Для створення нового каталогу в Windows достатньо клацнути правою кнопкою миші та вибрати Створити папку
. У Linux ви можете зробити це за допомогою команди у терміналі:
Для навігації файлів у Linux використовується команда cd
, а для перегляду вмісту каталогу - команда ls
. У Windows це аналогічно провіднику, але через командний рядок.
Процес роботи з програмами
У Windows багато програм запускаються автоматично при старті системи і можуть працювати у фоновому режимі без вашого втручання за допомогою системи Служб. У Linux ви часто будете вручну запускати процеси, контролювати їх за допомогою команд, таких як ps для перегляду запущених процесів і kill для завершення програми. А грубим аналогом Служб є Сервіси.
Приклад: Щоб побачити список процесів, запущених на вашій системі, використовуйте команду:
Щоб завершити процес, потрібно використати команду:
kill [PID]
де [PID]
- це ідентифікатор процесу.
Налаштування системи
У Linux більшість параметрів системи доступні через текстові конфігураційні файли, які можна відредагувати за допомогою текстових редакторів, таких як nano, vim або gedit. У Windows параметри найчастіше змінюються через графічний інтерфейс або за допомогою редактора реєстру.
Приклад: Для зміни налаштувань мережі в Linux, вам потрібно буде редагувати файли, такі як /etc/network/interfaces
або використовувати команди для керування мережею, наприклад nmcli
.
Сумісність програм
Хоча в Linux є безліч програм для заміни популярних програм Windows, деякі програми можуть працювати тільки в Windows. Для запуску Windows-програм у Linux існує кілька рішень:
- Wine — дозволяє запускати Windows-програми на Linux.
- VirtualBox або VMware — дозволяє встановити Windows у віртуальній машині всередині Linux.
Такий підхід дасть вам повніше уявлення про практичні аспекти переходу з Windows на Linux. Якщо потрібно продовжити, готовий додати більше деталей!
Основні команди
Достатньо теорії. Давайте пройдемося по практиці!
Невеликий дисклеймер перед ознайомленням з командами
Команди Linux так чи інакше виконуються через термінал. Це може бути прямий термінал на Вашому локальному ПК, віддалене підключення до такого ж терміналу через VNC або IP-KVM і так далі. Але у 90% випадків - це реалізується через віддалене підключення за протоколом SSH
Команди в Linux зазвичай слідують певному синтаксису, який складається з декількох компонентів. Щоб зрозуміти, як працює команда, важливо розуміти роль кожного елемента. Середньостатистична команда в Linux виглядає приблизно так:
Де:
tar
- це назва самої програми або утиліти, яку ви хочете запустити. У нашому прикладі цеtar
- утиліта для створення та вилучення архівів у Linux. У цьому випадку вона використовується для створення архіву з каталогу.czvf
– після команди можуть слідувати різні аргументи, які уточнюють, як програма має працювати. Аргументи зазвичай починаються з одного або двох дефісів і складаються з літер (або слів). У прикладі-czvf
це цілий набір аргументів, і кожен з них виконує конкретне завдання і може бути скомбінований один з одним.archive.tar.gz
іfolder
– після команди та її аргументів йдуть змінні, які являють собою дані, які ви хочете обробити командою. У прикладіarchive.tar.gz
- це назва нашого майбутнього архіву, аfolder
- каталог або файл, який буде архівований.
Як можна побачити, змінні ми виділили окремо. Так само ми виділятимемо їх і далі у всіх прикладах.
Як переглянути детальну інформацію про команду прямо в терміналі?
Синтаксис побудови команд в Linux напрочуд варіативний - щоб описати всі параметри навіть базових команд неодмінно пішло дуже багато часу та тексту. Якщо Ви хочете ознайомитися з усіма параметрами без пошуку відповідної документації, це можна зробити прямо в терміналі.
-
man
і--help
. Щоб дізнатися більше про будь-яку команду в Linux, можна використовувати команду `man’ (manual). Вона показує посібник із використання команди: -
Приклад:
Виведе докладний посібник з команди ls
.
- Альтернативно, більшість команд підтримують прапор
--help
, який також надає коротку інформацію про команду.
Навігація за каталогами
У Linux для навігації файлової системи використовується кілька ключових команд. Основною командою для переміщення між каталогами є cd (change directory).
Приклади використання:
- Перейти до домашнього каталогу користувача:
- Перейти до батьківського каталогу (на рівень вище):
- Перейти до конкретного каталогу:
- Щоб дізнатися, в якому каталозі ви знаходитесь, використовуйте команду pwd (print working directory). Це корисно, якщо ви заплуталися у структурі каталогів:
Виведе повний шлях до поточного каталогу, наприклад /home/user
.
Управління файлами та каталогами
Linux надає кілька команд для роботи з файлами та каталогами. Ось основні з них:
- ls — відображає вміст каталогу.
- Просте використання:
- Для детального списку з правами, власниками та розмірами:
- Для відображення прихованих файлів (починаються з точки):
ls
це хороший приклад команди, де кобмінація аргументів призводить до значного покращення зручності використання. Командаls -lha
не тільки покаже всі директорії та файли, але також встановлені для них права та користувача-власника разом із вагою файлів у зручному для читання форматі:
- cp — копіює файли та каталоги.
- Копіювання файлу:
- Копіювання каталогу (з опцією
-r
для рекурсивного копіювання):
- mv — переміщує або перейменовує файли.
- Переміщення файлу:
- Перейменування файлу:
- rm — видаляє файли чи каталоги.
- Видалення файлу:
- Видалення каталогу та всіх його вмістів файлів (з опцією
-r
):
5. touch — створює порожній файл або оновлює тимчасову позначку існуючого файлу.
- Створення файлу:
Управління правами доступу
У Linux важливою частиною роботи з файлами є керування правами доступу. Використовується команда chmod
для зміни прав доступу та chown
для зміни власника файлів.
1. chmod — змінює права доступу до файлів та каталогів.
- Щоб надати власнику повний доступ (читання, запис, виконання), групі та іншим користувачам використовувати:
Тут 7 означає права на читання, запис та виконання (rwx
) для власника, 5 - на читання та виконання (rx
) для групи, та 5 – для інших.
2. chown — змінює власника та групу файлу.
- Для зміни власника та групи файлу:
Моніторинг системи
Для моніторингу роботи системи та поточних процесів використовується кілька корисних команд:
Порада: детальніше питання моніторингу навантаження та процесів вже описано в іншій нашій статті.
1. top — показує поточні процеси, завантаження системи та пам’ять.
- Приклад:

Щоб вийти з режиму моніторингу, натисніть q
.
2. ps — відображає список поточних процесів.
- Для відображення всіх процесів:
3. df — показує інформацію про доступний та використаний простір на диску. Більш детально описано у наступній статті.
- Для отримання інформації про диски:
4. free — показує інформацію про пам’ять.
- Для отримання інформації про оперативну та своп-пам’ять:
Розвинуті команди
Існує безліч більш розвинених команд з нескінченними варіантами побудови запитів. Їх у цій вступній статті ми не можемо описати детально, але найбільш поширені заслуговують на згадку:
1. su та sudo — команди для виконання дій від імені іншого користувача, найчастіше — суперкористувача root. Це дуже важливі команди, використання яких часто обов’язково для встановлення пакетів або виконання інших дій, що вимагають права суперкористувача.
su
(substitute user) дозволяє перемикатися на іншого користувача, запитуючи його пароль. Приклад:
Щоб перейти до root, просто виконайте su і введіть пароль root.
sudo
дозволяє виконати одну команду від імені іншого користувача (за замовчуванням – root), запитуючи пароль для її виконання. Приклад:
2. grep та — пошук тексту у файлах.
- Приклад:
3. find — пошук файлів у системі. Вона детальніше описана в наступній статті.
- Приклад:
4. tar — архівування та розархівування файлів. Більш детально описано в наступній статті.
- Приклад для створення архіву:
- Приклад для розархівування:
5. wget — завантаження файлів по URL.
- Приклад:
6. curl — надсилання HTTP-запитів та завантаження даних.
- Приклад для отримання вмісту веб-сторінки:
7. nano — текстовий редактор для командного рядка.
- Відкриття файлу:

Для збереження змін: Ctrl+O
, для виходу: Ctrl+X
8. alias — створення псевдонімів для команд.
- Приклад для створення псевдоніма:
9. history — перегляд історії команд, що були введені.
- Приклад:
10. shutdown та reboot — вимикання та перезавантаження системи.
- Для вимикання:
- Для перезавантаження:
11. ip — керування мережевими інтерфейсами.
- Приклад для відображення поточних налаштувань:
12. mount та umount — монтування та розмонтування файлових систем.
- Приклад монтування:
- Приклад розмонтування:
Використання sudo mount
без аргументів виведе детальну інформацію про всі примонтовані пристрої:
13. rsync — синхронізація та резервне копіювання файлів. Більш детально описано у нашій статті.
- Приклад для копіювання:
14. mc — консольний файловий менеджер з інтерфейсом у стилі Norton Commander, який спрощує керування файлами та каталогами.
- Приклад:

Особливості:
- Дві панелі для зручної навігації по файловій системі.
- Можливість копіювати, переміщати, видаляти файли, змінювати права доступу та редагувати текстові файли.
- Підтримка роботи з архівами, FTP, та SSH.
- Навігація здійснюється клавішами стрілок та функціональними клавішами (наприклад, F5 для копіювання, F8 для видалення).
Термінал — це потужний інструмент для роботи з Linux, і чим більше ви ним користуватиметеся, тим швидше освоїтеся. У багатьох випадках використання команд у терміналі значно швидше, ніж через графічний інтерфейс. Не бійтеся помилок, вони легко поправні. Головне – починати!
На закінчення
Linux - це безмежний океан можливостей, і в цій подорожі не буде кінця.
Linux пропонує високий рівень контролю та безпеки, а також свободу налаштування, що робить його ідеальним вибором для розробників, системних адміністраторів та ентузіастів. Простий доступ до потужних інструментів та утиліт командного рядка дозволяє працювати швидше та ефективніше.