Przegląd poleceń, których używasz codziennie przy zarządzaniu VPS. Przy każdym wyjaśniamy, co robi i co oznaczają jego opcje. Na końcu znajdziesz ściągę do wydrukowania.
Czego potrzebujesz
- VPS w StormHost z Ubuntu 24.04 lub Debianem 13
- Połączenie SSH (poradnik) albo konsola w przeglądarce
- Około 20 minut na wypróbowanie
Jak czytać polecenie#
ls -la /var/log| Część | Przykład | Znaczenie |
|---|---|---|
| Polecenie | ls | Program, który się uruchamia (tutaj wypisanie folderu). |
| Opcje | -la | Zmieniają jego zachowanie. Krótkie zapisuje się jednym myślnikiem i można je łączyć (-l -a = -la), długie dwoma (--all). |
| Argument | /var/log | Na czym polecenie pracuje (plik, folder, nazwa pakietu). |
Przydatne klawisze:
| Klawisz | Co robi |
|---|---|
| Tab | Uzupełnia nazwę polecenia, pliku lub folderu. Dwukrotne naciśnięcie wypisuje możliwości. Oszczędza literówek. |
| Strzałki Góra / Dół | Przewijają wcześniej wpisane polecenia. |
| Ctrl+C | Przerywa działające polecenie. W terminalu to nie jest kopiowanie. |
| Ctrl+R | Przeszukuje historię poleceń po tekście. |
| Ctrl+L | Czyści ekran (to samo co polecenie clear). |
sudo: jako root (# na końcu znaku zachęty) możesz wszystko. Jako zwykły użytkownik ($ na końcu znaku zachęty) przed poleceniem wymagającym uprawnień administratora dodaj sudo, na przykład sudo apt update. Pyta o hasło Twojego użytkownika. W tym poradniku piszemy polecenia dla roota; jako zwykły użytkownik dodaj sudo.
Pomoc: prawie każde polecenie ma pomoc przez polecenie --help i podręcznik przez man polecenie (przewijanie spacją, wyjście klawiszem q).
Foldery i ścieżki#
Linux nie ma dysków C: i D:. Wszystko zaczyna się od folderu głównego /.
| Folder | Co w nim jest |
|---|---|
/ | Korzeń całego systemu. |
/root | Folder domowy użytkownika root. |
/home/jan | Folder domowy użytkownika jan. Skrót do własnego folderu domowego to ~. |
/etc | Pliki konfiguracyjne systemu i usług. |
/var/log | Logi (niektóre logi są tylko w dzienniku, zobacz journalctl). |
/var/www | Zwykłe miejsce na strony WWW. |
/tmp | Pliki tymczasowe, usuwane przy restarcie. |
Ścieżka bezwzględna zaczyna się od / i działa z dowolnego miejsca (/etc/ssh/sshd_config). Ścieżka względna zaczyna się od folderu, w którym jesteś (logs/latest.log). . to bieżący folder, .. folder nadrzędny.
pwd
ls -la
cd /var/log
cd ..
cdpwd– wypisuje, w którym folderze właśnie jesteś.ls -la– wypisuje zawartość folderu:-lszczegółowo (uprawnienia, właściciel, rozmiar, data),-ałącznie z plikami ukrytymi (zaczynają się od kropki).cd /var/log– przechodzi do folderu/var/log.cd ..– przechodzi o poziom wyżej.cd– bez argumentu wraca do folderu domowego.
Jak czytać linię z ls -la:
-rw-r--r-- 1 root root 1234 Oct 1 10:00 config.yml| Część | Znaczenie |
|---|---|
- | Typ: - plik, d folder, l dowiązanie. |
rw-r--r-- | Uprawnienia: właściciel (rw-), grupa (r--), pozostali (r--). r odczyt, w zapis, x wykonywanie (dla folderu wejście). |
root root | Właściciel i grupa. |
1234 | Rozmiar w bajtach (czytelnie z opcją -h, np. 1.2K). |
Oct 1 10:00 | Data ostatniej zmiany. |
Pliki#
| Polecenie | Co robi |
|---|---|
cat plik.txt | Wypisuje cały plik. Przydatne przy krótkich plikach. |
less plik.txt | Przegląda długi plik. Strzałki i spacja przewijają, /tekst szuka, q wychodzi. |
tail -n 50 plik.log | Ostatnie 50 linii. Z -f wypisuje dalej nowe linie (śledzenie logu). |
cp zrodlo cel | Kopiuje plik. Folder kopiuj z opcją -r (rekurencyjnie). |
mv zrodlo cel | Przenosi plik lub folder albo zmienia jego nazwę. |
mkdir -p sciezka/do/folderu | Tworzy folder; -p tworzy też brakujące foldery nadrzędne. |
rm plik | Usuwa plik. |
rm -r folder | Usuwa folder razem z zawartością. |
rm usuwa bezpowrotnie
Linux nie ma kosza. Co usuniesz przez rm, przepada. Szczególnie uważaj z rm -r i nigdy nie uruchamiaj rm -rf ze ścieżką, której nie sprawdzono dwa razy. Wystarczy jedna zbędna spacja: rm -rf /var/www/ moja-strona zamiast rm -rf /var/www/moja-strona usuwa cały folder /var/www ze wszystkimi stronami. Cały VPS możesz przywrócić z kopii zapasowej w zakładce Kopie zapasowe, ale tracisz zmiany zrobione od czasu kopii.
Edytor nano#
nano /etc/hostsOtwiera plik w prostym edytorze. Sterowanie jest wypisane w dolnych liniach; ^ oznacza Ctrl, a M- oznacza Alt.
| Klawisze | Co robią |
|---|---|
| Ctrl+O, potem Enter | Zapisuje plik. |
| Ctrl+X | Zamyka edytor. Przy niezapisanych zmianach pyta: Y zapisz, N odrzuć. |
| Ctrl+W | Szuka tekstu. |
| Ctrl+K | Wycina całą linię. |
| Ctrl+U | Wkleja wyciętą linię. |
| Alt+U | Cofa ostatnią zmianę. |
Tekst ze schowka wklejaj skrótem swojego terminala (Windows Terminal Ctrl+V, PuTTY prawy przycisk myszy, macOS Cmd+V).
Uprawnienia i właściciel#
chmod 644 soubor.txt
chmod 755 skript.sh
chown jan:jan soubor.txt
chown -R www-data:www-data /var/www/webchmod– zmienia uprawnienia. Liczba ma trzy cyfry: właściciel, grupa, pozostali. Każda cyfra to suma4(odczyt) +2(zapis) +1(wykonywanie).chown uzytkownik:grupa– zmienia właściciela i grupę.-R– rekurencyjnie, czyli także dla wszystkiego wewnątrz folderu.
| Liczba | Uprawnienia | Typowe użycie |
|---|---|---|
644 | właściciel czyta i pisze, pozostali tylko czytają | Zwykłe pliki, konfiguracja strony WWW |
600 | tylko właściciel czyta i pisze | Hasła, klucze, .env |
755 | właściciel wszystko, pozostali czytają i wykonują | Foldery, skrypty wykonywalne |
700 | tylko właściciel | Prywatne foldery (~/.ssh) |
Nie używaj uprawnień 777 (każdy może wszystko). Nie rozwiążą problemu z uprawnieniami; tylko otworzą plik każdemu.
Pakiety (apt)#
| Polecenie | Co robi |
|---|---|
apt update | Pobiera aktualną listę pakietów. Uruchamiaj zawsze przed instalacją. |
apt upgrade | Aktualizuje zainstalowane pakiety. Instaluje nowe zależności, ale nigdy nie usuwa pakietu. |
apt full-upgrade | Aktualizuje wszystko, nawet jeśli trzeba przy tym usunąć jakiś pakiet (zwykle przy większej zmianie zależności). |
apt install htop | Instaluje pakiet. Kilka pakietów oddziel spacją. |
apt remove htop | Odinstalowuje pakiet, ale zachowuje jego pliki konfiguracyjne. |
apt purge htop | Odinstalowuje pakiet łącznie z konfiguracją. |
apt autoremove | Usuwa zależności, których nic już nie potrzebuje. |
apt search nazwa | Szuka pakietu po nazwie i opisie. |
Opcja -y (apt install -y htop) automatycznie potwierdza pytanie „Do you want to continue?”.
Usługi i logi#
Usługami (serwer WWW, baza danych, SSH) zarządza systemd poleceniem systemctl.
| Polecenie | Co robi |
|---|---|
systemctl status nginx | Status usługi: active (running) działa, failed zawiesiła się, plus kilka ostatnich linii logu. Wyjście klawiszem q. |
systemctl restart nginx | Restartuje usługę. |
systemctl reload nginx | Wczytuje nową konfigurację bez przerwy (obsługują to tylko niektóre usługi). |
systemctl stop nginx / start nginx | Zatrzymuje / uruchamia usługę. |
systemctl enable nginx | Usługa startuje przy uruchomieniu VPS. Z --now uruchamia się też od razu. |
systemctl disable nginx | Usługa nie startuje przy uruchomieniu. |
systemctl --failed | Wypisuje usługi, które się zawiesiły. |
journalctl czyta logi usług:
journalctl -u nginx -n 50 --no-pager
journalctl -u nginx -f
journalctl -u nginx --since "1 hour ago"-u nginx– tylko wpisy usługinginx.-n 50– ostatnie 50 linii.--no-pager– wypisz bezpośrednio, bez przeglądarkiless.-f– wypisuj dalej nowe wpisy (wyjście przez Ctrl+C).--since "1 hour ago"– wpisy z ostatniej godziny (działa też"2026-10-01 10:00").
Dysk, pamięć i procesy#
| Polecenie | Co pokazuje |
|---|---|
df -h | Zajęte i wolne miejsce na dyskach. Obserwuj linię z punktem montowania /. -h = jednostki czytelne dla człowieka. |
du -sh /var/log | Ile miejsca zajmuje folder. -s suma, -h czytelnie. |
du -xh --max-depth=1 / 2>/dev/null | sort -h | Rozmiary folderów w korzeniu, posortowane od najmniejszego. Do szukania, co zapełniło dysk. -x liczy tylko dysk systemowy, 2>/dev/null ukrywa komunikaty o niedostępnych plikach, sort -h sortuje według rozmiaru. |
free -h | RAM i swap. Liczy się kolumna available. |
uptime | Jak długo VPS działa i średnie obciążenie z 1, 5 i 15 minut. |
htop | Przegląd na żywo procesów, CPU i pamięci. Klawisz M sortuje według pamięci, P według CPU, q wychodzi. Jeśli go brakuje: apt install htop. |
top | Prostsza wersja htop, zawsze zainstalowana. |
ss -tulpn | Porty, na których nasłuchują programy. |
Opcje ss -tulpn: -t TCP, -u UDP, -l tylko porty nasłuchujące, -p nazwa programu, -n liczby zamiast nazw. Adres 0.0.0.0 lub [::] oznacza dostępność z zewnątrz (jeśli firewall przepuszcza), 127.0.0.1 tylko wewnątrz VPS.
Sieć#
| Polecenie | Co robi |
|---|---|
ip a | Adresy IP interfejsów sieciowych (ip -br a w skróconej wersji). |
ip r | Tablica routingu. Linia default via … to brama domyślna. |
ping -c 4 1.1.1.1 | Test połączenia: 4 pakiety do serwera 1.1.1.1. |
curl -I https://example.cz | Pobiera tylko nagłówki strony WWW. Potwierdza, że strona odpowiada (HTTP/2 200). |
dig example.cz A +short | Wyszukuje rekord DNS domeny. Jeśli go brakuje: apt install bind9-dnsutils. |
Użytkownicy#
| Polecenie | Co robi |
|---|---|
whoami | Jako który użytkownik jesteś zalogowany. |
id jan | Grupy użytkownika jan. |
adduser jan | Tworzy użytkownika (zobacz Zabezpieczenie nowego VPS). |
passwd jan | Zmienia hasło użytkownika jan (bez nazwy hasło bieżącego użytkownika). |
sudo -i | Przełącza ze zwykłego użytkownika na roota. |
exit | Wylogowuje albo kończy sudo -i. |
Restart i wyłączenie#
| Polecenie | Co robi |
|---|---|
reboot | Restartuje system VPS. |
poweroff | Wyłącza VPS. Włączysz go z powrotem tylko przyciskiem Start w zakładce Konsola. |
Po upgradzie RAM lub CPU reboot nie wystarczy; użyj przycisku Restart w strefie klienta (zobacz Konsola w przeglądarce).
Ściąga#
| Zadanie | Polecenie |
|---|---|
| Gdzie jestem | pwd |
| Co jest w folderze | ls -la |
| Przejdź do folderu | cd /sciezka |
| Pokaż plik | cat plik / less plik |
| Edytuj plik | nano plik |
| Śledź log | tail -f plik.log |
| Kopiuj / przenieś | cp a b / mv a b |
| Usuń (bezpowrotnie) | rm plik / rm -r folder |
| Uprawnienia | chmod 644 plik |
| Właściciel | chown jan:jan plik |
| Aktualizacje | apt update && apt full-upgrade |
| Instalacja | apt install pakiet |
| Status usługi | systemctl status usluga |
| Restart usługi | systemctl restart usluga |
| Log usługi | journalctl -u usluga -f |
| Miejsce na dysku | df -h |
| Co zajmuje miejsce | du -sh /sciezka/* |
| Pamięć | free -h |
| Procesy | htop |
| Otwarte porty | ss -tulpn |
| Adresy IP | ip -br a |
| Przerwij polecenie | Ctrl+C |
Rozwiązywanie problemów#
command not found#
Program nie jest zainstalowany albo w nazwie jest literówka. Ubuntu często podpowiada, który pakiet zawiera program (Command 'htop' not found, but can be installed with: apt install htop).
Permission denied#
Nie masz uprawnień. Jako zwykły użytkownik powtórz polecenie z sudo. Przy skrypcie brakuje uprawnienia do wykonywania: chmod +x skript.sh.
No such file or directory#
Ścieżka nie istnieje. Sprawdź ją klawiszem Tab (uzupełnia tylko istniejące nazwy) i sprawdź wielkość liter: Linux traktuje Config.yml i config.yml jako różne pliki.
E: Unable to locate package#
Najpierw uruchom apt update. Jeśli błąd się utrzymuje, pakiet ma inną nazwę; poszukaj przez apt search.
E: Could not get lock /var/lib/dpkg/lock-frontend #
W tle trwa inna instalacja (często automatyczne aktualizacje). Poczekaj kilka minut i uruchom polecenie ponownie.
No space left on device#
Dysk jest pełny. Znajdź, co zajmuje miejsce (du -xh --max-depth=1 / 2>/dev/null | sort -h, potem to samo w największym folderze, na przykład du -xh --max-depth=1 /var 2>/dev/null | sort -h), usuń niepotrzebne (stare kopie zapasowe, logi), wyczyść pakiety (apt clean) i stare wpisy dziennika (journalctl --vacuum-size=200M). Albo rozszerz dysk.
Podsumowanie
- Polecenie = program, opcje i argumenty; Tab uzupełnia, Ctrl+C przerywa.
- Pliki:
ls,cd,cat,less,nano,cp,mv,rm(bezpowrotnie!). - Pakiety:
apt update,apt install,apt full-upgrade. - Usługi:
systemctl status|restart|enable, logi przezjournalctl -u usluga. - Zasoby:
df -h,du -sh,free -h,htop,ss -tulpn.