Linux-Tutorial: Grundlagen der GNU- und Unix-Befehle
In diesem Tutorial lernst du die grundlegenden GNU– und Unix-Befehle kennen, die in den meisten Linux- und Unix-basierten Betriebssystemen verwendet werden. Diese Befehle sind essentiell, um das Terminal (auch Kommandozeile oder Shell genannt) effektiv zu nutzen und Aufgaben wie Dateiverwaltung, Systeminformation und Prozesssteuerung durchzuführen.
1. Was sind GNU- und Unix-Befehle?
Unix-Befehle sind Werkzeuge, die ursprünglich für das Unix-Betriebssystem entwickelt wurden. Linux, das auf Unix basiert, verwendet diese Befehle ebenfalls. GNU steht für „GNU’s Not Unix“ und stellt eine Sammlung freier Software bereit, die unter Linux verwendet wird. Die meisten Linux-Befehle stammen aus dem GNU-Projekt und sind Verbesserungen der ursprünglichen Unix-Tools.
Diese Befehle werden über die Shell ausgeführt, z.B. Bash (Bourne Again Shell), die Standard-Shell in den meisten Linux-Distributionen.
2. Die wichtigsten Grundlagen-Befehle
2.1 Der ls
-Befehl (Dateien und Verzeichnisse anzeigen)
Der ls
-Befehl zeigt den Inhalt eines Verzeichnisses an (vergleichbar mit „dir“ unter Windows).
ls
Häufig verwendete Optionen:
ls -l
: Zeigt eine detaillierte Liste der Dateien an (inkl. Dateigröße, Berechtigungen, etc.).ls -a
: Zeigt auch versteckte Dateien (die mit einem Punkt.
beginnen).ls -lh
: Zeigt Dateigrößen in einem lesbaren Format (z.B. in Kilobyte, Megabyte).
2.2 Der cd
-Befehl (Verzeichnis wechseln)
Mit dem cd
-Befehl wechselst du zwischen Verzeichnissen.
cd /pfad/zum/verzeichnis
Beispiele:
cd ..
: Wechselt in das übergeordnete Verzeichnis.cd ~
: Wechselt in das Home-Verzeichnis des aktuellen Benutzers.
2.3 Der pwd
-Befehl (aktuelles Verzeichnis anzeigen)
Der pwd
-Befehl zeigt das aktuelle Verzeichnis (den vollständigen Pfad) an.
pwd
2.4 Der cp
-Befehl (Dateien kopieren)
Mit cp
kannst du Dateien oder Verzeichnisse kopieren.
cp quelle ziel
Beispiele:
cp datei.txt /home/user/
: Kopiert „datei.txt“ in das Verzeichnis/home/user/
.cp -r ordner/ /home/user/
: Kopiert den Ordner „ordner“ rekursiv in das Verzeichnis/home/user/
.
2.5 Der mv
-Befehl (Dateien verschieben oder umbenennen)
Mit mv
kannst du Dateien oder Verzeichnisse verschieben oder umbenennen.
mv quelle ziel
Beispiele:
mv datei.txt /home/user/
: Verschiebt „datei.txt“ in das Verzeichnis/home/user/
.mv alte_name.txt neue_name.txt
: Benennt „alte_name.txt“ in „neue_name.txt“ um.
2.6 Der rm
-Befehl (Dateien löschen)
Der rm
-Befehl entfernt Dateien oder Verzeichnisse.
rm datei.txt
Beispiele:
rm datei.txt
: Löscht die Datei „datei.txt“.rm -r ordner/
: Löscht den Ordner „ordner“ und seinen gesamten Inhalt rekursiv.- Vorsicht: Dateien, die mit
rm
gelöscht werden, können nicht einfach wiederhergestellt werden.
2.7 Der mkdir
-Befehl (Verzeichnisse erstellen)
Mit mkdir
kannst du neue Verzeichnisse erstellen.
mkdir neuer_ordner
Beispiel:
mkdir /home/user/neuer_ordner
: Erstellt das Verzeichnis „neuer_ordner“ im Pfad/home/user/
.
2.8 Der rmdir
-Befehl (leere Verzeichnisse löschen)
Mit rmdir
kannst du leere Verzeichnisse löschen.
rmdir leerer_ordner
3. Dateiverwaltungs-Befehle
3.1 Der touch
-Befehl (Dateien erstellen oder ändern)
Mit touch
kannst du neue, leere Dateien erstellen oder das Änderungsdatum einer Datei aktualisieren.
touch datei.txt
3.2 Der cat
-Befehl (Dateiinhalt anzeigen)
cat
zeigt den Inhalt von Dateien im Terminal an.
cat datei.txt
3.3 Der head
– und tail
-Befehl (Teile einer Datei anzeigen)
head
zeigt die ersten Zeilen einer Datei an.
head datei.txt
tail
zeigt die letzten Zeilen einer Datei an.
tail datei.txt
Verwende die Option -n
, um die Anzahl der Zeilen zu bestimmen, die angezeigt werden sollen:
head -n 5 datei.txt # Zeigt die ersten 5 Zeilen der Datei an
tail -n 10 datei.txt # Zeigt die letzten 10 Zeilen der Datei an
4. Such- und Filter-Befehle
4.1 Der find
-Befehl (Dateien und Verzeichnisse finden)
Mit find
kannst du Dateien und Verzeichnisse suchen.
find /pfad/ -name dateiname
Beispiele:
find /home/user/ -name "*.txt"
: Findet alle Dateien mit der Endung „.txt“ im Verzeichnis/home/user/
.find /var/log/ -type f -size +10M
: Findet alle Dateien im Verzeichnis/var/log/
, die größer als 10 MB sind.
4.2 Der grep
-Befehl (Text in Dateien durchsuchen)
grep
durchsucht Dateien nach einem bestimmten Muster oder Text.
grep "suchbegriff" datei.txt
Beispiele:
grep "Fehler" logfile.txt
: Sucht in „logfile.txt“ nach dem Wort „Fehler“.grep -r "TODO" /home/user/projekt/
: Durchsucht rekursiv alle Dateien im Verzeichnis/home/user/projekt/
nach dem Wort „TODO“.
5. Systeminformationen
5.1 Der top
-Befehl (Systemprozesse überwachen)
top
zeigt die aktuellen laufenden Prozesse in Echtzeit an und bietet Informationen über CPU- und Speicherauslastung.
top
- q: Beendet die Ansicht.
- h: Zeigt Hilfeoptionen an.
5.2 Der ps
-Befehl (Prozessinformationen anzeigen)
ps
zeigt Informationen über laufende Prozesse an.
ps aux
5.3 Der df
-Befehl (Speicherplatz anzeigen)
df
zeigt den freien und belegten Speicherplatz der Dateisysteme an.
df -h
Die Option -h
zeigt den Speicherplatz in einem menschenlesbaren Format (Kilobyte, Megabyte, Gigabyte).
5.4 Der du
-Befehl (Speicherplatznutzung anzeigen)
du
zeigt den Speicherplatz an, den Verzeichnisse oder Dateien belegen.
du -h /pfad/zum/verzeichnis
5.5 Der free
-Befehl (Arbeitsspeicher anzeigen)
free
zeigt den verfügbaren und belegten Arbeitsspeicher an.
free -h
6. Berechtigungen und Eigentümer
6.1 Der chmod
-Befehl (Dateiberechtigungen ändern)
Mit chmod
kannst du die Zugriffsrechte (Lesen, Schreiben, Ausführen) einer Datei oder eines Verzeichnisses ändern.
chmod 755 datei.txt
Bedeutung der Zahlen:
- 7 = Lesen (r) + Schreiben (w) + Ausführen (x) (Vollzugriff)
- 5 = Lesen (r) + Ausführen (x)
- 4 = Nur Lesen (r)
Beispiel:
chmod 644 datei.txt
: Gibt dem Besitzer Lese- und Schreibrechte, anderen nur Leserechte.
6.2 Der chown
-Befehl (Eigentümer ändern)
Mit chown
kannst du den Eigentümer einer Datei oder eines Verzeichnisses ändern.
chown benutzername datei.txt
Beispiel:
chown user:usergroup datei.txt
: Ändert den Besitzer der Datei auf „user“ und die Gruppe auf „usergroup“.
7. Netzwerk-Befehle
7.1 Der ping
-Befehl (Netzwerkverbindung testen)
Mit ping
kannst du testen, ob eine Netzwerkverbindung zu einem bestimmten Host besteht.
ping google.com
7.2 Der ifconfig
– und ip
-Befehl (Netzwerkkonfiguration anzeigen)
ifconfig
zeigt die Netzwerkschnittstellen und deren Konfiguration an (wird in modernen Systemen durchip
ersetzt).
ifconfig
ip addr
zeigt die IP-Adressen und Netzwerkschnittstellen an.
ip addr
Fazit
Die GNU- und Unix-Befehle bieten eine breite Palette an Werkzeugen zur Verwaltung von Dateien, Prozessen und Systeminformationen in Linux. Durch die Beherrschung dieser grundlegenden Befehle kannst du effizient mit der Kommandozeile arbeiten, was besonders nützlich ist, wenn du mit Servern, Shell-Skripten oder Systemadministration zu tun hast.