Podstawy Linuxa dla początkujących: struktura systemu i najważniejsze komendy

Mateusz Bogolubow

Mateusz Bogolubow

11-11-2026

Czym jest Linux, jak zbudowane są katalogi, kim jest root i jak instalować programy. Do tego tabela podstawowych komend na start.

Podstawy Linuxa dla początkujących: struktura systemu i najważniejsze komendy
Linux to rodzina systemów operacyjnych opartych na wspólnym jądrze (*kernel*), dostępnych jako dystrybucje, np. Ubuntu, Debian czy Fedora. Żeby zostać programistą, nie musisz go znać, ale przy pracy z serwerami jest praktycznie niezbędny. Na start poznaj układ katalogów (wszystko zaczyna się od /), różnicę między zwykłym użytkownikiem a root, sposób instalowania programów przez menedżer pakietów oraz kilkanaście podstawowych komend, takich jak ls, cd, cp, grep i sudo.

Większość serwerów, na których działają aplikacje internetowe, pracuje pod kontrolą Linuxa. Dlatego wcześniej czy później wielu programistów, a szczególnie przyszły DevOps, trafia do jego terminala. Ten artykuł wyjaśnia, jak ten system jest zbudowany i po co są jego podstawowe elementy. Samą składnię poleceń, flagi i typowe błędy opisujemy w osobnym artykule o terminalu i wierszu poleceń.

Czy muszę znać Linuxa, żeby zostać programistą?

Nie. Programować możesz na Windowsie, macOS albo Linuxie i wiele zespołów pracuje bez żadnego kontaktu z terminalem Linuxa. Jeśli piszesz frontend albo aplikacje, które ktoś inny wdraża na serwer, podstawy wystarczą do sprawnego poruszania się w terminalu.

Wygląda to inaczej, gdy masz do czynienia z serwerami: wdrażasz aplikację, szukasz błędu w logach na maszynie, konfigurujesz usługi albo pracujesz jako DevOps. Wtedy znajomość Linuxa jest praktycznie niezbędna, bo to na nim najczęściej działają serwery.

Jednocześnie dziś jest to mniej istotne niż jeszcze kilka lat temu. Coraz więcej pracy bierze na siebie chmura, zarządzane usługi, kontenery i gotowe platformy do wdrożeń, więc wielu programistów rzadko loguje się na serwer ręcznie. Mimo to warto znać podstawy, bo przydają się, gdy coś pójdzie nie tak, a wiedza o tym, jak działa system, na którym stoi Twoja aplikacja, zostaje z Tobą niezależnie od narzędzi.

Czym jest Linux i czym jest dystrybucja?

Linux to w ścisłym sensie samo jądro (kernel), czyli część systemu, która zarządza sprzętem, pamięcią i procesami. Dopiero jądro razem z programami, narzędziami i menedżerem pakietów tworzy dystrybucję (distribution, w skrócie distro): gotowy system, który możesz zainstalować.

DystrybucjaDla kogoMenedżer pakietów
UbuntuDobry początek, bardzo dużo poradnikówapt
DebianStabilny system, często na serwerachapt
FedoraNowsze wersje programówdnf
Arch LinuxDla osób, które lubią składać system samodzielniepacman

Na początek wystarczy Ubuntu albo Debian. Większość poradników w internecie zakłada właśnie je. Które dystrybucje działają na serwerach, w kontenerach i w chmurze, zależy od firmy, ale polecenia z tego artykułu działają w większości z nich.

Jak wypróbować Linuxa, nie rezygnując z obecnego systemu?

Nie musisz zastępować Windowsa ani macOS. Najprostsze sposoby:

  • WSL na Windowsie: Linux uruchamiany wewnątrz Windowsa, wygodny do nauki terminala (więcej w artykule o wyborze systemu operacyjnego dla programisty).
  • Maszyna wirtualna: np. VirtualBox z obrazem Ubuntu.
  • Kontener Dockera: szybki sposób na czysty system do testów, choć wymaga podstaw Dockera.
  • Serwer w chmurze: tani serwer z Linuksem, na który łączysz się przez SSH, np. w chmurze AWS (zobacz, czym jest AWS i od czego zacząć).

Na macOS masz już podobny terminal, bo system jest oparty na Uniksie, ale nie wszystkie polecenia i ścieżki są identyczne jak w Linuksie.

Jak zbudowane są katalogi w Linuxie?

W Linuxie nie ma liter dysków jak C:. Wszystko leży w jednym drzewie, które zaczyna się od katalogu głównego /. Układ jest opisany standardem FHS (Filesystem Hierarchy Standard), więc w większości dystrybucji wygląda podobnie:

KatalogCo w nim znajdziesz
/Korzeń drzewa, początek wszystkich ścieżek
/homeKatalogi domowe użytkowników (np. /home/anna)
/rootKatalog domowy użytkownika root
/etcPliki konfiguracyjne systemu i usług
/varDane, które się zmieniają: logi (/var/log), kolejki, cache
/usrZainstalowane programy i biblioteki
/bin, /sbinPodstawowe programy systemowe
/tmpPliki tymczasowe
/devPliki reprezentujące urządzenia

Dwie rzeczy, o które początkujący najczęściej się potykają: w Linuxie wielkość liter w nazwach plików ma znaczenie (Notatki.txt i notatki.txt to dwa różne pliki), a ścieżki zapisuje się ukośnikiem /.

Kim jest root i do czego służy sudo?

Każdy użytkownik ma swoje konto i swój katalog domowy. Specjalny użytkownik root ma pełne uprawnienia do całego systemu i może wszystko, także usunąć system. Dlatego na co dzień pracujesz na zwykłym koncie, a administracyjne polecenia poprzedzasz słowem sudo, które wykonuje jedno polecenie z uprawnieniami administratora.

# instalacja programu wymaga uprawnień administratora
sudo apt install htop

Zasada, której warto się trzymać: nie uruchamiaj sudo bez zrozumienia, co robi polecenie, szczególnie takie wklejone z internetu. O tym, co oznacza „permission denied”, i o samych uprawnieniach plików przeczytasz w artykule o chmod w Linuksie.

Jak instalować programy w Linuxie?

Programy instaluje się zwykle przez menedżer pakietów (package manager), który pobiera je z oficjalnych repozytoriów, dba o zależności i pozwala je aktualizować jednym poleceniem. Nazwa zależy od dystrybucji.

# Debian / Ubuntu
sudo apt update          # pobiera listę dostępnych pakietów
sudo apt install git     # instaluje pakiet
sudo apt remove git      # usuwa pakiet

# Fedora
sudo dnf install git

Zamiast szukać plików .exe na stronach internetowych, szukasz nazwy pakietu. To jeden z powodów, dla których instalacja i aktualizacja oprogramowania na Linuxie bywa szybsza niż na innych systemach.

Jak sprawdzić, co działa w systemie? Procesy, usługi i logi

Każdy uruchomiony program to proces. Serwer zwykle ma też usługi (services, czasem nazywane daemons), czyli programy działające w tle, np. serwer WWW czy baza danych. W większości nowoczesnych dystrybucji zarządza nimi systemd.

ps aux                    # lista procesów
top                       # procesy na żywo (wyjście: q)
systemctl status nginx    # stan usługi nginx
journalctl -u nginx       # logi usługi nginx

Gdy coś nie działa, pierwszym krokiem jest zwykle sprawdzenie logów. Znajdziesz je w /var/log albo przez journalctl.

Jakie są najważniejsze komendy Linuxa na start?

Poniższa tabela to zestaw na pierwsze dni. Jak czytać flagi i argumenty tych poleceń, wyjaśnia artykuł o terminalu.

KomendaDo czego służyPrzykład
pwdPokazuje, w którym katalogu jesteśpwd
lsWypisuje zawartość kataloguls -la
cdZmienia katalogcd /var/log
mkdirTworzy katalogmkdir projekty
touchTworzy pusty pliktouch notatki.txt
cpKopiuje plik lub katalogcp a.txt b.txt
mvPrzenosi lub zmienia nazwęmv a.txt archiwum/
rmUsuwa plik (bez kosza!)rm stary.txt
catWypisuje zawartość plikucat plik.txt
lessPrzewija długi plikless /var/log/syslog
grepSzuka tekstu w plikachgrep "error" app.log
findSzuka plików po nazwiefind . -name "*.log"
chmodZmienia uprawnieniachmod +x skrypt.sh
sudoUruchamia jako administratorsudo apt update
manPokazuje instrukcję poleceniaman ls

Uwaga na rm: usuwa na stałe, bez kosza. Szczególnie ostrożnie używaj go z flagą -r, która usuwa katalogi razem z zawartością.

Jak łączyć polecenia w potoki?

Siła terminala bierze się z łączenia małych poleceń. Znak | (potok) przekazuje wynik jednego polecenia do następnego.

# ile linii z błędem jest w logu?
grep "error" app.log | wc -l

# zapisz listę plików do pliku
ls -la > lista.txt

Znak > zapisuje wynik do pliku (nadpisując go), a >> dopisuje na końcu.

Od czego zacząć naukę Linuxa po tym artykule?

  1. Zainstaluj Ubuntu w WSL, maszynie wirtualnej lub na tanim serwerze.
  2. Przejdź po drzewie katalogów z cd i ls, zajrzyj do /etc i /var/log.
  3. Zainstaluj jeden program przez apt i go usuń.
  4. Napisz prosty skrypt w Bashu, który zapisuje datę do pliku, i nadaj mu prawo uruchamiania.
  5. Połącz się z serwerem przez SSH.

Jeśli Linux ma być pierwszym krokiem do pracy jako DevOps, zobacz też, jakie jeszcze umiejętności są potrzebne na start w artykule Kim jest DevOps? Jakie umiejętności są niezbędne, aby zostać juniorem?.

Masz pytanie do artykułu? Chcesz zgłosić błąd?

Pytaj ogólnie o temat artykułu albo napisz, co poprawić. Jeśli chcesz omówić swój konkretny przypadek, umów się na rozmowę. Ze względów bezpieczeństwa nie przeglądamy ani nie publikujemy żadnych linków. Wiadomości z linkami nie są zapisywane. Limit: 2 pytania na godzinę.

Wyślemy na niego link do potwierdzenia pytania i odpowiedź.

Ostateczną decyzję o opublikowaniu pytania podejmuje administrator.

Konsultacja i warsztaty devmentor.pl

Masz pytania?

Partnerzy

Firmy, z którymi współpracujemy

To partnerzy odpowiedzialni za staże po naszych kursach. Organizują je dla najlepszych absolwentów.

Zobacz wszystkich partnerów →
  • VR Medical
  • Sophona
  • Robot Force