Ваш перший тиждень на Linux сервері — 35+ необхідних команд
Ключові слова: Швидкий довідник перед початком
Перед тим як почати, ось терміни, які ви побачите протягом цього посібника. Вам не потрібно їх запам’ятовувати — просто знайте, що вони існують, і контекст все прояснить.
| Термін | Що це означає |
|---|---|
| Terminal 💻 | Текстовий інтерфейс, де ви вводите команди |
| Shell 🐚 | Програма (зазвичай Bash), яка інтерпретує ваші команди |
| Bash ⚙️ | Найпоширеніший shell; “мова”, якою розмовляє ваш terminal |
| Sudo 🔑 | Команда, яка дозволяє вам запускати інші команди з правами адміністратора |
| Package manager 📦 | Інструмент (як apt), який встановлює та оновлює програмне забезпечення для вас |
| Daemon / Service 👻 | Фонова програма, яка працює безперервно (як веб-сервер) |
| Permissions 🔒 | Правила, які контролюють, хто може читати, писати або виконувати файл |
| Root 👑 | Всемогутний обліковий запис системного адміністратора |
З цими термінами в кишені, ви готові. Давайте почнемо.
Вступ: Початок подорожі на сервері
Ви щойно підключилися до свого нового сервера. Можливо, ви розгорнули його у провайдера на кшталт AlexHost, який пропонує миттєве розгортання Ubuntu одним клацанням. Ви відкриваєте термінал, вводите: ssh root@your-server-ip , і натискаєте Enter. Екран очищується. Мигаючий курсор дивиться на вас з рядка, який читається приблизно так: root@vps:~#
Що тепер?

Термінал — це не реліквія. Це найпряміший, найбільш складний і надійний спосіб наказати комп’ютеру, що робити. Немає графічних накладних витрат, немає меню для навігації, немає очікування на завантаження UI. Ви вводите команду, щось відбувається, і ви ланцюжете наступну команду до неї. Через 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 (recursive), який копіює все всередину директорії:
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 (recursive):
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 стає ще більш потужним — поєднайте його з іншими командами за допомогою оператора pipe “|”. Pipe передає вихід однієї команди як вхід до наступної.
cat /var/log/syslog | grep "error"Це робить те саме, що й попередній приклад, але шаблон pipe дозволяє вам об’єднувати команди разом. Ви будете постійно використовувати pipes, як тільки вони вам зрозуміють. Наприклад, щоб шукати помилки в записах журналу сьогоднішнього дня:
cat /var/log/syslog | grep "Apr 15" | grep "error"
Кожен pipe звужує результати далі. Ця композиційність — це те, що робить командний рядок 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. Подумайте про це як про швидкий пошук глосарію.
✅ Ви можете отримати однорядковий опис мети будь-якої команди.
Ready
to make it happen?
Pick what fits your project
VPS
Dedicated
День 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 означає “читаємо для людини” — він відображає розміри в GB та MB замість сирих байтів. Зверніть увагу на рядок розділу “/” root. При 7% використання, цей сервер має багато місця. Якщо ви коли-небудь побачите, що це число перевищує 80%, пора прибирати.
✅ Ви точно знаєте, скільки місця на диску доступно.
Крок 3: Перевірте пам’ять за допомогою “free”
Команда free показує використання вашої RAM.
free -h
Знову ж таки, -h дає вам читаємий для людини результат. Ключовий стовпець тут — “available” — це пам’ять, яка насправді вільна для нових додатків. “Used” включає пам’ять, яку ядро використовує для кешування, яка може бути звільнена за потреби. На свіжому VPS з 4GB RAM, бачити 3.3GB доступної пам’яті — це саме те, що вам потрібно.
✅ Ви знаєте, скільки пам’яті має ваш сервер та скільки вільно.
Крок 4: Моніторьте процеси за допомогою “top”
Команда top показує моніторинг процесів у реальному часі — живий вид того, що запущено та які ресурси споживає кожен процес.
top
top оновлюється кожні кілька секунд. Найважливіші стовпці — PID (ID процесу), %CPU, %MEM та COMMAND. Якщо ваш сервер коли-небудь працює повільно, top — це перше місце для перевірки.
💡 ПОРАДА: Натисніть q, щоб вийти з top. Якщо top запущено і ви не знаєте, як зупинити, це відповідь.
✅ Ви можете моніторити запущені процеси в реальному часі.
Крок 5: Знімок процесів за допомогою “ps”
Команда ps — Process Status — дає вам статичний знімок запущених процесів.
ps aux
Прапори aux показують усі процеси від усіх користувачів з детальною інформацією. Ключові стовпці: USER (хто володіє процесом), PID (ID процесу, який ви використовуватимете з 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, потім завершіть його.
✅ Ви можете припинити будь-який процес за його ID.
Крок 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) важливий — він завантажує середовище нового користувача, включаючи його шлях та конфігурацію оболонки. Без нього ви б перемикалися між користувачами, але зберігали б старе середовище користувача, що призводить до заплутаної поведінки.
✅ Ви можете перемикатися між обліковими записами користувачів на сервері.
Крок 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 означає “restart” замість “halt”. Ви використовуватимете це після оновлень ядра або змін конфігурації, які вимагають свіжого запуску.
✅ Ви можете перезавантажити сервер однією командою.
Що далі
Сім днів тому ви дивилися на порожній термінал після SSH-підключення до сервера, який не знали, як використовувати. Тепер ви можете навігувати по файловій системі, створювати та керувати файлами, шукати що-небудь у системі, перевіряти здоров’я свого сервера, встановлювати програмне забезпечення, запускати сервіси, посилювати безпеку та керувати життєвим циклом сервера від запуску до вимкнення.
Справжня навичка — це не запам’ятовування цих команд. Це знання, яку команду використати, коли з’являється проблема. Це приходить від їх використання — не від читання про них.
Відкрийте термінал сьогодні. Запустіть ls, cd та pwd, доки вони не почнуть відчуватися природно. Додавайте одну нову команду на день. За тиждень термінал більше не буде відчуватися як чужий інтерфейс. Це буде прямий зв’язок з вашим сервером.
Якщо ви готові застосувати ці команди на своєму сервері, AlexHost пропонує доступні плани Linux VPS з миттєвим налаштуванням та цілодобовою підтримкою — чудове місце для практики без ризику.
Шпаргалка: Усі команди з одного погляду
Ось кожна команда з цього посібника в одному місці. Додайте цю сторінку в закладки.
| Команда | Розшифровується як | Що вона робить |
|---|---|---|
| Secure Shell | Безпечне підключення до віддаленого сервера |
| Who Am I | Показати поточне ім’я користувача |
| Print Working Directory | Показати шлях поточної директорії |
| List | Список файлів і директорій |
| Change Directory | Навігація між директоріями |
| Clear | Очистити екран терміналу |
| Manual | Відкрити сторінку довідки для будь-якої команди |
| History | Показати раніше виконані команди |
| Make Directory | Створити нові директорії |
| Touch | Створити порожні файли або оновити часові мітки |
| Copy | Копіювати файли і директорії |
| Move | Перемістити або перейменувати файли і директорії |
| Remove | Видалити файли і директорії |
| Echo | Вивести текст або записати у файли |
| Concatenate | Відобразити вміст файлу |
| Nano | Текстовий редактор на основі терміналу |
| Find | Пошук файлів за назвою, типом або атрибутами |
| Global Regular Expression Print | Пошук текстових шаблонів у файлах |
| Which | Знайти шлях виконуваного файлу команди |
| Where Is | Знайти двійковий файл, вихідний код і довідку для команди |
| What Is | Отримати однорядковий опис команди |
| Unix Name | Відобразити інформацію про систему |
| Disk Free | Показати використання дискового простору |
| Free | Показати використання пам’яті/RAM |
| Top | Моніторинг процесів у реальному часі |
| Process Status | Снімок запущених процесів |
| Calendar | Відобразити календар |
| Date | Показати або встановити системну дату і час |
| APT Update | Оновити списки репозиторіїв пакетів |
| APT Install | Встановити програмні пакети |
| System Control | Запустити, зупинити та керувати сервісами |
| Kill | Завершити процес за PID |
| Process Kill | Завершити процеси за назвою |
| Web Get | Завантажити файли з інтернету |
| Client URL | Передача даних з URL-адрес |
| Superuser Do | Запустити команди з підвищеними привілеями |
| Change Mode | Змінити дозволи файлу |
| Change Owner | Змінити власника файлу |
| Password | Змінити паролі користувачів |
| User Add | Створити новий обліковий запис користувача |
| Switch User | Перейти на іншого користувача |
| Uncomplicated Firewall | Керування брандмауером сервера |
| Ping | Перевірити мережеву з’єднаність |
| IP | Показати мережеві інтерфейси та адреси |
| Link | Створити посилання на файли (символічні або жорсткі) |
| Shutdown | Безпечно вимкнути сервер |
| Reboot | Перезавантажити сервер |
на всіх хостингових послугах