Shell-Spickzettel: Unterschied zwischen den Versionen
Danlei (Diskussion | Beiträge) Hilfe, Suchen, Prozesse und Filter hinzugefügt; ansonsten kleinere Ergänzungen |
→Benutzerverwaltung: adduser -> useradd |
||
(50 dazwischenliegende Versionen von 16 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
== Hilfe == | == Hilfe == | ||
''man [section] Befehl | {|border="1" style="width:100%" | ||
'' | |style="width:30%;background-color:#E5E5E5"|'''Befehl''' | ||
'' | |style="width:70%;background-color:#E5E5E5"|'''Beschreibung''' | ||
|- | |||
|man [section] Befehl | |||
|Handbuchseite zu Befehl[(section)] anzeigen | |||
|- | |||
|whatis Befehl | |||
|Kurzinfo zu Befehl | |||
|- | |||
|apropos Befehl | |||
|whatis-Datenbank nach Befehl durchsuchen | |||
|- | |||
|} | |||
== Verzeichnisverwaltung == | |||
{|border="1" style="width:100%" | |||
|style="width:30%;background-color:#E5E5E5"|'''Befehl''' | |||
|style="width:70%;background-color:#E5E5E5"|'''Beschreibung''' | |||
|- | |||
|''ls [-l] [-a] [-la] [Pfad]'' | |||
|Verzeichnis Inhalt anzeigen, ohne Angabe eines Pfades wird das aktuelle Verzeichnis gelistet; -l: ausführliche Liste, -a: auch versteckte Dateien Zeigen | |||
|- | |||
|''cd [Pfad]'' | |||
|gehe zu [Pfad] | |||
|- | |||
|''cd'' | |||
|ins home Verzeichnis des aktuellen users wechseln | |||
|- | |||
|mkdir [gewünschter Name] | |||
|Verzeichnis erstellen | |||
|- | |||
|pwd | |||
|aktuelles Arbeitsverzeichnis anzeigen | |||
|- | |||
|rmdir [Pfad] | |||
|Verzeichnis löschen | |||
|- | |||
|} | |||
== Dateiverwaltung == | == Dateiverwaltung == | ||
'' | {|border="1" style="width:100%" | ||
'' | |style="width:30%;background-color:#E5E5E5"|'''Befehl''' | ||
|style="width:70%;background-color:#E5E5E5"|'''Beschreibung''' | |||
|- | |||
|chmod Rechte Datei | |||
|Rechte für Datei/Verzeichnis ändern | |||
|- | |||
|chgrp Gruppe Datei | |||
|Gruppenzugehörigkeit für Datei/Verzeichnis ändern | |||
|- | |||
|chown User[:Gruppe] Datei | |||
|Besitzer [und Gruppe] der Datei/Verzeichnis ändern | |||
|- | |||
|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 | |||
|- | |||
|} | |||
== Suchen == | == Suchen == | ||
''find [Pfad] -name 'Name' | {|border="1" style="width:100%" | ||
''find [Pfad] -exec Befehl '{}' \; | |style="width:30%;background-color:#E5E5E5"|'''Befehl''' | ||
|style="width:70%;background-color:#E5E5E5"|'''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 | |||
|- | |||
|which [Befehl,Skriptname,ausführbare Datei] | |||
|wo befindet sich das Skript/die Datei | |||
|- | |||
|grep 'Ausdruck' [Datei/Wildcard] | |||
|sucht nach 'Ausdruck' in der/den angegebenen Datei/en oder Verzeichnis/sen | |||
|} | |||
== tar-Befehle == | == tar-Befehle == | ||
''tar cvf bla.tar /blub | {|border="1" style="width:100%" | ||
|style="width:30%;background-color:#E5E5E5"|'''Befehl''' | |||
|style="width:70%;background-color:#E5E5E5"|'''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 "bla" 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) | |||
|- | |||
|tar --bzip2 -tvf bla.tar.bz2 | |||
|Zeigt den Inhalt des Archives bla.tar.bz2 an | |||
|} | |||
== Bash-Vereinfachung == | == Bash-Vereinfachung == | ||
''alias [name[= | {|border="1" style="width:100%" | ||
''unalias [name des alias]'' | |style="width:30%;background-color:#E5E5E5"|'''Befehl''' | ||
|style="width:70%;background-color:#E5E5E5"|'''Beschreibung''' | |||
|- | |||
|''alias [name[=Befehl]]'' | |||
|Alternative (z.B. Abkürzung) für "Befehl" einrichten. | |||
|- | |||
|''unalias [name des alias]'' | |||
|Alias löschen | |||
|- | |||
|} | |||
== Benutzerverwaltung == | == Benutzerverwaltung == | ||
'' | {|border="1" style="width:100%" | ||
''passwd'' | |style="width:30%;background-color:#E5E5E5"|'''Befehl''' | ||
|style="width:70%;background-color:#E5E5E5"|'''Beschreibung''' | |||
|- | |||
|''useradd [username]'' | |||
|Benutzer [username] erstellen, z.B. {{ic|useradd -m -g users -s /bin/bash [username]}} | |||
|- | |||
|''userdel -r [username]'' | |||
|Benutzer [username] löschen inkl. Home-Verzeichnis und Mail-Spooler | |||
|- | |||
|''id'' | |||
|Benutzername und dazugehörige Gruppen anzeigen inkl. UID und GID | |||
|- | |||
|''passwd'' | |||
|Passwort des aktuellen Benutzers ändern | |||
|- | |||
|''who'' | |||
|Es wird angezeigt wer alles auf dem System eingeloggt ist | |||
|- | |||
|''whoami'' | |||
|Es wird angezeigt als welcher Benutzer man eingeloggt ist | |||
|- | |||
|''gpasswd -a [username] [group]'' | |||
|Benutzer [username] zur Gruppe [group] bzw. zu den Gruppen [group1,group2,group3] hinzufügen | |||
|- | |||
|} | |||
== Prozesse == | == Prozesse == | ||
''ps'' | {|border="1" style="width:100%" | ||
''ps aux'' | |style="width:30%;background-color:#E5E5E5"|'''Befehl''' | ||
''pgrep Prozess'' | |style="width:70%;background-color:#E5E5E5"|'''Beschreibung''' | ||
''pkill PID'' | |- | ||
''pkill -KILL'' | |''ps'' | ||
''top'' | |Prozesse anzeigen | ||
''jobs'' | |- | ||
''Befehl &'' | |''ps aux'' | ||
''Strg-Z'' | |alle Prozesse anzeigen | ||
''fg'' | |- | ||
''bg'' | |''pgrep Prozess'' | ||
''Strg-C'' | |"Prozess" suchen (liefert PID) | ||
|- | |||
|''pkill PID'' | |||
|sendet SIGTERM an PID, beendet sanft | |||
|- | |||
|''pkill -KILL PID'' | |||
|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 == | == Filter == | ||
''less'' - | {|border="1" style="width:100%" | ||
''grep | |style="width:30%;background-color:#E5E5E5"|'''Befehl''' | ||
''sort'' | |style="width:70%;background-color:#E5E5E5"|'''Beschreibung''' | ||
|- | |||
|''less (Datei)'' | |||
|Interaktives Betrachten von Dateien oder Streams (kann auch als Pipe verwendet werden - zB.: ls -l <nowiki>|</nowiki> less | |||
|- | |||
|''grep Muster'' | |||
|gibt Zeilen aus, die auf Muster passen | |||
|- | |||
|''sort'' | |||
|sortiert Zeilen alphabetisch | |||
|- | |||
|} | |||
== Arch-Spezifische Befehle == | |||
{|border="1" style="width:100%" | |||
|style="width:30%;background-color:#E5E5E5"|'''Befehl''' | |||
|style="width:70%;background-color:#E5E5E5"|'''Beschreibung''' | |||
|- | |||
|''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 -Q'' | |||
|Alle installierten Pakete inklusive Versionsnummer anzeigen | |||
|- | |||
|''pacman -Qq'' | |||
|Alle installierten Pakete ohne Versionsnummer anzeigen | |||
|- | |||
|''pacman -V (paket)'' | |||
|Versionsnummer eines Paketes ermitteln | |||
|- | |||
|''pacman -Rcsn `pacman -Qdtq`'' | |||
|alle verwaisten Pakete löschen | |||
|- | |||
|} | |||
== noch nicht eingeordnet == | == noch nicht eingeordnet == | ||
'' | {|border="1" style="width:100%" | ||
''df [ | |style="width:30%;background-color:#E5E5E5"|'''Befehl''' | ||
''du -sch'' | |style="width:70%;background-color:#E5E5E5"|'''Beschreibung''' | ||
|- | |||
'' | |''df [-h]'' | ||
'' | |Plattenbelegung anzeigen | ||
'' | |- | ||
|''df -T[h]'' | |||
|Plattenbelegung mit Typ anzeigen | |||
|- | |||
|''du -sch'' | |||
|Größe aller Dateien des aktuellen Verzeichnisses anzeigen | |||
|- | |||
|''free'' | |||
|zeigt den Status des physikalischen und virtuellen Arbeitsspeichers an | |||
|- | |||
|''watch -d (Befehl)'' | |||
|führt ''Befehl'' alle zwei Sekunden aus und hebt Änderungen in der Ausgabe hervor | |||
|} | |||
== Siehe auch == | |||
* [[bash|Wikiartikel zur Bourne Again Shell]] | |||
[[Kategorie: | [[Kategorie:Konsole]] | ||
Aktuelle Version vom 5. Februar 2013, 18:08 Uhr
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 |
Verzeichnisverwaltung
Befehl | Beschreibung |
ls [-l] [-a] [-la] [Pfad] | Verzeichnis Inhalt anzeigen, ohne Angabe eines Pfades wird das aktuelle Verzeichnis gelistet; -l: ausführliche Liste, -a: auch versteckte Dateien Zeigen |
cd [Pfad] | gehe zu [Pfad] |
cd | ins home Verzeichnis des aktuellen users wechseln |
mkdir [gewünschter Name] | Verzeichnis erstellen |
pwd | aktuelles Arbeitsverzeichnis anzeigen |
rmdir [Pfad] | Verzeichnis löschen |
Dateiverwaltung
Befehl | Beschreibung |
chmod Rechte Datei | Rechte für Datei/Verzeichnis ändern |
chgrp Gruppe Datei | Gruppenzugehörigkeit für Datei/Verzeichnis ändern |
chown User[:Gruppe] Datei | Besitzer [und Gruppe] der Datei/Verzeichnis ändern |
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 |
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 |
which [Befehl,Skriptname,ausführbare Datei] | wo befindet sich das Skript/die Datei |
grep 'Ausdruck' [Datei/Wildcard] | sucht nach 'Ausdruck' in der/den angegebenen Datei/en oder Verzeichnis/sen |
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 "bla" 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) |
tar --bzip2 -tvf bla.tar.bz2 | Zeigt den Inhalt des Archives bla.tar.bz2 an |
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 |
useradd [username] | Benutzer [username] erstellen, z.B. useradd -m -g users -s /bin/bash [username]
|
userdel -r [username] | Benutzer [username] löschen inkl. Home-Verzeichnis und Mail-Spooler |
id | Benutzername und dazugehörige Gruppen anzeigen inkl. UID und GID |
passwd | Passwort des aktuellen Benutzers ändern |
who | Es wird angezeigt wer alles auf dem System eingeloggt ist |
whoami | Es wird angezeigt als welcher Benutzer man eingeloggt ist |
gpasswd -a [username] [group] | Benutzer [username] zur Gruppe [group] bzw. zu den Gruppen [group1,group2,group3] hinzufügen |
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 PID | 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
Befehl | Beschreibung |
less (Datei) | Interaktives Betrachten von Dateien oder Streams (kann auch als Pipe verwendet werden - zB.: ls -l | less |
grep Muster | gibt Zeilen aus, die auf Muster passen |
sort | sortiert Zeilen alphabetisch |
Arch-Spezifische Befehle
Befehl | Beschreibung |
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 -Q | Alle installierten Pakete inklusive Versionsnummer anzeigen |
pacman -Qq | Alle installierten Pakete ohne Versionsnummer anzeigen |
pacman -V (paket) | Versionsnummer eines Paketes ermitteln |
pacman -Rcsn `pacman -Qdtq` | alle verwaisten Pakete löschen |
noch nicht eingeordnet
Befehl | Beschreibung |
df [-h] | Plattenbelegung anzeigen |
df -T[h] | Plattenbelegung mit Typ anzeigen |
du -sch | Größe aller Dateien des aktuellen Verzeichnisses anzeigen |
free | zeigt den Status des physikalischen und virtuellen Arbeitsspeichers an |
watch -d (Befehl) | führt Befehl alle zwei Sekunden aus und hebt Änderungen in der Ausgabe hervor |