Bash¶
Die Bash bietet zahlreiche Befehle, um Dateien, Verzeichnisse, Prozesse und Systeme zu verwalten. Hier sind einige der wichtigsten und häufig verwendeten Befehle, kategorisiert nach Anwendungsbereichen:
1. Dateiverwaltung¶
Befehl | Beschreibung | Beispiel |
---|---|---|
ls |
Listet Dateien und Verzeichnisse im aktuellen Verzeichnis auf | ls -l (detaillierte Liste) |
cd |
Wechsel in ein anderes Verzeichnis | cd /home/user |
pwd |
Zeigt das aktuelle Verzeichnis an | pwd |
touch |
Erzeugt eine leere Datei | touch datei.txt |
rm |
Löscht Dateien oder Verzeichnisse | rm datei.txt |
cp |
Kopiert Dateien oder Verzeichnisse | cp quelle.txt ziel.txt |
mv |
Verschiebt oder benennt Dateien um | mv alte.txt neue.txt |
mkdir |
Erstellt ein Verzeichnis | mkdir neuer_ordner |
rmdir |
Löscht ein leeres Verzeichnis | rmdir leerer_ordner |
2. Dateiinhalte anzeigen¶
Befehl | Beschreibung | Beispiel |
---|---|---|
cat |
Gibt den Inhalt einer Datei aus | cat datei.txt |
less |
Zeigt den Dateiinhalt seitenweise an | less große_datei.txt |
head |
Zeigt die ersten Zeilen einer Datei | head -n 5 datei.txt |
tail |
Zeigt die letzten Zeilen einer Datei | tail -n 5 datei.txt |
nano oder vim |
Öffnet einen Texteditor | nano datei.txt |
3. Verzeichnisstruktur und Suche¶
Befehl | Beschreibung | Beispiel |
---|---|---|
find |
Sucht Dateien nach Kriterien | find /home -name "*.txt" |
locate |
Sucht Dateien im System (schneller als find ) |
locate datei.txt |
tree |
Zeigt die Verzeichnisstruktur als Baum an | tree |
4. Benutzer- und Berechtigungen¶
Befehl | Beschreibung | Beispiel |
---|---|---|
whoami |
Zeigt den aktuellen Benutzer an | whoami |
id |
Zeigt die Benutzer- und Gruppeninformationen | id |
chmod |
Ändert Dateiberechtigungen | chmod 755 datei.txt |
chown |
Ändert den Eigentümer einer Datei | chown user:gruppe datei.txt |
5. Prozessverwaltung¶
Befehl | Beschreibung | Beispiel |
---|---|---|
ps |
Zeigt laufende Prozesse an | ps aux |
top |
Zeigt eine dynamische Übersicht der Prozesse | top |
kill |
Beendet einen Prozess | kill 1234 (1234 ist die PID) |
bg |
Setzt einen pausierten Prozess in den Hintergrund | bg |
fg |
Holt einen Prozess in den Vordergrund | fg |
6. Systeminformationen¶
Befehl | Beschreibung | Beispiel |
---|---|---|
uname |
Zeigt Systeminformationen | uname -a |
df |
Zeigt den Speicherplatz auf Dateisystemen an | df -h |
du |
Zeigt den Speicherverbrauch einer Datei oder eines Verzeichnisses | du -sh ordner |
free |
Zeigt den Arbeitsspeicherverbrauch an | free -h |
uptime |
Zeigt die Laufzeit des Systems | uptime |
7. Netzwerke¶
Befehl | Beschreibung | Beispiel |
---|---|---|
ping |
Sendet Pakete an eine Adresse zur Überprüfung der Verbindung | ping google.com |
curl |
Ruft Inhalte von URLs ab | curl https://example.com |
wget |
Lädt Dateien von URLs herunter | wget https://example.com/datei.zip |
ifconfig oder ip |
Zeigt Netzwerkinformationen | ip addr show |
netstat |
Zeigt Netzwerkverbindungen an | netstat -tuln |
8. Komprimierung und Archivierung¶
Befehl | Beschreibung | Beispiel |
---|---|---|
tar |
Erstellt oder entpackt Archive | tar -czf archiv.tar.gz ordner/ |
zip |
Erstellt ZIP-Archive | zip -r archiv.zip ordner/ |
unzip |
Entpackt ZIP-Archive | unzip archiv.zip |
9. Bash-Skripting¶
Befehl | Beschreibung | Beispiel |
---|---|---|
echo |
Gibt Text oder Variablen aus | echo "Hallo, Welt!" |
read |
Liest Benutzereingaben | read name |
export |
Setzt Umgebungsvariablen | export PATH=$PATH:/neuer/pfad |
source |
Führt ein Skript aus und lädt Variablen in die aktuelle Shell | source skript.sh |
10. Paketmanagement¶
Befehl | Beschreibung | Beispiel |
---|---|---|
apt |
Verwalten von Paketen (Debian/Ubuntu) | sudo apt update |
yum |
Paketmanager für CentOS/Red Hat | sudo yum install paket |
Zusammenfassung¶
Mit diesen Befehlen kannst du grundlegende Aufgaben in der Bash bewältigen, von der Dateiverwaltung bis zur Netzwerkdiagnose. Für Fortgeschrittene ist es hilfreich, diese Befehle in Skripten zu kombinieren, um komplexe Aufgaben zu automatisieren.
Informationen über Bash-Befehle erhalten¶
Um schnell und einfach herauszufinden, wie Bash-Befehle verwendet werden, gibt es verschiedene Möglichkeiten, die dir nützliche Informationen bieten. Hier sind die besten Methoden:
Die eingebaute Hilfe: --help
¶
Viele Befehle in Bash bieten eine kurze Erklärung ihrer Nutzung an, wenn du --help
hinzufügst:
<befehl> --help
Beispiel:¶
ls --help
Ausgabe:
- Zeigt eine kurze Beschreibung der Optionen und Flags, die du mit dem Befehl verwenden kannst.
Tipp: Dies funktioniert nur mit Befehlen, die für --help
programmiert sind (z. B. bei Shell- und Systembefehlen).
Man-Pages: man
¶
Das Kommando man
(kurz für "Manual") zeigt die vollständige Dokumentation eines Befehls an.
man <befehl>
Beispiel:¶
man ls
Ausgabe:
- Eine detaillierte Beschreibung des Befehls, einschließlich aller Optionen, Beispiele und Verweise auf verwandte Befehle.
Navigation:
- Mit den Pfeiltasten scrollen.
- Mit
q
die Ansicht beenden.
Info-Seiten: info
¶
Einige Befehle bieten zusätzliche Dokumentationen über info
an, das oft noch mehr Details enthält als man
.
info <befehl>
Beispiel:¶
info ls
Ausgabe:
- Interaktive Informationen, oft mit Hyperlinks zu verwandten Themen.
whatis
: Kurze Beschreibung¶
Verwende whatis
, um eine kurze Erklärung zu einem Befehl zu erhalten.
whatis <befehl>
Beispiel:¶
whatis ls
Ausgabe:
- Eine einzeilige Beschreibung des Befehls (sofern dokumentiert).
apropos
: Suchen nach verwandten Befehlen¶
Wenn du nicht genau weißt, welcher Befehl für deine Aufgabe geeignet ist, hilft dir apropos
, nach Schlüsselwörtern in den Man-Pages zu suchen.
apropos <schlüsselwort>
Beispiel:¶
apropos directory
Ausgabe:
- Listet alle Befehle auf, die das Schlüsselwort "directory" in ihrer Beschreibung haben.
Google-Suche¶
Falls die obigen Methoden nicht ausreichen oder die Erklärung zu komplex ist, kannst du direkt im Internet suchen. Websites wie Explainshell sind sehr hilfreich, um Befehle und deren Optionen interaktiv zu erklären.
Beispiel:¶
- Besuche Explainshell.
- Gib einen kompletten Befehl ein, z. B.:
ls -l /etc
Ergebnis: Du erhältst eine Erklärung zu jedem Teil des Befehls.
Shell-Dokumentation lesen: help
¶
Für eingebaute Bash-Befehle (z. B. cd
, echo
, export
) kannst du die interne Bash-Hilfe verwenden:
help <befehl>
Beispiel:¶
help cd
Ausgabe:
- Zeigt die Dokumentation für eingebaute Shell-Befehle.
Cheat-Sheets und Zusammenfassungen¶
Es gibt viele nützliche Cheat-Sheets online, die die häufigsten Befehle und ihre Optionen zusammenfassen. Du kannst sie ausdrucken oder speichern.
Beliebte Ressourcen:¶
Fazit:¶
- Schnell & Einfach:
--help
oderwhatis
. - Umfassend:
man
oderinfo
. - Wenn unsicher:
apropos
oder Google/Explainshell.
Weitere Möglichkeiten¶
Die Bash bietet zahlreiche erweiterte Möglichkeiten, um mit Befehlen effizienter zu arbeiten. Hier sind einige der wichtigsten Funktionen und Techniken, die über das reine Ausführen von Befehlen hinausgehen:
Befehlskombinationen¶
Pipelines (|)¶
Leitet die Ausgabe eines Befehls als Eingabe an einen anderen Befehl weiter.
Beispiel:
ls -l | grep ".txt"
Zeigt nur Dateien mit der Endung
.txt
an.
Umleitung (>, >>, <)¶
>
: Leitet die Ausgabe in eine Datei (überschreibt die Datei).>>
: Leitet die Ausgabe in eine Datei (fügt an).<
: Leitet den Inhalt einer Datei als Eingabe.- Beispiele:
echo "Hallo, Welt!" > datei.txt # Datei überschreiben echo "Noch ein Text" >> datei.txt # An Datei anhängen wc -l < datei.txt # Zeilenanzahl einer Datei zählen
Hintergrundprozesse (&)¶
- Führt Befehle im Hintergrund aus, sodass die Shell weiterverwendet werden kann.
- Beispiel:
sleep 30 &
Variablen und Umgebungsvariablen¶
Benutzerdefinierte Variablen¶
- Speichern von Werten für spätere Verwendung.
- Beispiel:
name="Alice" echo "Hallo, $name!"
Umgebungsvariablen¶
- Zugriff auf Systemvariablen wie
PATH
,HOME
, etc. - Beispiel:
echo $PATH export MY_VAR="Wert"
Befehlsersetzung¶
- Führen Sie einen Befehl aus und verwenden Sie seine Ausgabe in einem anderen Befehl.
- Syntax:
$(befehl)
oder`befehl`
- Beispiel:
files=$(ls) echo "Dateien: $files"
Schleifen und Bedingungen¶
Schleifen¶
- Wiederholtes Ausführen von Befehlen.
- Beispiel:
for file in *.txt; do echo "Datei: $file" done
Bedingungen¶
- Kontrollstrukturen mit
if
,case
, etc. - Beispiel:
if [ -f "datei.txt" ]; then echo "Datei existiert" else echo "Datei existiert nicht" fi
Alias und Funktionen¶
Alias¶
Kurzbefehle für längere Befehle.
Beispiel:
alias ll='ls -l'
Jetzt gibt
ll
das gleiche Ergebnis wiels -l
.
Funktionen¶
- Definieren Sie wiederverwendbare Befehlsgruppen.
- Beispiel:
greet() { echo "Hallo, $1!" } greet "Welt"
Historie und Wiederverwendung von Befehlen¶
Befehlshistorie¶
- Anzeigen und Wiederverwenden vorheriger Befehle.
- Beispiele:
history # Listet vergangene Befehle auf !123 # Führt den Befehl mit der ID 123 erneut aus !! # Führt den letzten Befehl erneut aus
Autocomplete¶
- Verwenden Sie die Tabulator-Taste, um Befehle, Dateinamen oder Optionen automatisch zu vervollständigen.
Fehler- und Statusbehandlung¶
Exit-Status eines Befehls¶
- Überprüfen Sie, ob ein Befehl erfolgreich war.
- Beispiel:
ls /existiert-nicht echo $? # Gibt 1 zurück, da der Befehl fehlgeschlagen ist
Logische Operatoren¶
&&
: Führt den nächsten Befehl nur aus, wenn der vorherige erfolgreich war.||
: Führt den nächsten Befehl aus, wenn der vorherige fehlgeschlagen ist.- Beispiele:
mkdir neuer_ordner && cd neuer_ordner ls existiert-nicht || echo "Datei existiert nicht"
Suchen und Filtern¶
grep¶
- Sucht nach Mustern in Dateien oder Ausgaben.
- Beispiel:
grep "Suchwort" datei.txt
awk¶
- Textverarbeitung und Filtern.
- Beispiel:
awk '{print $1}' datei.txt # Gibt die erste Spalte jeder Zeile aus
sed¶
- Textbearbeitung und Ersetzungen.
- Beispiel:
sed 's/alt/neu/g' datei.txt
Prozessmanagement¶
Prozesse überwachen¶
- Beispiel:
ps aux | grep "bash"
Jobsteuerung¶
Ctrl + Z
: Pausiert einen Prozess.bg
: Setzt ihn im Hintergrund fort.fg
: Holt ihn in den Vordergrund.
Debugging¶
- Bash-Skripte können mit
set
-Optionen überprüft werden. - Beispiel:
set -x # Aktiviert Debugging set +x # Deaktiviert Debugging
Fazit¶
Mit diesen erweiterten Möglichkeiten können Sie die Bash nutzen, um effizientere und komplexere Aufgaben zu erledigen. Durch Kombinationen von Variablen, Schleifen, Bedingungen und Befehlen ist es möglich, leistungsstarke Skripte und Automatisierungen zu erstellen.
man
¶
Der Befehl man
steht für "manual" und zeigt die Handbuchseiten (Manpages) von Programmen, Befehlen oder Systemaufrufen an. Es ist ein nützliches Tool, um Informationen über die Verwendung und Optionen eines bestimmten Befehls zu erhalten.
Funktionsweise von man
:¶
man
ruft eine Dokumentationsseite auf, die detaillierte Informationen über den gewünschten Befehl oder das Programm enthält.- Jede Manpage ist in verschiedene Abschnitte unterteilt, z. B. Name, Synopsis, Beschreibung, Optionen, Beispiele und mehr.
Syntax:¶
man [OPTION] SEITE
Beispiele:¶
Anzeigen der Manpage eines Befehls:
man ls
Zeigt die Handbuchseite für den Befehl
ls
an, der zum Auflisten von Verzeichnissen verwendet wird.Bestimmte Abschnitte durchsuchen:
man 5 passwd
Ruft die Manpage für den Abschnitt 5 des Themas
passwd
auf (Dateiformate).Manpage nach einem bestimmten Begriff durchsuchen: Drücke
/
, gefolgt von einem Suchbegriff, während du eine Manpage ansiehst. Beispiel:/option
sucht nach dem Wort "option".Liste aller verfügbaren Manpages zu einem Begriff:
man -a printf
Zeigt alle verfügbaren Manpages für
printf
an (z. B. in verschiedenen Abschnitten).Kurze Übersicht aller Abschnitte:
man -k printf
Sucht nach Themen im Manual, die den Begriff
printf
enthalten.
Abschnitte im Handbuch:¶
Manpages sind in Abschnitte unterteilt, die verschiedene Themenbereiche abdecken:
Abschnitt | Beschreibung |
---|---|
1 | Benutzerbefehle (z. B. ls , grep ) |
2 | Systemaufrufe (Kernel-Funktionen) |
3 | Bibliotheksfunktionen (C-Bibliotheken) |
4 | Geräteschnittstellen (Treiber usw.) |
5 | Dateiformate und -konventionen |
6 | Spiele und Spaßprogramme |
7 | Verschiedene Informationen (z. B. Standards) |
8 | Befehle für Administratoren |
Praktische Optionen:¶
Manpage als Text durchsuchen:
man -k <Stichwort>
Beispiel:
man -k network
Speichern einer Manpage:
man ls > ls_manual.txt
Manpage im PDF-Format anzeigen:
man -t ls | ps2pdf - ls.pdf
Zusammenfassung:¶
man
ist ein unverzichtbares Werkzeug, um Dokumentationen direkt im Terminal abzurufen und technische Informationen über Befehle und Programme zu erhalten. Es hilft sowohl Einsteigern als auch Profis, schnell und präzise Antworten zu finden.