15%

Збережіть 15% на всі хостинг-послуги

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

Використовуй код:

Skills
Почати
15.04.2026

Ваш перший тиждень на сервері Linux — 35+ основних команд

Ключові слова: Швидкий довідник перед початком

Перш ніж ми почнемо, ось терміни, які ви побачите протягом цього посібника. Вам не потрібно запам’ятовувати їх — просто знайте, що вони існують, і контекст допоможе зрозуміти їх.

ТермінЩо це означає
Термінал 💻Інтерфейс на основі тексту, де ви вводите команди
Shell 🐚Програма (зазвичай Bash), яка інтерпретує ваші команди
Bash ⚙️Найпоширеніший shell; “мова”, якою говорить ваш термінал
Sudo 🔑Команда, яка дозволяє виконувати інші команди з привілеями адміністратора
Менеджер пакетів 📦Інструмент (наприклад, apt), який встановлює та оновлює програмне забезпечення для вас
Демон / Сервіс 👻Фонова програма, яка працює безперервно (наприклад, веб-сервер)
Дозволи 🔒Правила, які контролюють, хто може читати, записувати або виконувати файл
Root 👑Обліковий запис системного адміністратора з усіма правами

З цими термінами у вашій кишені, ви готові. Почнемо.


Вступ: Початок подорожі сервером

Ви щойно підключилися до свого нового сервера. Можливо, ви налаштували його у провайдера, такого як AlexHost, який пропонує миттєве розгортання Ubuntu одним кліком. Ви відкриваєте термінал, вводите: ssh root@your-server-ip , і натискаєте Enter. Екран очищується. Миготливий курсор дивиться на вас з рядка, який виглядає приблизно так: root@vps:~#

Що далі?

Цей момент — розрив між “У мене є сервер” і “Я знаю, що з ним робити” — це те, де більшість людей зупиняються. Вони закривають термінал, кажуть собі, що розберуться пізніше, і повертаються до клацання через графічні інтерфейси. Але ось у чому справа: Linux керує понад 90% хмарних серверів у світі. Він живить Android-телефони, вбудовані пристрої, суперкомп’ютери та інфраструктуру майже кожної служби, яку ви використовуєте щодня. Люди, які фактично контролюють ці системи, не використовують клацання миші. Вони використовують командний рядок.

Термінал — це не релікт. Це найпряміший, компонуємий і надійний спосіб сказати комп’ютеру, що робити. Немає графічного навантаження, немає меню для навігації, немає очікування завантаження інтерфейсу. Ви вводите команду, щось відбувається, і ви поєднуєте наступну команду з нею. Через SSH це працює однаково, незалежно від того, чи ваш сервер знаходиться в сусідній кімнаті чи через океан.

Ця стаття не надасть вам список для запам’ятовування. Натомість ви пройдете реалістичну 7-денну подорож на новому Linux VPS — той самий прогрес, який ви б пройшли, якби сьогодні сіли за новий сервер. До кінця ви не просто знатимете команди. Ви знатимете, коли використовувати кожну з них.


День 1: Підключення та дослідження

Ви щойно підключилися до свого сервера. Термінал показує щось на кшталт root@vps:~#. Ви увійшли — але де ви? Що тут? Давайте дізнаємося.

Крок 1: Підключення за допомогою “ssh”

Все починається з ssh — Secure Shell. Це командний шлюз, який переносить вас з вашої локальної машини на віддалений сервер.

ssh username@server-ip

На більшості постачальників VPS ви використовуватимете IP-адресу з вашої панелі управління хостингом і ім’я користувача, яке вони вам призначають (часто root або ubuntu). Якщо це ваш перший раз підключення, вас попросять підтвердити відбиток сервера — введіть yes і натисніть Enter.

Ви тепер підключені до свого сервера.

Крок 2: Підтвердження вашої особи за допомогою “whoami”

Перш ніж робити щось, перевірте, під яким користувачем ви увійшли.

whoami

Якщо ви бачите root, ви працюєте як всесильний адміністратор. Це звично для нового VPS, але це також означає, що кожна команда, яку ви вводите, має повний доступ до системи — тому звертайте увагу.

Ви знаєте, хто ви в цій системі.

Крок 3: Знайдіть своє місцезнаходження за допомогою: “pwd”

Команда pwd — Print Working Directory — точно вказує, де ви знаходитесь у файловій системі.

pwd
На новому VPS, увійшовши як root, ви зазвичай потрапите в /root. Якщо ви використовуєте звичайний обліковий запис користувача, ви побачите /home/username замість цього. Думайте про це як про вашу “домашню базу” — відправну точку для всього, що ви робитимете.

Ви знаєте, де ви знаходитесь.

Крок 4: Подивіться, що присутнє за допомогою “ls”

Тепер давайте подивимося навколо сервера. Команда ls виводить список файлів і каталогів у вашому поточному місці.

ls
Порожній вивід означає, що тут ще нічого немає — що нормально для нового сервера. Але справжня сила приходить з прапорами. Спробуйте:

ls -la
Це дозволяє вам бачити все, включаючи приховані файли (ті, що починаються з точки) і детальну інформацію:

Прапор -l дає вам довгий формат (дозволи, власник, розмір, дата), а -a показує всі файли, включаючи приховані. Ви будете постійно використовувати ls -la.

Ви можете бачити все у вашій поточній директорії.

Крок 5: Переміщення за допомогою “cd”

Команда cd — Change Directory — це те, як ви навігуєте по файловій системі.

cd /var/log
#Check new dir location
pwd
/var/log

Три варіації, які ви будете постійно використовувати:

cd ..      # Go up one directory level
cd ~       # Go back to your home directory
cd -       # Go back to the previous directory you were in

Трюк “cd -“ особливо корисний — це як “відміна” для вашої останньої зміни директорії.

Ви можете переміщатися по файловій системі.

Крок 6: Очистіть за допомогою “clear”

Після виконання кількох команд ваш термінал стає захаращеним. Команда clear очищає екран і надає вам свіжий старт.

clear
Порада: ви також можете натиснути Ctrl+L для того ж ефекту — це швидше, коли це стає м’язовою пам’яттю.

Ваш термінал чистий і готовий до наступної команди.

Крок 7: Шукайте інформацію за допомогою “man”

Вам не потрібно запам’ятовувати кожен прапор для кожної команди. Команда man — Manual — відкриває вбудовану документацію для будь-якої команди.

man ls
Це відкриває повну сторінку керівництва для ls, показуючи кожен доступний прапор, що він робить, і приклади. Навігуйте за допомогою стрілок або пробілу, і натисніть q, щоб вийти.
Думайте про man як про вашу страховку. Коли ви не впевнені, що робить команда або які параметри вона підтримує, man має відповідь.

У вас є доступ до вбудованої документації для кожної команди.

Крок 8: Перегляньте своє минуле за допомогою “history”

Команда history показує кожну команду, яку ви ввели в цій сесії.

history

    1  whoami
    2  pwd
    3  ls -la
    4  cd /var/log
    5  clear
    6  history

Ось корисна частина: ви можете повторно виконати будь-яку команду, ввівши “!” за її номером.

!3
Це повторно виконує команду номер 3 (ls -la). Це рятує вас від повторного введення довгих команд — і від помилок при поспіху.

Ви можете переглядати та повторно виконувати будь-яку попередню команду.


День 2: Створення та управління вашим робочим простором

Ви знаєте, де ви знаходитесь і як переміщатися. Тепер настав час щось побудувати — структуру директорій для вашого проекту.

Крок 1: Створення директорій за допомогою “mkdir”

Команда mkdir — Make Directory — створює нові папки.

mkdir projects
# Check dir
ls
projects

Але справжня зірка — це mkdir -p, яка створює вкладені директорії одним махом — включаючи будь-які батьківські директорії, які ще не існують.

mkdir -p projects/myapp/logs

Без -p вам потрібно було б створити projects, потім projects/myapp, потім projects/myapp/logs окремо. З ним одна команда робить все.

Ви створили структуру директорій для вашого проекту.

Крок 2: Створення порожніх файлів за допомогою “touch”

Команда touch створює порожній файл миттєво.

touch projects/myapp/notes.txt
Перевірте новий файл:


ls projects/myapp/
# logs notes.txt

Якщо файл вже існує, touch оновлює його часову мітку. Це швидкий спосіб створити файли-заготовки або позначити, що ви працювали над чимось.

Ви створили свій перший файл на сервері.

Крок 3: Копіювання файлів за допомогою “cp”

Команда cp — Copy — дублює файли та директорії.

cp projects/myapp/notes.txt projects/myapp/notes-backup.txt

Для директорій вам потрібен прапор -r (рекурсивний), який копіює все всередині директорії теж:

cp -r projects/myapp projects/myapp-backup

Ви можете дублювати файли та цілі дерева директорій.

Крок 4: Переміщення або перейменування файлів за допомогою “mv”

Команда mv виконує дві роботи: переміщує файли та перейменовує їх. Та сама команда, різний контекст.

mv projects/myapp/notes.txt projects/myapp/readme.txt

Це перейменовує notes.txt на readme.txt в тій же директорії. Щоб фактично перемістити файл до іншого місця:

mv projects/myapp/readme.txt projects/

Ви можете переміщати та перейменовувати файли однією командою.

Крок 5: Видалення файлів за допомогою “rm”

Команда rm — Remove — видаляє файли назавжди.

rm projects/myapp-backup/readme.txt

Для директорій використовуйте -r (рекурсивний):

rm -r projects/myapp-backup

⚠️ ПОПЕРЕДЖЕННЯ: rm -rf — це ядерний варіант. Прапор -f примусово видаляє без запиту підтвердження, і в поєднанні з -r він видалить цілі дерева директорій мовчки. Немає скасування. Подвійно перевірте шлях перед натисканням Enter. Ніколи не запускайте rm -rf / — це спробує видалити всю вашу файлову систему.

Ви можете видаляти файли та директорії, які вам більше не потрібні.

Крок 6: Виведення та запис тексту за допомогою “echo”

Команда echo виводить текст на термінал — але її справжня сила проявляється, коли вона поєднується з операторами перенаправлення.

echo "Hello, server"

Hello, server

Тепер перенаправте цей вивід у файл за допомогою “>” (перезапис) або “>>” (додати):

echo "Server setup started" > projects/myapp/notes.txt

echo "Added a log entry" >> projects/myapp/notes.txt

Оператор > створює файл або перезаписує його, якщо він існує. Оператор >> додає в кінець без торкання існуючого вмісту. Це ваш перший смак перенаправлення — однієї з основних суперсил Linux.

Ви можете записувати текст у файли прямо з командного рядка.

Крок 7: Читання файлів за допомогою “cat”

Команда cat — Concatenate — відображає вміст файлів у терміналі.

cat projects/myapp/notes.txt

Для невеликих файлів cat — найшвидший спосіб перевірити вміст. Для більших файлів вам знадобиться less (який дозволяє прокручувати), але cat — це ваш вибір для швидких перевірок.

Ви можете читати вміст файлів без відкриття редактора.

Крок 8: Редагування файлів за допомогою “nano”

Коли вам потрібно фактично змінити файл, nano — це найбільш дружній до початківців текстовий редактор терміналу.

nano projects/myapp/notes.txt

Nano відкриває файл у вашому терміналі з простим інтерфейсом. Гарячі клавіші відображаються внизу екрана.

💡 Порада: Основні гарячі клавіші Nano: Ctrl+O для збереження (потім Enter для підтвердження), Ctrl+X для виходу, Ctrl+W для пошуку тексту. Це все, що вам потрібно, щоб почати редагування.

Ви також почуєте про vim — він більш потужний, але має сумнозвісно круту криву навчання. Залишайтеся з nano на даний момент. Ви можете дослідити vim пізніше, коли будете комфортно працювати з терміналом.

Ви можете редагувати файли безпосередньо на сервері.


День 3: Пошук того, що вам потрібно

Ви створили десяток файлів у кількох директоріях. Тепер вам потрібно знайти той, який ви редагували вчора. Ось як.

Крок 1: Пошук файлів за допомогою “find”

Команда find шукає файли за ім’ям, типом, розміром та інше.

find ./projects -name "*.txt"

Це шукає все під /home для файлів, що закінчуються на .txt. Ви також можете шукати за типом — find / -type f -name “config” знаходить всі файли з ім’ям “config” по всій системі.

find ретельний, але може бути повільним на великих файлових системах. Для повсякденних пошуків це ваш найнадійніший інструмент.

Ви можете знайти будь-який файл у системі за ім’ям або типом.

Крок 2: Пошук всередині файлів за допомогою “grep”

Якщо find знаходить файли, grep знаходить вміст всередині них. Це детектив командного рядка.

grep "error" /var/log/syslog
Apr 10 12:15:03 server kernel: [error] disk I/O timeout
Apr 10 12:18:22 server nginx: [error] connection refused
Ось де grep стає ще потужнішим — поєднайте його з іншими командами за допомогою оператора труби “|”. Труба бере вивід однієї команди і подає його як вхід до наступної.

cat /var/log/syslog | grep "error"

Це робить те ж саме, що і попередній приклад, але шаблон труби дозволяє вам поєднувати команди разом. Ви будете постійно використовувати труби, коли вони стануть зрозумілими. Наприклад, щоб шукати помилки в сьогоднішніх записах журналу:

cat /var/log/syslog | grep "Apr 15" | grep "error"

Кожна труба звужує результати далі. Ця компонуємість — це те, що робить командний рядок Linux таким потужним.

Ви можете шукати будь-який текстовий шаблон у будь-якому файлі.

Крок 3: Знайдіть місця виконуваних файлів за допомогою “which”

Команда which показує, де знаходиться виконуваний файл команди в системі.

which python3
/usr/bin/python3
Це корисно, коли вам потрібно знати, яку версію програми ви запускаєте, або коли скрипт потребує повного шляху до виконуваного файлу.

Ви точно знаєте, де зберігається виконуваний файл будь-якої команди.

Крок 4: Знайдіть більше за допомогою “whereis”

Команда whereis йде далі, ніж which — вона знаходить бінарник, вихідний код (якщо встановлено) і сторінку керівництва.

whereis python3
python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/man/man1/python3.1.gz
Де which дає вам один шлях, whereis дає вам повну картину. Використовуйте which, коли вам потрібен лише виконуваний файл. Використовуйте whereis, коли хочете побачити все, що стосується команди.

Ви можете знайти кожен компонент команди в системі.

Крок 5: Отримайте короткий опис за допомогою “whatis”

Команда whatis дає вам однорядковий опис будь-якої команди.

whatis grep
grep (1) - print lines that match patterns
Це найшвидший спосіб нагадати собі, що робить команда, без відкриття повної сторінки man. Думайте про це як про швидкий глосарій.

Ви можете отримати однорядковий підсумок призначення будь-якої команди.


День 4: Розуміння вашої машини

Перш ніж щось встановлювати, ви повинні знати, з чим працюєте. Скільки у вас дискового простору? Скільки RAM? Що вже працює?

Крок 1: Перевірте інформацію про систему за допомогою “uname”

Команда uname — Unix Name — відображає інформацію про систему.

uname -a
Linux alexserver 6.8.0-110-generic #110-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 15:09:20 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Прапор -a показує все: ім’я ядра, ім’я хоста, версію ядра, архітектуру та операційну систему. На VPS це точно вказує, яке ядро ви використовуєте і чи працюєте ви на 64-бітній системі (ви майже напевно так і є).

Ви знаєте версію ядра та архітектуру системи.

Крок 2: Перевірте дисковий простір за допомогою “df”

Команда df — Disk Free — показує, скільки у вас є місця для зберігання і скільки використовується.

df -h

Прапор -h означає “зрозумілий для людини” — він відображає розміри в ГБ і МБ замість сирих байтів. Зверніть увагу на рядок “/” кореневого розділу. При 7% використаного, цей сервер має багато місця. Якщо ви коли-небудь побачите, що це число піднімається вище 80%, настав час прибрати.

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

Крок 3: Перевірте пам’ять за допомогою “free”

Команда free показує використання вашої RAM.

free -h

Знову ж таки, -h дає вам зрозумілий для людини вивід. Ключовий стовпець тут — “available” — це пам’ять, фактично доступна для нових додатків. “Used” включає пам’ять, яку ядро використовує для кешування, яку можна звільнити, якщо потрібно. На новому VPS з 4 ГБ RAM, бачити 3.3 ГБ доступної — це саме те, що ви хочете.

Ви знаєте, скільки пам’яті має ваш сервер і скільки вільно.

Крок 4: Моніторинг процесів за допомогою “top”

Команда top показує моніторинг процесів у реальному часі — живий вигляд того, що працює і які ресурси кожен процес споживає.

top

top оновлюється кожні кілька секунд. Найважливіші стовпці — PID (ідентифікатор процесу), %CPU, %MEM і COMMAND. Якщо ваш сервер коли-небудь відчувається повільним, top — це перше місце, куди слід звернутися.

💡 Порада: Натисніть q, щоб вийти з top. Якщо top працює і ви не знаєте, як зупинити, це відповідь.

Ви можете моніторити запущені процеси в реальному часі.

Крок 5: Знімок процесів за допомогою “ps”

Команда ps — Process Status — дає вам статичний знімок запущених процесів.

ps aux

Прапори aux показують всі процеси від усіх користувачів з детальною інформацією. Ключові стовпці: USER (хто володіє процесом), PID (ідентифікатор процесу, який ви б використовували з kill), %CPU і %MEM (використання ресурсів), і COMMAND (що працює). Використовуйте ps, коли вам потрібен швидкий знімок, а не живий вигляд.

Ви можете зробити знімок кожного запущеного процесу.

Крок 6: Перевірте календар за допомогою “cal”

Команда cal відображає простий календар.

cal

     April 2026
Su Mo Tu We Th Fr Sa
           1  2  3  4
  5  6  7  8  9 10 11
 12 13 14 15 16 17 18
 19 20 21 22 23 24 25
 26 27 28 29 30

Це не є суттєвим, але це приємне нагадування, що термінал може робити більше, ніж просто керувати серверами. Це також швидкий спосіб перевірити дату, не виходячи з сесії.

Ви можете відобразити календар прямо у вашому терміналі.

Крок 7: Перевірте дату за допомогою “date”

Команда date показує поточну системну дату та час.

date
Wed Apr 15 14:32:01 UTC 2026
Це важливіше, ніж ви думаєте. Багато служб — особливо сертифікати SSL, ротація журналів та заплановані завдання — залежать від точного системного часу. Якщо дата виглядає неправильно, вам слід виправити її перед встановленням чого-небудь.

Ви знаєте поточну дату та час вашого сервера.


День 5: Встановлення та запуск служб

Ваш сервер працює, ви знаєте його характеристики, і тепер настав час зробити його корисним. Давайте встановимо програмне забезпечення та запустимо служби.

Крок 1: Оновлення списків пакетів за допомогою “apt update”

Перед встановленням чого-небудь оновіть списки репозиторіїв пакетів.

sudo apt update
Результат:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
Fetched 257 kB in 2s (134 kB/s)
Reading package lists... Done
Building dependency tree... Done
Важлива відмінність: apt update оновлює список доступних пакетів — він нічого не встановлює. apt upgrade фактично завантажує та встановлює нові версії пакетів, які у вас вже є. Вони майже завжди йдуть разом:

sudo apt update && sudo apt upgrade -y

На системах на базі Red Hat, таких як CentOS або Fedora, еквівалентні команди — yum update або dnf update.

Ваш список пакетів оновлений і готовий до встановлення.

Крок 2: Встановлення програмного забезпечення за допомогою “apt install”

Тепер давайте встановимо щось. Nginx — це популярний веб-сервер — хороший перший сервіс для налаштування.

sudo apt install nginx -y
Результат:
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
nginx nginx-common nginx-core
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 582 kB of archives.
Setting up nginx (1.18.0-6ubuntu14.4) ...
Це те, де ваш сервер починає робити щось реальне. Прапор -y автоматично підтверджує встановлення, щоб вам не довелося вводити yes. Nginx буде встановлено і зазвичай почне працювати відразу.

Ви встановили свій перший сервіс на сервері.

Крок 3: Управління службами за допомогою “systemctl”

Команда systemctl — System Control — це те, як ви запускаєте, зупиняєте та керуєте службами.

systemctl status nginx
Результат:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2026-04-15 14:35:00 UTC; 2min ago
Main PID: 1234 (nginx)
Tasks: 2 (limit: 4915)
Memory: 3.2M
CGroup: /system.slice/nginx.service
Ключовий рядок — Active: active (running) — це означає, що Nginx працює. Три команди systemctl, які ви будете постійно використовувати:

sudo systemctl start nginx    # Start the service now
sudo systemctl stop nginx     # Stop the service
sudo systemctl enable nginx   # Start automatically on every boot

Команда enable — це та, яку початківці пропускають. start запускає службу зараз. enable забезпечує її запуск щоразу, коли сервер перезавантажується. Для веб-сервера ви майже завжди хочете обидва.

Ви можете керувати будь-якою службою на вашому сервері.

Крок 4: Зупинка процесів за допомогою “kill”

Іноді вам потрібно вручну завершити процес. Команда kill робить це за допомогою PID.

kill 1234

Це надсилає сигнал завершення процесу 1234, просячи його закритися акуратно. Якщо він не відповідає, ви можете примусити його:

kill -9 1234

⚠️ ПОПЕРЕДЖЕННЯ: kill -9 — це примусове завершення. Воно не дозволяє процесу очиститися — ніякого збереження стану, ніякого правильного закриття з’єднань. Використовуйте його лише тоді, коли звичайний kill не працює.

Знайдіть PID за допомогою ps aux або top, потім вбийте його.

Ви можете завершити будь-який процес за його ідентифікатором.

Крок 5: Вбити за ім’ям за допомогою “pkill”

Іноді пошук PID не потрібен. Команда pkill вбиває процеси за ім’ям.

pkill nginx

Це знаходить всі процеси, що відповідають “nginx”, і завершує їх. Це швидше, ніж шукати PID за допомогою ps, а потім запускати kill. Використовуйте pkill, коли ви знаєте ім’я процесу і хочете швидко його завершити.

Ви можете вбивати процеси, не знаючи їх PID.

Крок 6: Завантаження файлів за допомогою “wget”

Команда wget — Web Get — завантажує файли з інтернету.

wget https://example.com/file.zip
Приклад результату:
--2026-04-15 14:40:00-- https://example.com/file.zip
Resolving example.com (example.com)... 93.184.216.34
Connecting to example.com (example.com)|93.184.216.34|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1048576 (1.0M) [application/zip]
Saving to: 'file.zip'
file.zip 100%[===================>] 1.00M 2.34MB/s in 0.4s
2026-04-15 14:40:01 (2.34 MB/s) - 'file.zip' saved [1048576/1048576]
wget простий: дайте йому URL, він завантажує файл у вашу поточну директорію. Він також підтримує відновлення перерваних завантажень за допомогою wget -c.

Ви можете завантажувати файли безпосередньо на ваш сервер.

Крок 7: Передача даних за допомогою “curl”

Команда curl — Client URL — більш універсальна, ніж wget. Вона обробляє завантаження, запити API та передачу даних з користувацькими заголовками.

curl -O https://example.com/file.zip

Прапор -O зберігає файл з його оригінальним ім’ям (так само, як wget). Але curl може робити набагато більше:

curl -s https://api.example.com/data

Прапор -s працює безшумно, роблячи curl ідеальним для скриптів та викликів API. Хоча wget чудово підходить для простих завантажень, curl — це інструмент, до якого ви звернетеся, коли вам потрібно взаємодіяти з веб-службами, тестувати API або надсилати користувацькі HTTP-заголовки.

Ви можете передавати дані з будь-якого URL — файли, API та інше.


День 6: Захист системи

Ваш сервер працює, сервіс працює. Але зараз він відкритий для всіх. Давайте захистимо його.

📝 ПРИМІТКА: Ваш користувач повинен мати права sudo, щоб ці команди працювали. На більшості постачальників VPS користувач за замовчуванням вже налаштований з доступом sudo. Якщо ви створили нового користувача, вам потрібно буде додати його до групи sudo спочатку.

Крок 1: Виконання команд безпечно за допомогою “sudo”

Команда sudo — Superuser Do — дозволяє вам виконувати команди з підвищеними привілеями.

sudo apt update

Вас попросять ввести ваш пароль перший раз, коли ви використовуєте sudo у сесії. Після цього він запам’ятовує на кілька хвилин. Причина існування sudo проста: постійне виконання як root небезпечне. Одна помилка з привілеями root може знищити вашу систему. sudo змушує вас свідомо підвищувати привілеї для кожної команди — це механізм безпеки, а не просто підвищувач привілеїв.

Ви можете виконувати адміністративні команди без входу як root.

Крок 2: Зміна дозволів файлів за допомогою “chmod”

Команда chmod — Change Mode — контролює, хто може читати, записувати або виконувати файл.

chmod 755 script.sh

Цифри представляють дозволи для трьох груп: власник, група та всі інші. Кожна цифра є сумою читання (4), запису (2) та виконання (1):

  • 755 означає: власник може робити все (4+2+1=7), група може читати та виконувати (4+1=5), всі інші можуть читати та виконувати (4+1=5). Це стандарт для скриптів та директорій.
  • 644 означає: власник може читати та записувати (4+2=6), група може читати (4), всі інші можуть читати (4). Це стандарт для конфігураційних файлів та документів.

chmod 644 config.txt

Якщо скрипт не запускається, це майже завжди проблема з дозволами. chmod +x script.sh — це швидкий спосіб зробити будь-який файл виконуваним без запам’ятовування цифр.

Ви контролюєте, хто може отримати доступ до кожного файлу.

Крок 3: Зміна власника файлу за допомогою “chown”

Команда chown — Change Owner — встановлює, хто володіє файлом.

sudo chown www-data:www-data /var/www/html/index.html

Це змінює власника на www-data і групу на www-data. Це зазвичай використовується при налаштуванні веб-серверів — процес веб-сервера повинен володіти файлами, які він обслуговує. Формат — user:group, і вам майже завжди знадобиться sudo для зміни власника.

Ви можете призначити власника файлу будь-якому користувачеві або групі.

Крок 4: Зміна паролів за допомогою “passwd”

Команда passwd оновлює паролі користувачів.

passwd username
На новому VPS зміна пароля за замовчуванням повинна бути однією з ваших перших дій. Якщо ви увійшли як користувач, чий пароль ви хочете змінити, просто запустіть passwd без імені користувача.

Ви можете оновлювати паролі для будь-якого користувача в системі.

Крок 5: Створення нових користувачів за допомогою “useradd”

Команда useradd створює новий обліковий запис користувача.

sudo useradd -m newuser

Прапор -m критичний — він створює домашню директорію в /home/newuser. Без нього користувач існує, але не має домашньої директорії, що викликає проблеми з SSH та різними додатками. Після створення користувача встановіть його пароль:

sudo passwd newuser

Ви можете створювати нові облікові записи користувачів з домашніми директоріями.

Крок 6: Перемикання користувачів за допомогою “su”

Команда su — Switch User — дозволяє вам увійти як інший користувач.

su - newuser
whoami
newuser
Прапор “-“ (або –login) важливий — він завантажує середовище нового користувача, включаючи його шлях і конфігурацію shell. Без нього ви б перемикалися між користувачами, але зберігали середовище старого користувача, що призводить до заплутаної поведінки.

Ви можете перемикатися між обліковими записами користувачів на сервері.

Крок 7: Налаштування брандмауера за допомогою “ufw”

Команда ufw — Uncomplicated Firewall — це найпростіший спосіб керувати брандмауером вашого сервера на Ubuntu.

Спочатку встановіть політику за замовчуванням на заборону всіх вхідних з’єднань:

sudo ufw default deny incoming
Потім явно дозволте трафік SSH. Цей крок критичний.

sudo ufw allow 22/tcp

⚠️ КРИТИЧНЕ ПОПЕРЕДЖЕННЯ: Завжди запускайте sudo ufw allow 22/tcp перед sudo ufw enable. Якщо ви увімкнете брандмауер без дозволу SSH, ви заблокуєте себе з сервера. Ваш єдиний варіант буде доступ до сервера через консоль вашого хостинг-провайдера — що може бути недоступним на всіх планах.

Тепер безпечно увімкнути брандмауер:

sudo ufw enable
Command may disrupt existing SSH connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Ви можете перевірити стан у будь-який час:

sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Ваш сервер тепер приймає лише вхідні з’єднання SSH на порті 22. Все інше заблоковано. Коли ви встановите Nginx пізніше, ви додасте ще одне правило: sudo ufw allow 80/tcp для HTTP і sudo ufw allow 443/tcp для HTTPS.

Ваш сервер захищений брандмауером.


День 7: Перевірка мережі та завершення

Ваш сервер налаштований, захищений і працює. Перш ніж ви закінчите, давайте перевіримо, чи все працює ззовні, і дізнаємося, як правильно вимкнути.

Крок 1: Перевірка підключення за допомогою “ping”

Команда ping перевіряє, чи може ваш сервер досягти інших машин у мережі.

ping -c 4 8.8.8.8
Прапор -c 4 обмежує ping до 4 пакетів. Без нього ping працює вічно, поки ви не натиснете Ctrl+C. Статистика в кінці говорить вам все: 4 пакети відправлено, 4 отримано, 0% втрат. Мережа вашого сервера працює.

Ви підтвердили, що ваш сервер має робоче мережеве підключення.

Крок 2: Перевірка мережевих інтерфейсів за допомогою “ip”

Команда ip показує конфігурацію мережі вашого сервера.

ip addr
Команда ip замінює застарілу ifconfig. Вивід показує ваш інтерфейс loopback (lo, завжди 127.0.0.1) і ваш основний мережевий інтерфейс (eth0 у цьому випадку). Рядок inet показує IP-адресу вашого сервера — це адреса, яку ви б використовували для входу через SSH або доступу до вашого веб-сервера.

Ви можете бачити IP-адреси та мережеві інтерфейси вашого сервера.

Крок 3: Створення посилань на файли за допомогою “ln”

Команда ln створює посилання між файлами — по суті, ярлики.

ln -s /var/www/html /home/user/webroot

Це створює символічне посилання на /home/user/webroot, яке вказує на /var/www/html. Коли ви отримуєте доступ до посилання, ви фактично отримуєте доступ до цільової директорії. Символічні посилання корисні для створення зручних шляхів доступу без дублювання файлів.

Ви можете створювати ярлики до файлів та директорій будь-де в системі.

Крок 4: Безпечне вимкнення за допомогою “shutdown”

Команда shutdown вимикає ваш сервер контрольованим чином.

sudo shutdown -h now

Прапор -h означає “halt” — зупинити все і вимкнути. now означає негайно. Але ви також можете запланувати вимкнення:

sudo shutdown -h +5

Це дає вам 5 хвилин до вимкнення — достатньо часу, щоб зберегти роботу, повідомити користувачів або передумати. Щоб скасувати заплановане вимкнення:

sudo shutdown -c

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

Ви можете безпечно вимкнути сервер, негайно або за розкладом.

Крок 5: Перезавантаження за допомогою “reboot”

Команда reboot перезавантажує ваш сервер.

sudo reboot

Це еквівалентно shutdown -r now — прапор -r означає “перезавантаження” замість “halt”. Ви будете використовувати це після оновлень ядра або змін конфігурації, які потребують нового запуску.

Ви можете перезавантажити сервер однією командою.


Що далі

Сім днів тому ви дивилися на порожній термінал після SSH-підключення до сервера, який ви не знали, як використовувати. Тепер ви можете навігувати по файловій системі, створювати та керувати файлами, шукати що-небудь у системі, перевіряти стан вашого сервера, встановлювати програмне забезпечення, запускати служби, захищати безпеку та керувати життєвим циклом сервера від запуску до вимкнення.

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

Відкрийте термінал сьогодні. Запустіть ls, cd і pwd, поки вони не стануть природними. Додайте одну нову команду на день. Протягом тижня термінал не буде відчуватися як чужий інтерфейс. Він буде відчуватися як пряма лінія до вашого сервера, якою він є.

Якщо ви готові застосувати ці команди на власному сервері, AlexHost пропонує доступні плани Linux VPS з миттєвим налаштуванням і підтримкою 24/7 — чудове місце для практики без ризику.


Шпаргалка: Всі команди на одному погляді

Ось кожна команда з цього посібника в одному місці. Закладкайте цю сторінку.

 

КомандаРозшифровкаЩо вона робить
ssh
Secure ShellПідключення до віддаленого сервера безпечно
whoami
Who Am IПоказати поточного користувача
pwd
Print Working DirectoryПоказати шлях до поточної директорії
ls
ListСписок файлів і директорій
cd
Change DirectoryНавігація між директоріями
clear
ClearОчистити екран терміналу
man
ManualВідкрити сторінку керівництва для будь-якої команди
history
HistoryПоказати раніше виконані команди
mkdir
Make DirectoryСтворити нові директорії
touch
TouchСтворити порожні файли або оновити часові мітки
cp
CopyКопіювати файли та директорії
mv
MoveПереміщення або перейменування файлів та директорій
rm
RemoveВидалити файли та директорії
echo
EchoВивести текст або записати у файли
cat
ConcatenateВідобразити вміст файлів
nano
NanoТекстовий редактор на основі терміналу
find
FindПошук файлів за ім’ям, типом або атрибутами
grep
Global Regular Expression PrintПошук текстових шаблонів у файлах
which
WhichЗнайти шлях до виконуваного файлу команди
whereis
Where IsЗнайти бінарник, вихідний код та керівництво для команди
whatis
What IsОтримати однорядковий опис команди
uname
Unix NameВідобразити інформацію про систему
df
Disk FreeПоказати використання дискового простору
free
FreeПоказати використання пам’яті/RAM
top
TopМоніторинг процесів у реальному часі
ps
Process StatusЗнімок запущених процесів
cal
CalendarВідобразити календар
date
DateПоказати або встановити системну дату та час
apt update
APT UpdateОновити списки репозиторіїв пакетів
apt install
APT InstallВстановити програмні пакети
systemctl
System ControlЗапуск, зупинка та управління службами
kill
KillЗавершити процес за PID
pkill
Process KillЗавершити процеси за ім’ям
wget
Web GetЗавантажити файли з інтернету
curl
Client URLПередача даних з URL
sudo
Superuser DoВиконувати команди з підвищеними привілеями
chmod
Change ModeЗмінити дозволи файлів
chown
Change OwnerЗмінити власника файлу
passwd
PasswordЗмінити паролі користувачів
useradd
User AddСтворити новий обліковий запис користувача
su
Switch UserПеремикання на іншого користувача
ufw
Uncomplicated FirewallУправління брандмауером сервера
ping
PingПеревірка мережевого підключення
ip
IPПоказати мережеві інтерфейси та адреси
ln
LinkСтворити посилання на файли (символічні або жорсткі)
shutdown
ShutdownБезпечно вимкнути сервер
reboot
RebootПерезавантажити сервер

 


15%

Збережіть 15% на всі хостинг-послуги

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

Використовуй код:

Skills
Почати