Twój Pierwszy Tydzień na Serwerze Linux — 35+ Niezbędnych Poleceń
Słowa kluczowe: Szybki przegląd przed rozpoczęciem
Przed rozpoczęciem, oto terminy, które zobaczysz w całym przewodniku. Nie musisz ich zapamiętywać — po prostu wiedz, że istnieją, a kontekst wyjaśni ci je.
| Termin | Co to oznacza |
|---|---|
| Terminal 💻 | Interfejs tekstowy, w którym wpisujesz polecenia |
| Shell 🐚 | Program (zwykle Bash), który interpretuje twoje polecenia |
| Bash ⚙️ | Najczęściej używany shell; “język”, którym mówi twój terminal |
| Sudo 🔑 | Polecenie, które pozwala uruchamiać inne polecenia z uprawnieniami administratora |
| Menedżer pakietów 📦 | Narzędzie (takie jak apt), które instaluje i aktualizuje oprogramowanie |
| Daemon / Usługa 👻 | Program działający w tle, który działa w sposób ciągły (jak serwer WWW) |
| Uprawnienia 🔒 | Reguły kontrolujące, kto może czytać, pisać lub wykonywać plik |
| Root 👑 | Wszechmocne konto administratora systemu |
Mając te terminy w zanadrzu, jesteś gotowy. Zaczynamy.
Wprowadzenie: Rozpoczęcie podróży serwerowej
Właśnie połączyłeś się z nowym serwerem. Być może zaprowadziłeś go od dostawcy takiego jak AlexHost, który oferuje natychmiastowe wdrożenie Ubuntu jednym kliknięciem. Otwierasz terminal, wpisujesz: ssh root@your-server-ip i naciskasz Enter. Ekran się czyści. Migający kursor patrzy na ciebie z linii, która brzmi mniej więcej tak: root@vps:~#
A teraz co?

Terminal nie jest relikt. To najbardziej bezpośredni, komponowalny i niezawodny sposób na powiedzenie komputerowi, co ma robić. Nie ma narzutu graficznego, nie ma menu do nawigacji, nie ma czekania na załadowanie interfejsu użytkownika. Wpisujesz polecenie, coś się dzieje i łączysz następne polecenie z nim. Przez SSH działa identycznie, niezależnie od tego, czy twój serwer znajduje się w następnym pokoju czy po drugiej stronie oceanu.
Ten artykuł nie da ci listy do zapamiętania. Zamiast tego przejdziesz przez realistyczną 7-dniową podróż na świeżym VPS Linux — tę samą progresję, którą byś śledzić, gdybyś faktycznie usiadł z nowym serwerem dzisiaj. Na koniec nie będziesz znać tylko poleceń. Będziesz wiedzieć, kiedy sięgnąć po każde z nich.
Dzień 1: Połączenie i Eksploracja
Właśnie połączyłeś się z serwerem. Terminal pokazuje coś w rodzaju root@vps:~#. Jesteś zalogowany — ale gdzie jesteś? Co tu jest? Sprawdzmy.

Krok 1: Połącz się za pomocą “ssh”
Wszystko zaczyna się od ssh — Secure Shell. To polecenie bramy, które przenosi Cię z lokalnego komputera na zdalny serwer.
ssh username@server-ip
U większości dostawców VPS będziesz używać adresu IP z pulpitu nawigacyjnego hostingu i nazwy użytkownika, którą Ci przydzielili (często root lub ubuntu). Jeśli to Twoje pierwsze połączenie, zostaniesz poproszony o potwierdzenie odcisku palca serwera — wpisz yes i naciśnij Enter.
✅ Jesteś teraz połączony z serwerem.
Krok 2: Potwierdź swoją tożsamość za pomocą “whoami”
Zanim cokolwiek zrobisz, sprawdź, jako który użytkownik jesteś zalogowany.
whoami
Jeśli widzisz root, działasz jako wszechmocny administrator. To jest powszechne na świeżym VPS, ale oznacza to również, że każde polecenie, które wpiszesz, ma pełny dostęp do systemu — więc zwracaj uwagę.
✅ Wiesz, kim jesteś w tym systemie.
Krok 3: Znajdź swoją lokalizację za pomocą: “pwd”
Polecenie pwd — Print Working Directory — mówi Ci dokładnie, gdzie jesteś w systemie plików.
pwdNa świeżym VPS zalogowanym jako root, zwykle wylądowisz w /root. Jeśli używasz zwykłego konta użytkownika, zobaczysz zamiast tego /home/username. Pomyśl o tym jako o swojej “bazie domowej” — punkcie wyjścia do wszystkiego, co będziesz robić.
✅ Wiesz, gdzie jesteś.
Krok 4: Sprawdź, co jest dostępne za pomocą “ls”
Teraz rozejrzyjmy się po serwerze. Polecenie ls wyświetla listę plików i katalogów w Twojej bieżącej lokalizacji.
lsPuste wyjście oznacza, że tu nic nie ma — co jest normalne dla świeżego serwera. Ale prawdziwa moc tkwi w flagach. Spróbuj:
ls -laTo pozwala Ci zobaczyć wszystko, w tym ukryte pliki (te zaczynające się od kropki) i szczegółowe informacje:
Flaga -l daje Ci długi format (uprawnienia, właściciel, rozmiar, data), a -a pokazuje wszystkie pliki, w tym ukryte. Będziesz używać ls -la stale.
✅ Możesz zobaczyć wszystko w swoim bieżącym katalogu.
Krok 5: Poruszaj się za pomocą “cd”
Polecenie cd — Change Directory — to sposób, w jaki nawigujesz po systemie plików.
cd /var/log
#Check new dir location
pwd
/var/logTrzy warianty, których będziesz używać stale:
cd .. # Go up one directory level
cd ~ # Go back to your home directory
cd - # Go back to the previous directory you were inSztuczka “cd -“ jest szczególnie przydatna — to jak “cofnij” dla Twojej ostatniej zmiany katalogu.
✅ Możesz poruszać się gdziekolwiek w systemie plików.
Krok 6: Wyczyść za pomocą “clear”
Po uruchomieniu kilku poleceń terminal się zagęszcza. Polecenie clear czyści ekran i daje Ci świeży start.
clearWskazówka: możesz również nacisnąć Ctrl+L, aby uzyskać ten sam efekt — to szybsze, gdy stanie się to odruchem.
✅ Twój terminal jest czysty i gotowy na następne polecenie.
Krok 7: Szukaj informacji za pomocą “man”
Nie musisz zapamiętywać każdej flagi dla każdego polecenia. Polecenie man — Manual — otwiera wbudowaną dokumentację dla każdego polecenia.
man lsTo otwiera pełną stronę podręcznika dla ls, pokazując każdą dostępną flagę, co robi i przykłady. Nawiguj za pomocą klawiszy strzałek lub spacji, a naciśnij q, aby wyjść.
Pomyśl o man jako o swojej sieci bezpieczeństwa. Gdy nie jesteś pewny, co robi polecenie lub jakie opcje obsługuje, man ma odpowiedź.
✅ Masz dostęp do wbudowanej dokumentacji dla każdego polecenia.
Krok 8: Przejrzyj swoją historię za pomocą “history”
Polecenie history pokazuje każde polecenie, które wpisałeś w tej sesji.
history
1 whoami
2 pwd
3 ls -la
4 cd /var/log
5 clear
6 historyOto przydatna część: możesz ponownie uruchomić dowolne polecenie, wpisując “!” następnie jego numer.
!3To ponownie uruchamia polecenie numer 3 (ls -la). Oszczędza Ci przepisywania długich poleceń — i chroni Cię przed błędami pisowni, gdy się spieszyłeś.
✅ Możesz przejrzeć i ponownie uruchomić dowolne poprzednie polecenie.
Dzień 2: Tworzenie i zarządzanie obszarem roboczym

Krok 1: Tworzenie katalogów za pomocą “mkdir”
Polecenie mkdir — Make Directory — tworzy nowe foldery.
mkdir projects
# Check dir
ls
projects
Ale prawdziwą gwiazdą jest mkdir -p, która tworzy zagnieżdżone katalogi za jednym razem — łącznie z wszelkimi katalogami nadrzędnymi, które jeszcze nie istnieją.
mkdir -p projects/myapp/logs
Bez -p, musiałbyś utworzyć projects, następnie projects/myapp, następnie projects/myapp/logs osobno. Dzięki niej jedno polecenie robi wszystko.
✅ Utworzyłeś strukturę katalogów dla swojego projektu.
Krok 2: Tworzenie pustych plików za pomocą “touch”
Polecenie touch tworzy pusty plik natychmiast.
touch projects/myapp/notes.txtSprawdź nowy plik:
ls projects/myapp/
# logs notes.txtJeśli plik już istnieje, touch aktualizuje jego znacznik czasu. To szybki sposób na utworzenie plików zastępczych lub zaznaczenie, że pracowałeś nad czymś.
✅ Utworzyłeś swój pierwszy plik na serwerze.
Krok 3: Kopiowanie plików za pomocą “cp”
Polecenie cp — Copy — duplikuje pliki i katalogi.
cp projects/myapp/notes.txt projects/myapp/notes-backup.txt
W przypadku katalogów potrzebujesz flagi -r (recursive), która kopiuje wszystko wewnątrz katalogów:
cp -r projects/myapp projects/myapp-backup
✅ Możesz duplikować pliki i całe drzewa katalogów.
Krok 4: Przenoszenie lub zmiana nazwy plików za pomocą “mv”
Polecenie mv pełni dwie funkcje: przenosi pliki i zmienia ich nazwy. To samo polecenie, inny kontekst.
mv projects/myapp/notes.txt projects/myapp/readme.txt
To zmienia nazwę notes.txt na readme.txt w tym samym katalogiem. Aby faktycznie przenieść plik do innej lokalizacji:
mv projects/myapp/readme.txt projects/
✅ Możesz przenosić i zmieniać nazwy plików za pomocą jednego polecenia.
Krok 5: Usuwanie plików za pomocą “rm”
Polecenie rm — Remove — usuwa pliki na stałe.
rm projects/myapp-backup/readme.txt
W przypadku katalogów użyj -r (recursive):
rm -r projects/myapp-backup
⚠️ OSTRZEŻENIE: rm -rf to opcja nuklearna. Flaga -f wymusza usunięcie bez pytania o potwierdzenie, a w połączeniu z -r będzie dyskretnie usuwać całe drzewa katalogów. Nie ma cofnięcia. Sprawdź dwukrotnie ścieżkę przed naciśnięciem Enter. Nigdy nie uruchamiaj rm -rf / — spróbuje usunąć cały system plików.
✅ Możesz usuwać pliki i katalogi, które już nie są potrzebne.
Krok 6: Drukowanie i pisanie tekstu za pomocą “echo”
Polecenie echo drukuje tekst do terminala — ale jego prawdziwa moc pojawia się w połączeniu z operatorami przekierowania.
echo "Hello, server"
Hello, serverTeraz przekieruj to wyjście do pliku za pomocą “>” (nadpisz) lub “>>” (dołącz):
echo "Server setup started" > projects/myapp/notes.txt
echo "Added a log entry" >> projects/myapp/notes.txt
Operator > tworzy plik lub go nadpisuje, jeśli istnieje. Operator >> dołącza do końca bez dotykania istniejącej zawartości. To twój pierwszy smak przekierowania — jednej z podstawowych supermocji Linuksa.
✅ Możesz pisać tekst do plików bezpośrednio z wiersza poleceń.
Krok 7: Czytanie plików za pomocą “cat”
Polecenie cat — Concatenate — wyświetla zawartość pliku w terminalu.
cat projects/myapp/notes.txt
W przypadku małych plików cat to najszybszy sposób na sprawdzenie zawartości. W przypadku większych plików będziesz chciał less (który pozwala na przewijanie), ale cat to twoja opcja do szybkich kontroli.
✅ Możesz czytać zawartość pliku bez otwierania edytora.
Krok 8: Edytowanie plików za pomocą “nano”
Gdy musisz faktycznie zmodyfikować plik, nano jest najbardziej przyjaznym dla początkujących edytorem terminalowym.
nano projects/myapp/notes.txt
Nano otwiera plik w terminalu z prostym interfejsem. Skróty klawiaturowe są wyświetlane na dole ekranu.
💡 PORADA: Podstawowe skróty Nano: Ctrl+O aby zapisać (następnie Enter aby potwierdzić), Ctrl+X aby wyjść, Ctrl+W aby wyszukać tekst. To wszystko, czego potrzebujesz, aby zacząć edytować.
Usłyszysz też o vim — jest bardziej zaawansowany, ale ma słynnie stromy proces nauki. Na razie zostań przy nano. Możesz eksplorować vim później, gdy będziesz wygodnie czuć się w terminalu.
✅ Możesz edytować pliki bezpośrednio na serwerze.
Dzień 3: Znajdowanie tego, czego potrzebujesz

Krok 1: Wyszukiwanie plików za pomocą “find”
Polecenie find wyszukuje pliki według nazwy, typu, rozmiaru i innych kryteriów.
find ./projects -name "*.txt"
To wyszukuje wszystko w /home w poszukiwaniu plików kończących się na .txt. Możesz również wyszukiwać według typu — find / -type f -name “config” znajduje wszystkie pliki o nazwie “config” w całym systemie.
find jest dokładny, ale może być wolny na dużych systemach plików. Do codziennych wyszukiwań jest to Twoje najbardziej niezawodne narzędzie.
✅ Możesz zlokalizować dowolny plik w systemie według nazwy lub typu.
Krok 2: Wyszukiwanie wewnątrz plików za pomocą “grep”
Jeśli find lokalizuje pliki, grep lokalizuje zawartość wewnątrz nich. To detektyw linii poleceń.
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 refusedTutaj grep staje się jeszcze bardziej potężny — połącz go z innymi poleceniami, używając operatora potoku “|”. Potok przyjmuje wynik jednego polecenia i przekazuje go jako wejście do następnego.
cat /var/log/syslog | grep "error"To robi to samo co poprzedni przykład, ale wzorzec potoku pozwala łańcuchować polecenia razem. Będziesz używać potoków stale, gdy je zrozumiesz. Na przykład, aby wyszukać błędy we wpisach dziennika z dzisiaj:
cat /var/log/syslog | grep "Apr 15" | grep "error"
Każdy potok zawęża wyniki dalej. Ta composability to to, co czyni linię poleceń Linux tak potężną.
✅ Możesz wyszukać dowolny wzorzec tekstu w dowolnym pliku.
Krok 3: Znajdowanie lokalizacji plików wykonywalnych za pomocą “which”
Polecenie which mówi Ci, gdzie plik wykonywalny polecenia znajduje się w systemie.
which python3
/usr/bin/python3Jest to przydatne, gdy musisz wiedzieć, którą wersję programu uruchamiasz, lub gdy skrypt potrzebuje pełnej ścieżki do pliku wykonywalnego.
✅ Wiesz dokładnie, gdzie przechowywany jest plik wykonywalny dowolnego polecenia.
Krok 4: Znajdź więcej za pomocą “whereis”
Polecenie whereis idzie dalej niż which — znajduje plik binarny, kod źródłowy (jeśli zainstalowany) i stronę podręcznika.
whereis python3
python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/man/man1/python3.1.gzGdzie which daje Ci jedną ścieżkę, whereis daje Ci pełny obraz. Użyj which, gdy potrzebujesz tylko pliku wykonywalnego. Użyj whereis, gdy chcesz zobaczyć wszystko związane z poleceniem.
✅ Możesz zlokalizować każdy komponent polecenia w systemie.
Krok 5: Uzyskaj szybki opis za pomocą “whatis”
Polecenie whatis daje Ci jednowierszowy opis dowolnego polecenia.
whatis grep
grep (1) - print lines that match patternsTo najszybszy sposób, aby przypomnieć sobie, co robi polecenie, bez otwierania pełnej strony man. Pomyśl o tym jako o szybkim wyszukiwaniu glosariusza.
✅ Możesz uzyskać jednowierszowe podsumowanie celu dowolnego polecenia.
Ready
to make it happen?
Pick what fits your project
VPS
Dedicated
Dzień 4: Poznanie swojej maszyny
Zanim cokolwiek zainstalujemy, powinieneś wiedzieć, z czym pracujesz. Ile masz miejsca na dysku? Ile RAM-u? Co już się uruchamia?
Krok 1: Sprawdź informacje systemowe za pomocą “uname”
Polecenie uname — Unix Name — wyświetla informacje systemowe.
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/LinuxFlaga -a pokazuje wszystko: nazwę jądra, nazwę hosta, wersję jądra, architekturę i system operacyjny. Na VPS mówi ci dokładnie, które jądro uruchamiasz i czy jesteś w systemie 64-bitowym (prawie na pewno tak).
✅ Znasz wersję jądra i architekturę systemu.
Krok 2: Sprawdź miejsce na dysku za pomocą “df”
Polecenie df — Disk Free — pokazuje, ile miejsca do magazynowania masz i ile jest używane.
df -h
Flaga -h oznacza “human-readable” — wyświetla rozmiary w GB i MB zamiast surowych bajtów. Zwróć uwagę na linię partycji “/” root. Przy 7% użytku serwer ma dużo miejsca. Jeśli kiedykolwiek zobaczysz, że liczba ta przekracza 80%, czas na czyszczenie.
✅ Dokładnie wiesz, ile miejsca na dysku jest dostępne.
Krok 3: Sprawdź pamięć za pomocą “free”
Polecenie free pokazuje użycie RAM-u.
free -h
Ponownie, -h daje ci czytelny dla człowieka wynik. Kluczową kolumną tutaj jest “available” — to pamięć faktycznie wolna dla nowych aplikacji. “Used” obejmuje pamięć, którą jądro wykorzystuje do buforowania, którą można zwolnić w razie potrzeby. Na świeżym VPS-ie z 4GB RAM-u, widok 3.3GB dostępnej pamięci to dokładnie to, czego chcesz.
✅ Wiesz, ile pamięci ma twój serwer i ile jest wolne.
Krok 4: Monitoruj procesy za pomocą “top”
Polecenie top pokazuje monitorowanie procesów w czasie rzeczywistym — aktualny widok tego, co się uruchamia i jakie zasoby każdy proces zużywa.
top
top aktualizuje się co kilka sekund. Najważniejsze kolumny to PID (identyfikator procesu), %CPU, %MEM i COMMAND. Jeśli twój serwer kiedykolwiek będzie działać wolno, top to pierwsze miejsce, do którego powinieneś zajrzeć.
💡 WSKAZÓWKA: Naciśnij q, aby wyjść z top. Jeśli top się uruchamia i nie wiesz, jak go zatrzymać, to jest odpowiedź.
✅ Możesz monitorować uruchomione procesy w czasie rzeczywistym.
Krok 5: Zrób migawkę procesów za pomocą “ps”
Polecenie ps — Process Status — daje ci statyczną migawkę uruchomionych procesów.
ps aux
Flagi aux pokazują wszystkie procesy od wszystkich użytkowników ze szczegółowymi informacjami. Kluczowe kolumny: USER (kto jest właścicielem procesu), PID (identyfikator procesu, którego użyłbyś z kill), %CPU i %MEM (użycie zasobów) i COMMAND (co się uruchamia). Użyj ps, gdy potrzebujesz szybkiej migawki zamiast widoku na żywo.
✅ Możesz zrobić migawkę każdego uruchomionego procesu.
Krok 6: Sprawdź kalendarz za pomocą “cal”
Polecenie cal wyświetla prosty kalendarz.
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 30To nie jest niezbędne, ale to miłe przypomnienie, że terminal może robić więcej niż tylko zarządzać serwerami. To także szybki sposób na sprawdzenie daty bez opuszczania sesji.
✅ Możesz wyświetlić kalendarz bezpośrednio w terminalu.
Krok 7: Sprawdź datę za pomocą “date”
Polecenie date pokazuje bieżącą datę i godzinę systemową.
date
Wed Apr 15 14:32:01 UTC 2026To ma większe znaczenie niż myślisz. Wiele usług — zwłaszcza certyfikaty SSL, rotacja dzienników i zaplanowane zadania — zależy od dokładnego czasu systemowego. Jeśli data wygląda źle, będziesz chciał to naprawić przed zainstalowaniem czegokolwiek.
✅ Znasz bieżącą datę i godzinę serwera.
Dzień 5: Instalacja i uruchamianie usług
Twój serwer działa, znasz jego specyfikację, a teraz czas uczynić go użytecznym. Zainstalujmy oprogramowanie i uruchommy usługi.
Krok 1: Aktualizacja list pakietów za pomocą “apt update”
Przed zainstalowaniem czegokolwiek odśwież listy repozytorium pakietów.
sudo apt updateWynik: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... DoneWażne rozróżnienie: apt update odświeża listę dostępnych pakietów — nic nie instaluje. apt upgrade faktycznie pobiera i instaluje nowsze wersje pakietów, które już masz. Prawie zawsze idą razem:
sudo apt update && sudo apt upgrade -yW systemach opartych na Red Hat, takich jak CentOS lub Fedora, równoważne polecenia to yum update lub dnf update.
✅ Twoja lista pakietów jest aktualna i gotowa do instalacji.
Krok 2: Instalacja oprogramowania za pomocą “apt install”
Teraz zainstalujmy coś. Nginx to popularny serwer WWW — dobra pierwsza usługa do skonfigurowania.
sudo apt install nginx -yWynik: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) ...To jest moment, gdy twój serwer zaczyna robić coś rzeczywistego. Flaga -y automatycznie potwierdza instalację, więc nie musisz pisać yes. Nginx zainstaluje się i zazwyczaj natychmiast zacznie działać.
✅ Zainstalowałeś swoją pierwszą usługę na serwerze.
Krok 3: Zarządzanie usługami za pomocą “systemctl”
Polecenie systemctl — System Control — to sposób na uruchamianie, zatrzymywanie i zarządzanie usługami.
systemctl status nginxWynik:● 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.serviceKluczowa linia to Active: active (running) — oznacza to, że Nginx działa i pracuje. Trzy polecenia systemctl, których będziesz używać stale:
sudo systemctl start nginx # Start the service now
sudo systemctl stop nginx # Stop the service
sudo systemctl enable nginx # Start automatically on every boot
Polecenie enable to to, które początkujący pomijają. start uruchamia usługę teraz. enable zapewnia, że uruchomi się za każdym razem, gdy serwer się restartuje. W przypadku serwera WWW prawie zawsze chcesz oba.
✅ Możesz kontrolować dowolną usługę na swoim serwerze.
Krok 4: Zatrzymywanie procesów za pomocą “kill”
Czasami musisz ręcznie zakończyć proces. Polecenie kill robi to za pomocą PID.
kill 1234To wysyła sygnał zakończenia do procesu 1234, prosząc go o wdzięczne wyłączenie. Jeśli nie odpowiada, możesz go wymusić:
kill -9 1234
⚠️ OSTRZEŻENIE: kill -9 to wymuszony kill. Nie pozwala procesowi na czyszczenie — bez zapisywania stanu, bez prawidłowego zamykania połączeń. Używaj tylko wtedy, gdy normalny kill nie działa.
Znajdź PID za pomocą ps aux lub top, a następnie go zabij.
✅ Możesz zakończyć dowolny proces za pomocą jego ID.
Krok 5: Zabijanie po nazwie za pomocą “pkill”
Znalezienie PID najpierw jest czasami niepotrzebne. Polecenie pkill zabija procesy po nazwie.
pkill nginx
To znajduje wszystkie procesy pasujące do “nginx” i je kończy. To szybsze niż szukanie PID za pomocą ps, a następnie uruchamianie kill. Używaj pkill, gdy znasz nazwę procesu i chcesz szybkie zakończenie.
✅ Możesz zabić procesy bez znajomości ich PID.
Krok 6: Pobieranie plików za pomocą “wget”
Polecenie wget — Web Get — pobiera pliki z internetu.
wget https://example.com/file.zipPrzykład wyniku:--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 jest proste: daj mu URL, a on pobierze plik do twojego bieżącego katalogu. Obsługuje również wznowienie przerwanych pobrań za pomocą wget -c.
✅ Możesz pobierać pliki bezpośrednio na swój serwer.
Krok 7: Transfer danych za pomocą “curl”
Polecenie curl — Client URL — jest bardziej wszechstronne niż wget. Obsługuje pobieranie, żądania API i transfery danych z niestandardowymi nagłówkami.
curl -O https://example.com/file.zipFlaga -O zapisuje plik z jego oryginalną nazwą (tak jak wget). Ale curl może zrobić znacznie więcej:
curl -s https://api.example.com/data
Flaga -s działa cicho, co czyni curl idealnym do skryptów i wywołań API. Podczas gdy wget jest świetny do prostych pobrań, curl to narzędzie, do którego sięgniesz, gdy musisz wchodzić w interakcję z usługami sieciowymi, testować API lub wysyłać niestandardowe nagłówki HTTP.
✅ Możesz transferować dane z dowolnego adresu URL — pliki, API i wiele więcej.
Dzień 6: Zabezpieczenie systemu

📝 UWAGA: Twój użytkownik musi mieć uprawnienia sudo, aby te polecenia działały. Na większości dostawców VPS domyślny użytkownik ma już dostęp sudo. Jeśli utworzyłeś nowego użytkownika, musisz go najpierw dodać do grupy sudo.
Krok 1: Bezpieczne uruchamianie poleceń za pomocą “sudo”
Polecenie sudo — Superuser Do — pozwala uruchamiać polecenia z podwyższonymi uprawnieniami.
sudo apt update
Przy pierwszym użyciu sudo w sesji zostaniesz poproszony o hasło. Potem system go zapamiętuje na kilka minut. Powód istnienia sudo jest prosty: ciągłe uruchamianie jako root jest niebezpieczne. Jeden błąd przy uprawnieniach root może zniszczyć system. sudo zmusza cię do świadomego podniesienia uprawnień dla każdego polecenia — to mechanizm bezpieczeństwa, a nie tylko eskalator uprawnień.
✅ Możesz uruchamiać polecenia administracyjne bez logowania się jako root.
Krok 2: Zmiana uprawnień do plików za pomocą “chmod”
Polecenie chmod — Change Mode — kontroluje, kto może czytać, pisać lub wykonywać plik.
chmod 755 script.sh
Liczby reprezentują uprawnienia dla trzech grup: właściciel, grupa i wszyscy inni. Każda cyfra to suma: czytanie (4), pisanie (2) i wykonywanie (1):
- 755 oznacza: właściciel może robić wszystko (4+2+1=7), grupa może czytać i wykonywać (4+1=5), wszyscy inni mogą czytać i wykonywać (4+1=5). To standard dla skryptów i katalogów.
- 644 oznacza: właściciel może czytać i pisać (4+2=6), grupa może czytać (4), wszyscy inni mogą czytać (4). To standard dla plików konfiguracyjnych i dokumentów.
chmod 644 config.txt
Jeśli skrypt nie chce się uruchomić, prawie zawsze jest to problem uprawnień. chmod +x script.sh to szybki sposób na uczynienie dowolnego pliku wykonywalnym bez pamiętania liczb.
✅ Kontrolujesz dokładnie, kto może uzyskać dostęp do każdego pliku.
Krok 3: Zmiana właściciela pliku za pomocą “chown”
Polecenie chown — Change Owner — ustawia, kto jest właścicielem pliku.
sudo chown www-data:www-data /var/www/html/index.html
To zmienia właściciela na www-data i grupę na www-data. Jest powszechnie używane podczas konfigurowania serwerów internetowych — proces serwera internetowego musi być właścicielem plików, które serwuje. Format to użytkownik:grupa, i prawie zawsze będziesz potrzebować sudo do zmiany właściciela.
✅ Możesz przypisać właścicielstwo pliku dowolnemu użytkownikowi lub grupie.
Krok 4: Zmiana haseł za pomocą “passwd”
Polecenie passwd aktualizuje hasła użytkowników.
passwd usernameNa świeżym VPS zmiana domyślnego hasła powinna być jedną z twoich pierwszych czynności. Jeśli jesteś zalogowany jako użytkownik, którego hasło chcesz zmienić, po prostu uruchom passwd bez nazwy użytkownika.
✅ Możesz aktualizować hasła dla dowolnego użytkownika w systemie.
Krok 5: Tworzenie nowych użytkowników za pomocą “useradd”
Polecenie useradd tworzy nowe konto użytkownika.
sudo useradd -m newuserFlaga -m jest krytyczna — tworzy katalog domowy w /home/newuser. Bez niej użytkownik istnieje, ale nie ma katalogu domowego, co powoduje problemy z SSH i różnymi aplikacjami. Po utworzeniu użytkownika ustaw jego hasło:
sudo passwd newuser
✅ Możesz tworzyć nowe konta użytkowników z katalogami domowymi.
Krok 6: Przełączanie użytkowników za pomocą “su”
Polecenie su — Switch User — pozwala zalogować się jako inny użytkownik.
su - newuser
whoami
newuserFlaga “-“ (lub –login) jest ważna — ładuje środowisko nowego użytkownika, w tym jego ścieżkę i konfigurację powłoki. Bez niej przełączyłbyś użytkowników, ale zachowałbyś stare środowisko użytkownika, co prowadzi do mylącego zachowania.
✅ Możesz przełączać się między kontami użytkowników na serwerze.
Krok 7: Konfiguracja zapory za pomocą “ufw”
Polecenie ufw — Uncomplicated Firewall — to najprostszy sposób na zarządzanie zaporą sieciową twojego serwera na Ubuntu.
Najpierw ustaw domyślną politykę na odrzucanie wszystkich połączeń przychodzących:
sudo ufw default deny incoming Następnie jawnie zezwól na ruch SSH. Ten krok jest krytyczny.
sudo ufw allow 22/tcp⚠️ KRYTYCZNE OSTRZEŻENIE: Zawsze uruchom sudo ufw allow 22/tcp przed sudo ufw enable. Jeśli włączysz zaporę bez zezwolenia na SSH, zablokujesz się na serwerze. Jedyną opcją byłby dostęp do serwera przez konsolę dostawcy hostingu — która może nie być dostępna na wszystkich planach.
Teraz bezpiecznie można włączyć zaporę:
sudo ufw enable
Command may disrupt existing SSH connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startupMożesz sprawdzić status w dowolnym momencie:
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW AnywhereTwój serwer teraz akceptuje tylko przychodzące połączenia SSH na porcie 22. Wszystko inne jest zablokowane. Gdy później zainstalujesz Nginx, dodasz kolejną regułę: sudo ufw allow 80/tcp dla HTTP i sudo ufw allow 443/tcp dla HTTPS.
✅ Twój serwer jest chroniony przez zaporę.
Dzień 7: Sprawdzenie sieci i podsumowanie
Twój serwer jest skonfigurowany, zabezpieczony i uruchomiony. Zanim uznasz to za gotowe, zweryfikujmy, że wszystko działa z zewnątrz i nauczmy się prawidłowego wyłączania.
Krok 1: Testowanie łączności za pomocą “ping”
Polecenie ping testuje, czy Twój serwer może osiągnąć inne maszyny w sieci.
ping -c 4 8.8.8.8Flaga -c 4 ogranicza ping do 4 pakietów. Bez niej ping działa w nieskończoność, aż naciśniesz Ctrl+C. Statystyki na końcu mówią wszystko: 4 pakiety wysłane, 4 odebrane, 0% strat. Sieć Twojego serwera działa.
✅ Potwierdziłeś, że Twój serwer ma działającą łączność sieciową.
Krok 2: Sprawdzenie interfejsów sieciowych za pomocą “ip”
Polecenie ip pokazuje konfigurację sieci Twojego serwera.
ip addrPolecenie ip zastępuje przestarzałe ifconfig. Wynik pokazuje Twój interfejs loopback (lo, zawsze 127.0.0.1) i główny interfejs sieciowy (eth0 w tym przypadku). Linia inet pokazuje adres IP Twojego serwera — to adres, którego użyłbyś do SSH lub dostępu do serwera WWW.
✅ Możesz zobaczyć adresy IP i interfejsy sieciowe Twojego serwera.
Krok 3: Tworzenie linków do plików za pomocą “ln”
Polecenie ln tworzy linki między plikami — zasadniczo skróty.
ln -s /var/www/html /home/user/webrootTo tworzy link symboliczny w /home/user/webroot, który wskazuje na /var/www/html. Gdy uzyskujesz dostęp do linku, faktycznie uzyskujesz dostęp do katalogu docelowego. Linki symboliczne są przydatne do tworzenia wygodnych ścieżek dostępu bez duplikowania plików.
✅ Możesz tworzyć skróty do plików i katalogów w dowolnym miejscu w systemie.
Krok 4: Bezpieczne wyłączenie za pomocą “shutdown”
Polecenie shutdown wyłącza Twój serwer w kontrolowany sposób.
sudo shutdown -h now
Flaga -h oznacza “halt” — zatrzymaj wszystko i wyłącz zasilanie. now oznacza natychmiast. Ale możesz również zaplanować wyłączenie:
sudo shutdown -h +5
To daje Ci 5 minut przed wyłączeniem — wystarczająco czasu, aby zapisać pracę, powiadomić użytkowników lub zmienić zdanie. Aby anulować zaplanowane wyłączenie:
sudo shutdown -c
Flaga -c anuluje wszelkie oczekujące wyłączenie. To mała siatka bezpieczeństwa, która może uchronić Cię przed przypadkowym wyłączeniem zasilania.
✅ Możesz bezpiecznie wyłączyć serwer natychmiast lub zgodnie z harmonogramem.
Krok 5: Ponowne uruchomienie za pomocą “reboot”
Polecenie reboot restartuje Twój serwer.
sudo reboot
To jest równoważne shutdown -r now — flaga -r oznacza “restart” zamiast “halt”. Użyjesz tego po aktualizacjach jądra lub zmianach konfiguracji, które wymagają świeżego startu.
✅ Możesz zrestartować serwer za pomocą jednego polecenia.
Co dalej
Siedem dni temu patrzyłeś na pusty terminal po SSH-owaniu się na serwer, którego nie wiedziałeś jak używać. Teraz możesz nawigować po systemie plików, tworzyć i zarządzać plikami, wyszukiwać cokolwiek w systemie, sprawdzać kondycję serwera, instalować oprogramowanie, uruchamiać usługi, zabezpieczać bezpieczeństwo i zarządzać cyklem życia serwera od uruchomienia do wyłączenia.
Prawdziwa umiejętność to nie zapamiętywanie tych poleceń. To wiedza, które z nich wybrać, gdy pojawi się problem. To przychodzi z ich używania — nie z czytania o nich.
Otwórz terminal dzisiaj. Uruchamiaj ls, cd i pwd aż będą się czuć naturalnie. Dodaj jedno nowe polecenie dziennie. W ciągu tygodnia terminal nie będzie już czuć się jak obcy interfejs. Będzie się czuć jak bezpośrednia linia do twojego serwera.
Jeśli jesteś gotów, aby zastosować te polecenia na swoim własnym serwerze, AlexHost oferuje niedrogie plany Linux VPS z natychmiastową konfiguracją i wsparciem 24/7 — świetne miejsce do ćwiczenia bez ryzyka.
Ściągawka: Wszystkie polecenia na pierwszy rzut oka
Oto każde polecenie z tego przewodnika w jednym miejscu. Dodaj tę stronę do zakładek.
| Polecenie | Rozwinięcie | Co robi |
|---|---|---|
| Secure Shell | Bezpieczne połączenie z serwerem zdalnym |
| Who Am I | Wyświetl bieżącą nazwę użytkownika |
| Print Working Directory | Wyświetl ścieżkę bieżącego katalogu |
| List | Wyświetl listę plików i katalogów |
| Change Directory | Nawiguj między katalogami |
| Clear | Wyczyść ekran terminala |
| Manual | Otwórz stronę podręcznika dla dowolnego polecenia |
| History | Wyświetl wcześniej wykonane polecenia |
| Make Directory | Utwórz nowe katalogi |
| Touch | Utwórz puste pliki lub zaktualizuj znaczniki czasu |
| Copy | Kopiuj pliki i katalogi |
| Move | Przenieś lub zmień nazwę plików i katalogów |
| Remove | Usuń pliki i katalogi |
| Echo | Wydrukuj tekst lub zapisz do plików |
| Concatenate | Wyświetl zawartość pliku |
| Nano | Edytor tekstu w terminalu |
| Find | Wyszukaj pliki według nazwy, typu lub atrybutów |
| Global Regular Expression Print | Wyszukaj wzorce tekstu w plikach |
| Which | Zlokalizuj ścieżkę pliku wykonywalnego polecenia |
| Where Is | Zlokalizuj plik binarny, źródłowy i podręcznik dla polecenia |
| What Is | Uzyskaj jednowierszowy opis polecenia |
| Unix Name | Wyświetl informacje o systemie |
| Disk Free | Wyświetl użycie przestrzeni dyskowej |
| Free | Wyświetl użycie pamięci/RAM |
| Top | Monitorowanie procesów w czasie rzeczywistym |
| Process Status | Migawka uruchomionych procesów |
| Calendar | Wyświetl kalendarz |
| Date | Wyświetl lub ustaw datę i godzinę systemu |
| APT Update | Odśwież listy repozytorium pakietów |
| APT Install | Zainstaluj pakiety oprogramowania |
| System Control | Uruchamiaj, zatrzymuj i zarządzaj usługami |
| Kill | Zakończ proces według PID |
| Process Kill | Zakończ procesy według nazwy |
| Web Get | Pobierz pliki z internetu |
| Client URL | Transferuj dane z adresów URL |
| Superuser Do | Uruchom polecenia z podwyższonymi uprawnieniami |
| Change Mode | Zmień uprawnienia pliku |
| Change Owner | Zmień właściciela pliku |
| Password | Zmień hasła użytkownika |
| User Add | Utwórz nowe konto użytkownika |
| Switch User | Przełącz się na innego użytkownika |
| Uncomplicated Firewall | Zarządzaj zaporą sieciową serwera |
| Ping | Testuj łączność sieciową |
| IP | Wyświetl interfejsy sieciowe i adresy |
| Link | Utwórz linki do plików (symboliczne lub twarde) |
| Shutdown | Bezpiecznie wyłącz serwer |
| Reboot | Uruchom ponownie serwer |
na wszystkich usługach hostingowych