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