# Podstawy Linuksa: struktura systemu plików, nawigacja i zarządzanie plikami
Katalog główny / to szczyt hierarchii, do którego montowane są wszystkie pozostałe partycje. Kluczowe katalogi określają przeznaczenie: /etc dla konfiguracji, /var dla danych dynamicznych, /proc i /sys jako wirtualne interfejsy do jądra.
/
├── etc # konfiguracje systemu i aplikacji
├── var # zmienne dane: logi, pamięć podręczna, kolejki
├── proc # stan jądra i procesów
├── sys # urządzenia i sterowniki
├── tmp # pliki tymczasowe
├── home # katalogi domowe użytkowników
├── root # katalog domowy superużytkownika
├── dev # pliki urządzeń
├── usr # programy i biblioteki
├── bin # podstawowe narzędzia (symboliczne odsyłanie do /usr/bin)
├── sbin # polecenia administracyjne (symboliczne odsyłanie do /usr/sbin)
├── opt # oprogramowanie zewnętrzne
├── run # dane runtime procesów
├── mnt # punkty ręcznego montowania
└── boot # pliki bootloadera i jądro
/etc: scentralizowane ustawienia
Zawiera pliki konfiguracyjne usług, parametrów sieciowych i użytkowników. Główne: /etc/passwd — lista użytkowników, /etc/fstab — punkty montowania, /etc/hosts — lokalny plik hosts, /etc/ssh/sshd_config — parametry SSH.
/var: dane dynamiczne
Przechowuje pliki podlegające zmianom: logi w /var/log, poczta w /var/mail, spulery w /var/spool, treści serwerów WWW w /var/www. Pierwsze miejsce do diagnostyki.
Wirtualne systemy plików: /proc i /sys
/proc generuje dane o procesach i jądrze: /proc/cpuinfo dla procesora, /proc/meminfo dla pamięci, /proc/1/ dla procesu init. /sys — interfejs do urządzeń, umożliwia dynamiczną zmianę parametrów sterowników i sprzętu.
Katalogi użytkownika i urządzenia
/home/nazwa_użytkownika — osobiste pliki i konfiguracje (.config, .ssh). /root jest izolowany dla roota. /dev reprezentuje sprzęt: /dev/sda — dysk, /dev/null — pochłaniacz wyjścia, /dev/random — entropia.
Nawigacja: polecenia ls, cd, pwd
ls wyświetla zawartość katalogów z flagami dla szczegółów.
ls -l: uprawnienia, właściciel, rozmiar, data.ls -a: ukryte pliki.ls -lh: rozmiary w KB/MB/GB.ls -lt: sortowanie po czasie.ls -R: rekurencja.
cd zmienia katalog:
cd /etc: ścieżka bezwzględna.cd ..: w górę.cd ~: domowy.cd -: poprzedni katalog.
pwd pokazuje bieżącą ścieżkę: pwd -P ignoruje dowiązania symboliczne.
Wyszukiwanie plików: find i locate
find skanuje rekurencyjnie według kryteriów.
Przykłady:
find . -name "*.log": logi.find /var -type f: pliki.find / -size +100M: duże pliki.find /var/log -mtime -1: świeże logi.find /tmp -name "*.tmp" -delete: czyszczenie.
locate korzysta z indeksu dla szybkości:
locate passwd.sudo updatedbdo aktualizacji.
W Ubuntu 22.04+ polecany jest plocate ze względu na wydajność.
tree buduje wizualne drzewo: tree -L 2 -a -I "node_modules".
Zarządzanie plikami: cp, mv, rm
cp kopiuje:
cp file.txt /tmp/.cp -r dir1/ /backup/.cp -pzachowuje metadane.cp -uaktualizuje tylko nowe.
mv przenosi/przemianowuje: mv old.txt new.txt, mv *.log /archive/.
rm usuwa bez kosza:
rm -r dir/.rm -rf /— niebezpieczne, unikać.rm -iz potwierdzeniem.
Tworzenie i dowiązania: mkdir, touch, ln
mkdir -p /path/to/dir tworzy łańcuch.
touch file.txt — pusty plik lub aktualizacja znaczników czasu: touch -t 202501011200 file.txt.
ln dla dowiązań:
ln file.txt hardlink.txt— dowiązanie twarde (ten sam inode).ln -s file.txt symlink.txt— dowiązanie symboliczne (ścieżka).
Dowiązania twarde nie działają między systemami plików, symboliczne są elastyczne, ale psują się po usunięciu oryginału.
Co ważne:
/proci/sys— nie na dysku, dla danych runtime jądra.findjest uniwersalny,locate— dla szybkości z indeksem do aktualizacji.rm -rfwymaga ostrożności: brak Kosza.mkdir -picd -— niezbędne w skryptach.- Dowiązania twarde vs symboliczne: wybierać według scenariusza (inode vs ścieżka).
— Editorial Team
Brak komentarzy.