Befehlszeilen-Grundlagen
Für Linux-Neulinge kann die Befehlszeile ungewohnt oder sogar einschüchternd wirken. Aber in Wirklichkeit ist die Befehlszeile das leistungsstärkste und flexibelste Werkzeug in einem Linux-System. Die Beherrschung grundlegender Befehlszeilenvorgänge macht die Systemverwaltung nicht nur effizienter, sondern hilft Ihnen auch zu verstehen, wie Linux unter der Haube funktioniert.
Dieser Artikel führt Sie von Grund auf zum Verständnis der Konzepte von Terminals und Shells, zur Beherrschung der am häufigsten verwendeten Befehle und zum Erlernen von Kernwissen wie Dateipfaden, Pipes und Berechtigungen.
Was sind Terminal und Shell?
Terminal
Ein Terminal ist eine Anwendung, die ein Fenster bereitstellt, in dem Sie durch die Eingabe von Textbefehlen mit dem Computer interagieren können. In der Ubuntu-Desktop-Umgebung ist das Terminal das Fenster mit schwarzem (oder dunklem) Hintergrund, das Sie sehen.
Die Standard-Terminalanwendung in Ubuntu 26.04 ist Ptyxis. Es ersetzt das traditionelle GNOME-Terminal und bietet eine bessere Containerintegration. Bei Bedarf können Sie weiterhin das klassische GNOME-Terminal installieren.
Wenn Sie ein moderneres GPU-beschleunigtes Terminal ausprobieren möchten, ist Ghostty als Vorschaupaket im 26.04-Universum-Repository verfügbar:
sudo apt install ghosttyGhostty ist nicht das Standardterminal. Auf Geräten ohne OpenGL 4.3-Unterstützung ist möglicherweise ein Software-Rendering-Fallback erforderlich.
Muschel
Eine Shell ist das Programm hinter dem Terminal, das Befehle tatsächlich verarbeitet. Wenn Sie Befehle im Terminal eingeben, werden sie von der Shell analysiert und ausgeführt. Ubuntus Standard-Shell ist Bash (Bourne Again Shell).
Zu den gängigen Muscheln gehören:
| Muschel | Beschreibung |
|---|---|
| Bash | Ubuntus Standard-Shell, reich an Funktionen und guter Kompatibilität |
| Zsh | Eine modernere Shell mit besserer automatischer Vervollständigung und besseren Themen |
| Fisch | Eine benutzerfreundliche Shell mit sofort einsatzbereiter Syntaxhervorhebung |
| Strich | Eine leichte Shell, die von Ubuntu für Systemskripts verwendet wird |
Sie können Ihre aktuelle Shell mit dem folgenden Befehl überprüfen:
echo $SHELLMöglichkeiten zum Öffnen des Terminals
In Ubuntu 26.04 gibt es mehrere Möglichkeiten, das Terminal zu öffnen:
Methode 1: Tastaturkürzel
Der schnellste Weg ist das Drücken von Strg + Alt + T, wodurch direkt ein Terminalfenster geöffnet wird.
Methode 2: Über das Anwendungsmenü
- Klicken Sie oben links auf die Schaltfläche Aktivitäten (oder drücken Sie die Supertaste).
- Geben Sie „Terminal“ in die Suchleiste ein
- Klicken Sie auf das Terminalsymbol, um es zu öffnen
Methode 3: Aus dem Dateimanager
Im GNOME-Dateimanager (Nautilus) können Sie mit der rechten Maustaste auf einen leeren Bereich klicken und „Im Terminal öffnen“ auswählen. Das Terminal navigiert automatisch zum aktuellen Verzeichnis.
Methode 4: Virtuelles TTY-Terminal
Drücken Sie Strg + Alt + F3 (F3 bis F6), um zu einem virtuellen Nur-Text-Terminal zu wechseln. Drücken Sie Strg + Alt + F2, um zurück zur grafischen Oberfläche zu wechseln. Dies ist besonders nützlich, wenn die grafische Oberfläche Probleme hat.
Grundlegende Befehle
pwd – Arbeitsverzeichnis drucken
pwd (Arbeitsverzeichnis drucken) zeigt den Pfad Ihres aktuellen Verzeichnisses an:
pwd
# Example output: /home/usernamels – Verzeichnisinhalte auflisten
ls (Liste) ist einer der am häufigsten verwendeten Befehle zum Anzeigen von Dateien und Ordnern in einem Verzeichnis:
# List current directory contents
ls
# Show detailed information (permissions, size, modification time, etc.)
ls -l
# Show hidden files (files starting with .)
ls -a
# Combined usage: detailed info + hidden files + human-readable file sizes
ls -lah
# List contents of a specific directory
ls /etc
# Sort by modification time (newest first)
ls -ltcd – Verzeichnis wechseln
cd (Verzeichnis ändern) wird zum Wechseln zwischen Verzeichnissen verwendet:
# Enter a specific directory
cd /var/log
# Go up one level
cd ..
# Return to the home directory
cd ~
# Or simply type
cd
# Return to the previous directory
cd -
# Enter a multi-level directory
cd /usr/share/docmkdir – Verzeichnisse erstellen
# Create a single directory
mkdir myproject
# Create nested directories (-p auto-creates parent directories)
mkdir -p projects/web/frontend
# Create multiple directories at once
mkdir dir1 dir2 dir3cp – Dateien und Verzeichnisse kopieren
# Copy a file
cp file.txt backup.txt
# Copy a file to a specific directory
cp file.txt /home/username/Documents/
# Copy an entire directory (requires -r for recursive copy)
cp -r myproject myproject-backup
# Copy while preserving file attributes (permissions, timestamps, etc.)
cp -a source/ destination/mv – Verschieben oder Umbenennen
# Rename a file
mv oldname.txt newname.txt
# Move a file to another directory
mv file.txt /home/username/Documents/
# Move and rename
mv file.txt /home/username/Documents/newname.txt
# Move an entire directory
mv myproject /opt/rm – Dateien und Verzeichnisse entfernen
# Remove a file
rm file.txt
# Remove a directory and its contents (recursive deletion)
rm -r myproject
# Force removal (no confirmation prompt)
rm -f file.txt
# Confirm before each deletion
rm -i *.txtDateien, die mit rm gelöscht wurden, landen nicht im Papierkorb – sie werden sofort dauerhaft gelöscht! Insbesondere ein Befehl wie rm -rf / zerstört Ihr gesamtes System. Stellen Sie vor der Verwendung von rm immer sicher, dass Sie die richtigen Dateien löschen. Anfänger sollten zunächst mit ls prüfen, welche Dateien übereinstimmen, und erst nach Bestätigung löschen.
cat – Dateiinhalte anzeigen
# View the complete contents of a file
cat file.txt
# Display line numbers
cat -n file.txt
# Concatenate multiple files
cat file1.txt file2.txt
# Create a new file (Ctrl+D to finish input)
cat > newfile.txtweniger – Seitenansicht
Wenn der Dateiinhalt sehr lang ist, ist less besser geeignet als cat:
less /var/log/syslogAllgemeine Vorgänge in less:
- Leerzeichen: Nächste Seite
- b: Vorherige Seite
- g: Zum Anfang der Datei springen
- G: Zum Ende der Datei springen
- /keyword: Suchen
- n: Nächstes Suchergebnis
- q: Beenden
head and tail – Anfang und Ende von Dateien anzeigen
# View the first 10 lines (default)
head file.txt
# View the first 20 lines
head -n 20 file.txt
# View the last 10 lines
tail file.txt
# View the last 50 lines
tail -n 50 file.txt
# Follow file changes in real time (commonly used for viewing logs)
tail -f /var/log/syslogDateipfade
Das Verständnis der Dateipfade ist für die Verwendung der Befehlszeile von grundlegender Bedeutung. Das Linux-Dateisystem beginnt bei / (dem Stammverzeichnis) und alle Dateien und Verzeichnisse sind in dieser Baumstruktur organisiert.
Absolute vs. relative Pfade
Absolute Pfade beginnen im Stammverzeichnis / und geben den vollständigen Speicherort einer Datei an:
# Absolute path examples
/home/username/Documents/file.txt
/etc/nginx/nginx.conf
/var/log/syslogRelative Pfade werden aus dem aktuellen Verzeichnis berechnet:
# Assuming you are in /home/username
# The following two are equivalent:
cat /home/username/Documents/file.txt # Absolute path
cat Documents/file.txt # Relative pathSpezielle Pfadsymbole
| Symbol | Bedeutung | Beispiel |
|---|---|---|
/ | Stammverzeichnis | cd / |
~ | Das Home-Verzeichnis des aktuellen Benutzers | cd ~ ist dasselbe wie cd /home/username |
. | Aktuelles Verzeichnis | ./script.sh führt ein Skript im aktuellen Verzeichnis aus |
.. | Übergeordnetes Verzeichnis | cd ../.. geht um zwei Ebenen nach oben |
- | Vorheriges Verzeichnis (nur für CD) | cd - |
# Practical examples
# Return to the home directory from anywhere
cd ~
# View the contents of the parent directory
ls ..
# Run a script in the current directory
./my-script.sh
# Copy a file from two levels up to the current directory
cp ../../config.txt .Rohre und Umleitung
Pipes und Umleitung sind äußerst leistungsstarke Funktionen der Befehlszeile. Mit ihnen können Sie mehrere einfache Befehle kombinieren, um komplexe Aufgaben zu erledigen.
Rohre (|)
Eine Pipe übergibt die Ausgabe eines Befehls als Eingabe an einen anderen Befehl:
# View all processes and search for lines containing "nginx"
ps aux | grep nginx
# List directory contents and display them page by page
ls -la /etc | less
# Count the number of files in the current directory
ls | wc -l
# View disk usage, sorted by size
du -sh * | sort -h
# Multi-level pipe: find errors in logs, deduplicate, and sort
cat /var/log/syslog | grep "error" | sort | uniq -c | sort -rnAusgabeumleitung (> und >>)
# Write command output to a file (overwrites existing content)
echo "Hello, Ubuntu!" > hello.txt
# Append command output to the end of a file
echo "Another line" >> hello.txt
# Save a command listing to a file
ls -la > filelist.txt
# Redirect error output to a file
command 2> errors.log
# Redirect both standard output and error output
command > output.log 2>&1
# Or the shorter version
command &> output.logEingabeumleitung <
# Read input from a file
wc -l < file.txt
# Common usage: import an SQL file into a database
mysql -u root -p database_name < backup.sqlBerechtigungsgrundlagen
Linux ist ein Mehrbenutzersystem und die Berechtigungsverwaltung gewährleistet die Systemsicherheit.
sudo – Als Administrator ausführen
sudo (Super User Do) ermöglicht es regulären Benutzern, Befehle mit Administratorrechten (Root) auszuführen:
# Install software
sudo apt install vim
# Edit a system configuration file
sudo nano /etc/hosts
# Open a shell as root (use with caution)
sudo -i
# Check sudo privileges
sudo -lWenn Sie sudo zum ersten Mal verwenden, werden Sie nach Ihrem eigenen Benutzerpasswort gefragt (nicht nach dem Root-Passwort). Das Passwort wird für einen bestimmten Zeitraum gespeichert.
chmod – Dateiberechtigungen ändern
Linux-Dateiberechtigungen sind in drei Gruppen unterteilt: Besitzer (u), Gruppe (g) und andere (o). Jede Gruppe verfügt über die Berechtigungen Lesen (r=4), Schreiben (w=2) und Ausführen (x=1).
# View file permissions
ls -l file.txt
# Example output: -rw-r--r-- 1 user group 1024 Jan 1 12:00 file.txt
# Add execute permission to a file
chmod +x script.sh
# Set exact permissions (owner: rwx, group: rx, others: rx)
chmod 755 script.sh
# Common permission combinations
chmod 644 file.txt # Owner read/write, others read-only
chmod 600 secret.key # Owner read/write only
chmod 777 shared.txt # Full permissions for everyone (not recommended)
# Recursively modify directory permissions
chmod -R 755 /var/www/htmlAllgemeine Tastaturkürzel
Das Beherrschen von Tastaturkürzeln kann die Effizienz Ihrer Befehlszeile erheblich verbessern:
| Abkürzung | Funktion |
|---|---|
| Tabulatortaste | Autovervollständigungsbefehle, Dateinamen, Verzeichnisnamen |
| Tab Tab | Alle möglichen Abschlussoptionen anzeigen |
| Strg + C | Unterbrechen Sie den aktuell ausgeführten Befehl |
| Strg + D | Beenden Sie die aktuelle Shell (entspricht der Eingabe von exit). |
| Strg + R | Rückwärtssuche im Befehlsverlauf |
| Strg + L | Bildschirm löschen (entspricht dem Befehl clear) |
| Strg + A | Bewegen Sie den Cursor an den Anfang der Zeile |
| Strg + E | Bewegen Sie den Cursor an das Ende der Zeile |
| Strg + W | Löschen Sie das Wort vor dem Cursor |
| Strg + U | Vom Cursor bis zum Zeilenanfang löschen |
| Strg + K | Vom Cursor bis zum Ende der Zeile löschen |
| Aufwärts-/Abwärtspfeile | Durchsuchen Sie den Befehlsverlauf |
| !! | Führen Sie den letzten Befehl erneut aus |
| !$ | Verweisen Sie auf das letzte Argument des vorherigen Befehls |
# Tab completion example
cd /etc/ng[Tab] # Auto-completes to cd /etc/nginx/
# Typical usage of !!: forgot to add sudo
apt install vim
# Permission error, then:
sudo !!
# Equivalent to sudo apt install vim
# Ctrl+R search history
# Press Ctrl+R, type "docker", and the most recent command containing "docker" will appearHilfe bekommen
Unter Linux gibt es viele Möglichkeiten, Hilfe zu erhalten:
Mann - Handbuchseiten
man (Handbuch) ist die maßgeblichste Befehlsdokumentation:
# View the manual for the ls command
man ls
# Search manuals (by keyword)
man -k "copy file"
# View a specific section of the manual
man 5 crontab # View the crontab file format (section 5)Das Flag —help
Die meisten Befehle unterstützen das Flag --help, das eine kurze Zusammenfassung der Verwendung anzeigt:
ls --help
cp --help
systemctl --helptldr – Vereinfachtes Handbuch
tldr (Too Long; Didn’t Read) bietet prägnante, praktische Befehlsbeispiele, perfekt für Anfänger:
# Install tldr
sudo apt install tldr
# Update the database
tldr --update
# View command usage
tldr tar
tldr rsync
tldr systemctlWeitere Hilferessourcen
# View a brief description of a command
whatis ls
# Find the path of a command
which python3
whereis nginx
# Check the command type (built-in, external, alias, etc.)
type cd
type lsGrundlegender Befehls-Spickzettel für Anfänger
Hier sind die 20 am häufigsten verwendeten Befehle für Anfänger. Setzen Sie ein Lesezeichen als Referenz! Sie müssen sie nicht alle auf einmal auswendig lernen – schlagen Sie sie bei Bedarf einfach nach, dann werden sie Ihnen mit der Zeit in Fleisch und Blut übergehen.
| Befehl | Zweck | Allgemeines Beispiel |
|---|---|---|
pwd | Aktuelles Verzeichnis anzeigen | pwd |
ls | Verzeichnisinhalte auflisten | ls -lah |
cd | Verzeichnis wechseln | cd /var/log |
mkdir | Verzeichnisse erstellen | mkdir -p a/b/c |
cp | Dateien/Verzeichnisse kopieren | cp -r src/ dst/ |
mv | Verschieben/umbenennen | mv old.txt new.txt |
rm | Dateien/Verzeichnisse entfernen | rm -r dirname |
cat | Dateiinhalt anzeigen | cat file.txt |
less | Dateien Seite für Seite anzeigen | less /var/log/syslog |
head/tail | Anfang/Ende der Dateien anzeigen | tail -f log.txt |
grep | Suchtext | grep "error" log.txt |
find | Dateien suchen | find / -name "*.conf" |
sudo | Mit Administratorrechten ausführen | sudo apt update |
apt | Paketmanager | sudo apt install vim |
chmod | Berechtigungen ändern | chmod +x script.sh |
nano/vim | Texteditoren | nano file.txt |
df | Festplattennutzung prüfen | df -h |
top/htop | Prozesse anzeigen | htop |
systemctl | Systemdienste verwalten | systemctl status nginx |
history | Befehlsverlauf anzeigen | history | grep ssh |
Erweiterte Tipps
Befehlsaliase
Sie können kurze Aliase für häufig verwendete Befehle erstellen:
# Temporary alias (only valid for the current session)
alias ll='ls -lah'
alias gs='git status'
# Permanent alias (written to ~/.bashrc)
echo "alias ll='ls -lah'" >> ~/.bashrc
echo "alias update='sudo apt update && sudo apt upgrade -y'" >> ~/.bashrc
# Apply aliases immediately
source ~/.bashrcBefehlsverlauf
# View command history
history
# Search command history
history | grep "apt install"
# Execute command #42 from history
!42
# Clear history
history -cPlatzhalter
# * matches any characters
ls *.txt # All .txt files
cp *.jpg photos/ # Copy all .jpg files
# ? matches a single character
ls file?.txt # Matches file1.txt, fileA.txt, etc.
# [] matches a specified range
ls file[1-3].txt # Matches file1.txt, file2.txt, file3.txtNachdem Sie diese Grundlagen erlernt haben, können Sie bereits die meisten alltäglichen Vorgänge in der Ubuntu-Befehlszeile erledigen. Sie können weiterführende Themen wie Shell-Scripting, Systemadministration, Netzwerkkonfiguration und mehr erlernen. Denken Sie daran: Übung macht den Meister – praktische Erfahrung ist der beste Weg, die Befehlszeile zu beherrschen.