Linux Grundlagen: Dateisystemstruktur, Navigation und Dateiverwaltung
Das Root-Verzeichnis / thront an der Spitze der Hierarchie, wo alle anderen Partitionen eingehängt werden. Wichtige Verzeichnisse haben klare Zwecke: /etc für Konfigurationen, /var für dynamische Daten, /proc und /sys als virtuelle Schnittstellen zum Kernel.
/
├── etc # System- und App-Konfigurationen
├── var # variable Daten: Logs, Cache, Warteschlangen
├── proc # Kernel- und Prozessstatus
├── sys # Geräte und Treiber
├── tmp # temporäre Dateien
├── home # Benutzer-Home-Verzeichnisse
├── root # Root-Benutzer-Home
├── dev # Gerätedateien
├── usr # Programme und Bibliotheken
├── bin # essenzielle Hilfsprogramme (Symlink zu /usr/bin)
├── sbin # Admin-Befehle (Symlink zu /usr/sbin)
├── opt # Drittanbieter-Software
├── run # Laufzeit-Prozessdaten
├── mnt # manuelle Einhängepunkte
└── boot # Bootloader- und Kernel-Dateien
/etc: Zentrale Konfigurationen
Enthält Konfigurationsdateien für Dienste, Netzwerkeinstellungen und Benutzer. Wichtige Dateien: /etc/passwd für Benutzerkonten, /etc/fstab für Einhängepunkte, /etc/hosts für lokale Hostnamen-Auflösung und /etc/ssh/sshd_config für SSH-Einstellungen.
/var: Dynamische Daten
Speichert sich ändernde Dateien wie Logs in /var/log, E-Mails in /var/mail, Druckwarteschlangen in /var/spool und Webserver-Inhalte in /var/www. Der erste Anlaufpunkt bei Fehlersuchen.
Virtuelle Dateisysteme: /proc und /sys
/proc liefert Echtzeitdaten zu Prozessen und Kernel: /proc/cpuinfo für CPU-Details, /proc/meminfo für Speicherstatistiken, /proc/1/ für den Init-Prozess. /sys bietet eine Schnittstelle zu Geräten, um Treiber- und Hardwareparameter spontan anzupassen.
Benutzerverzeichnisse und Geräte
/home/username beherbergt persönliche Dateien und Konfigs (wie .config und .ssh). /root ist isoliert für den Root-Benutzer. /dev stellt Hardware dar: /dev/sda für eine Festplatte, /dev/null zum Wegwerfen von Ausgaben, /dev/random für Entropie.
Navigation: ls, cd, pwd
ls listet Verzeichnisinhalte mit Flags für mehr Details.
ls -l: Berechtigungen, Eigentümer, Größe, Datum.ls -a: versteckte Dateien.ls -lh: lesbare Größen (KB/MB/GB).ls -lt: sortiert nach Zeit.ls -R: rekursiv.
cd wechselt Verzeichnisse:
cd /etc: absoluter Pfad.cd ..: eine Ebene hoch.cd ~: Home-Verzeichnis.cd -: vorheriges Verzeichnis.
pwd gibt den aktuellen Pfad aus: pwd -P löst Symlinks auf.
Dateien finden: find und locate
find durchsucht rekursiv nach Kriterien.
Beispiele:
find . -name "*.log": Log-Dateien.find /var -type f: nur Dateien.find / -size +100M: Dateien über 100 MB.find /var/log -mtime -1: Logs der letzten 24 Stunden.find /tmp -name "*.tmp" -delete: Temp-Dateien löschen.
locate nutzt eine Datenbank für Geschwindigkeit:
locate passwd.sudo updatedbzum Aktualisieren des Index.
Auf Ubuntu 22.04+ eignet sich plocate für bessere Performance.
tree visualisiert Verzeichnisstrukturen: tree -L 2 -a -I "node_modules".
Dateiverwaltung: cp, mv, rm
cp kopiert:
cp file.txt /tmp/.cp -r dir1/ /backup/.cp -perhält Metadaten.cp -uaktualisiert nur neuere Dateien.
mv verschiebt oder benennt um: mv old.txt new.txt, mv *.log /archive/.
rm löscht ohne Papierkorb:
rm -r dir/.rm -rf /— extrem gefährlich, nie ausführen.rm -ifragt nach Bestätigung.
Erstellen und Verknüpfen: mkdir, touch, ln
mkdir -p /path/to/dir erstellt verschachtelte Verzeichnisse.
touch file.txt erzeugt eine leere Datei oder aktualisiert Zeitstempel: touch -t 202501011200 file.txt.
ln erstellt Verknüpfungen:
ln file.txt hardlink.txt— Hardlink (teilt Inode).ln -s file.txt symlink.txt— Symlink (verweist auf Pfad).
Hardlinks funktionieren nicht über Dateisysteme hinweg; Symlinks sind flexibel, brechen aber, wenn das Original gelöscht wird.
Wichtige Erkenntnisse:
/procund/syssind im Speicher, nicht auf Disk — rein für Kernel-Laufzeitdaten.findist vielseitig;locateschnell mit gepflegtem Index.rm -rferfordert Vorsicht — kein Papierkorb-Schutz.mkdir -pundcd -sind Scripting-Essentials.- Hard- vs. Symlinks: je nach Bedarf wählen (geteilte Daten vs. Pfadverweis).
— Editorial Team
Noch keine Kommentare.