Shell-Spickzettel
Dieser Artikel soll eine kurze Übersicht über die wichtigsten Bash-Befehle für administrative Aufgaben geben.
Hilfe
| Befehl | Beschreibung |
| man [section] Befehl | Handbuchseite zu Befehl[(section)] anzeigen |
| whatis Befehl | Kurzinfo zu Befehl |
| apropos Befehl | whatis-Datenbank nach Befehl durchsuchen |
Dateiverwaltung
| Befehl | Beschreibung |
| mkdir [gewünschter Name] | Verzeichnis erstellen |
| rmdir [Pfad] | Verzeichnis löschen |
| pwd | aktuelles Arbeitsverzeichnis anzeigen |
| cp [-a] [-R] Quelle Ziel | Datei kopieren |
| mv [-f] Quelle Ziel | Datei verschieben bzw. innerhalb eines Verzeichnisses angewendet = umbenennen |
| rm [-r] [-f] | Dateien / Verzeichnisse löschen |
| chmod Rechte Datei | Rechte für Datei ändern |
| chown User Datei | Besitzer der Datei ändern |
Suchen
| Befehl | Beschreibung |
| find [Pfad] -name 'Name' | sucht Name (kann Wildcards enthalten) rekursiv unter Pfad |
| find [Pfad] -iname 'Name' | wie oben aber mit 'i'gnorieren der Groß/Klein Schreibung (-iname bla, findet Bla, bLA, bla ...) |
| find [Pfad] -exec Befehl '{}' \; | ruft Befehl mit jeder gefundenen Datei auf |
| locate Name | schnelle (indexbasierte) Suche |
| updatedb | Index erneuern |
tar-Befehle
| Befehl | Beschreibung |
| tar cvf bla.tar /blub | tar-Datei mit dem Namen "bla.tar" des Ordners "/blub" erstellen |
| tar xvf bla.tar | tar-datei "bla.tar" entpacken |
| tar cjvf bla.tar.bz2 /bla/ | bz2-komprimierte tar-Datei mit dem Namen "bla.tar.bz2" des Ordners "blub" erstellen |
| tar xjvf bla.tar.bz2 | bz2-komprimierte tar-Datei mit dem Namen "bla.tar.bz2" entpacken |
| tar xf bla.Endung | Entpackt ein beliebiges Archiv (Endung=tar, tar.gz, tar.bz) |
Bash-Vereinfachung
| Befehl | Beschreibung |
| alias [name[=befehl]] | Alternative (z.B. Abkürzung) für "befehl" einrichten. |
| unalias [name des alias] | Alias löschen |
Benutzerverwaltung
| Befehl | Beschreibung |
| adduser [username] | neuen User [username] erstellen |
| passwd | Passwort des aktuellen Benutzers ändern |
Prozesse
| Befehl | Beschreibung |
| ps | Prozesse anzeigen |
| ps aux | alle Prozesse anzeigen |
| pgrep Prozess | "Prozess" suchen (liefert PID) |
| pkill PID | sendet SIGTERM an PID, beendet sanft |
| pkill -KILL | sendet SIGKILL an PID, beendet gewaltsam |
| top | Live-Prozesstabelle anzeigen |
| jobs | Prozesse der laufenden Sitzung anzeigen |
| Befehl & | Befehl im Hintergrund starten |
| Strg-Z | laufenden Prozess unterbrechen |
| fg | setzt den zuletzt unterbrochenen Prozess fort |
| bg | setzt den zuletzt unterbrochenen Prozess im Hintergrund fort |
| Strg-C | laufenden Prozess beenden |
| killall [-SIG] Prozess | SIGnal (default: SIGTERM) an alle gefundenen Prozesse senden (VORSICHT auf anderen Systemen!) |
Filter
less -> zeigt seitenweise an (z.B. ls | less)
grep Ausdruck -> gibt Zeilen aus, die Ausdruck "matchen"
sort -> sortiert alphabetisch
Arch-Spezifische Befehle
makepkg -> Paket aus einer PKGBUILD erstellen
abs -> abs-tree updaten
makeworld -> system mit Hilfe von abs komplett neu compilieren
pacman -Syu -> komplettes Systemupdate
pacman -S (paket) - Programm mittels pacman installieren. Um mehrere Pakete zu installieren, einfach die Namen durch Leerzeichen getrennt hintereinander auflisten
pacman -Sc -> veraltete Pakete aus dem pacman-cache löschen
pacman -Scc -> alle Pakete aus dem pacman-cache löschen
pacman -Qe -> verwaiste Pakete anzeigen (Vorsicht: manuell installierte Pakete werden NICHT mit aufgelistet!)
pacman -Rs -> Paket incl. seiner Abhängigkeiten deinstallieren (Vorsicht: manuell installierte Pakete werden NICHT mit deinstalliert!)
pacman -V (paket) -> Versionsnummer eines Paketes ermitteln
noch nicht eingeordnet
df [-h] -> Plattenbelegung anzeigen
du -sch -> Größe aller Dateien des aktuellen Verzeichnisses anzeigen
ls [-l] [-a] [-la] [Pfad] -> Verzeichnis Inhalt anzeigen, ohne Angabe eines Pfades wird das aktuelle Verzeichnis gelistet
cd [Pfad] -> gehe zu [Pfad]
cd -> ins home Verzeichnis des aktuellen users wechseln
who -> anzeigen wer alles eingeloggt ist
whoami -> anzeigen, als welcher User man eingeloggt ist
id -> Benutzername und Gruppen anzeigen