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 -“ е особено полезен — това е като “undo” за последната ви промяна на директорията.

Можете да се движите навсякъде във файловата система.

Стъпка 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 означава “човеко-четим” — показва размерите в GB и MB вместо в сурови байтове. Обърнете внимание на реда “/” на основния дял. При 7% използвано, този сървър има достатъчно място. Ако някога видите този номер да се покачва над 80%, време е за почистване.

Знаете точно колко дисково пространство е налично.

Стъпка 3: Проверка на паметта с “free”

Командата free показва използването на RAM.

free -h

Отново, -h ви дава човеко-четим изход. Ключовата колона тук е “available” — това е паметта, която всъщност е свободна за нови приложения. “Used” включва паметта, която ядрото използва за кеширане, която може да бъде освободена, ако е необходимо. На нов VPS с 4GB RAM, виждането на 3.3GB налично е точно това, което искате.

Знаете колко памет има вашият сървър и колко е свободна.

Стъпка 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, когато знаете името на процеса и искате бързо прекратяване.

Можете да убивате процеси, без да знаете техния идентификатор.

Стъпка 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
За начало