Shell-Spickzettel

Aus wiki.archlinux.de

Dieser Artikel soll eine kurze Übersicht über die wichtigsten Bash-Befehle für administrative Aufgaben geben.

Hilfe

man [section] Befehl -> Handbuchseite zu Befehl[(section)] anzeigen
whatis Befehl -> Kurzinfo zu Befehl
apropos Befehl -> whatis-Datenbank nach Befehl durchsuchen

Dateiverwaltung

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

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

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

alias [name[=befehl]] -> Alternative (z.B. Abkürzung) für "befehl" einrichten.
unalias [name des alias] -> Alias löschen

Benutzerverwaltung

adduser [username] -> neuen User [username] erstellen
passwd -> Passwort des aktuellen Benutzers ändern

Prozesse

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