Linux Befehlübersicht 🐧 | |||
Befehlsgruppe | Befehl | Optionen/Strings |
Funktion |
|
Hilfe-/Anleitungs-Kommandos |
$ man [Befehl] | --- |
Öffnet das „manual“ (Online-Anleitung) zu einigen Linux/UNIX-Kommandos, zeigt Informationen zu Befehlen, wie z.B. Zusätze, Abhängigkeiten oder Beispiele an Verlassen mit [q] oder [Strg + C] |
|
$ info [Befehl] | --- |
Öffnet Informationsseiten zu Befehlen Verlassen mit [q] oder [Strg + C] | |
|
$[Befehl]--help oder -? |
--- |
Öffnet Hilfeseite von Befehlen, sofern das Kommando --help oder -? unterstützt | |
|
Anzeige-Kommandos
|
$ whoami |
Anzeige des Login-Namens | |
|
$ who |
Anzeige, wer an dem UNIX-System eingeloggt ist (aktive Nutzer/USER) | ||
|
$ id |
Anzeige des UID (Nutzeridentifikator) und GID (Gruppenidentifikator) | ||
|
$ env |
Anzeigen der gesetzten (globalen) Umgebungsvariablen (Einstellungen) der Shell | ||
|
$ set |
Anzeigen der lokalen Variablen (Einstellungen) und lokalen Funktionen der Shell | ||
|
| more |
Mit[Leertaste]seitenweise durch die Anzeige blättern | ||
|
$ echo |
Anzeigen von Zeichenketten und Variablen zeilenweise auf dem Standardausgabegerät | ||
|
$HOME |
Anzeigen des Verzeichnis-Pfades zu dem Linux-Homebereich | ||
|
$[Variablenname] |
Anzeigen der Variable | ||
|
„[Daten]“ |
Anzeigen der Daten | ||
|
$ top [Optionen] |
|
Dynamische Ansicht aller auf dem System laufenden Prozesse und verwendeter Systemressourcen | |
-u [Benutzername]/[UID] |
Anzeigen der Prozesse des angegebenen Benutzers | ||
-p [PID1] -p [PID2] |
Anzeigen der Prozesse mit den entsprechenden Prozess-IDs | ||
|
$ ps [Optionen] |
|
Liefert eine Momentaufnahme der laufenden Prozesse | |
-f |
Liefert eine Momentaufnahme der laufenden Prozesse, detaillierte Ausgabe | ||
-F |
Liefert eine Momentaufnahme der laufenden Prozesse, sehr detaillierte Ausgabe | ||
|
Kalender-, Datums- und Uhrzeits-Kommandos
|
$ cal |
Anzeigen des Kalenders des laufenden Monats | |
|
[Jahr] |
Anzeigen des Kalender des angegebenen Jahres | ||
|
[Monat] [Jahr] |
Anzeigen des Kalender für angegebenen Monats des angegebenen Jahres | ||
|
$ date |
Anzeigen des aktuellen Datums und Uhrzeit | ||
|
Datei-/Ordner-Kommandos
|
$ cd |
Wechsel in das jeweilige Home-Verzeichnis | |
|
[Ordnername] |
Wechsel in das jeweilige Verzeichnis | ||
|
$ pwd |
Anzeigen des aktuellen Dateiverzeichnisses | ||
|
$ ls |
Anzeige des Verzeichnisinhalts (Kurzform), Standardanzeige: alphabet. sortiert, ohne versteckte Dateien "dot-files" (.[Dateiname][Dateiendung]) | ||
|
/ |
Anzeige des Verzeichnisinhalts des root-Verzeichnisses („Wurzel“-Verzeichnis) | ||
|
Desktop (auch:Schreibtisch) |
Anzeige des Verzeichnisinhalts des Verzeichnisses Desktop bzw. Schreibtisch | ||
|
-a |
Anzeigen des gesamten Verzeichnisinhalts, auch versteckte Dateien „dot-files“ | ||
|
-l |
Anzeige des Verzeichnisinhalts in Langform, zeigt z.B. Zugriffsrechte, Besitzer, Dateigröße, usw. an, ohne versteckte Dateien "dot-files" | ||
|
-al |
beide Optionen aus -a und -l | ||
|
-t |
Anzeige des Verzeichnisinhalts, ohne versteckte Dateien "dot-files", sortiert nach Bearbeitungsdatum | ||
|
-d |
Anzeige der Verzeichnisse (directory) | ||
|
$ mkdir [Ordnername] |
Anlegen eines neuen Unterverzeichnisses | ||
|
$ rmdir [Ordnername] |
Löschen des Unterverzeichnisses | ||
|
$ cat [Dateiname] |
Anlegen von (kleineren) Textdateien über Eingabe-Ausgabe-Umleitung, Texteingabe über Konsole, [Strg + D] → abschließen | ||
|
$ more [Pfad]/[Dateiname + Dateiendung] |
seitenweises Anzeigen des Inhalts der Datei aus dem Verzeichnis, bei langen Texten: [Enter] → nächste Zeile [Leertaste] → nächste Seite [q] → beenden, auch [Strg + C] [h] → Hilfe | ||
|
$ less [Pfad]/[Dateiname + Dateiendung] |
Fortlaufendes Anzeigen des Inhalts der Datei aus dem Verzeichnis, bei langen Texten: [Strg + S] → Scrollen unterbrechen [Strg + Q] → Scrollen weiterführen | ||
|
$ head [Pfad]/[Dateiname + Dateiendung] |
-[Nummer] |
Ausgabe der ersten 10 Zeilen (Standard) der Datei, über -[Nummer]kann die Anzahl der anzuzeigenden ersten Zeilen angegeben werden | |
|
$ tail [Pfad]/[Dateiname + Dateiendung] |
-[Nummer] |
Ausgabe der letzten 10 Zeilen (Standard) der Datei, über -[Nummer]kann die Anzahl der anzuzeigenden letzten Zeilen angegeben werden | |
|
$ wc [Option] [Dateipfad] [Dateiname] [Dateiendung] |
Analysieren der Zeilen, Wörter und Zeichen einer Datei oder wenn ohne Dateipfad/-name, analysieren der Zeilen, Wörter und Zeichen der Eingabe [Strg + D] → beenden | ||
|
-w |
Analysieren der Wörter einer Datei oder wenn ohne Dateipfad/-name, analysieren Wörter der Eingabe | ||
|
-c |
Analysieren der Zeichen einer Datei oder wenn ohne Dateipfad/-name, analysieren der Zeichen der Eingabe | ||
|
-l |
Analysieren der Zeilen einer Datei oder wenn ohne Dateipfad/-name, analysieren der Zeilen der Eingabe | ||
|
$ touch [Dateiname] |
Erzeugen einer leeren Datei mit dem eingebenen Namen | ||
|
$ cp [Quelle] [Dateiname] [Ziel] |
[Dateiname] [neuer Dateiname] |
Kopieren einer Datei von dem Quellordner in den Zielordner, falls die Datei im Zielordner bereits existiert, wird sie ohne Rückfrage überschrieben [Dateiname] [neuer Dateiname]→ kopiert Datei ins aktuelle Verzeichnis und vergibt neuen Namen | |
|
$ mv [Quelle] [Dateiname] [Ziel] |
[Dateiname] [neuer Dateiname] |
Verschieben einer Datei von dem Quellordner in den Zielordner, löscht die originale Datei, falls die Datei im Zielordner bereits existiert, wird sie ohne Rückfrage überschrieben [Dateiname] [neuer Dateiname]→ verschiebt Datei ins aktuelle Verzeichnis und vergibt neuen Namen | |
|
$ rm [Dateiname] |
- i
-r |
Löscht die Datei ohne Rückfrage, -i → öffnet Rückfrage ↳ [J] → Bestätigen [N] → Abbruch -r → Löschen mit allen Unterdateien | |
|
$ chmod [Option] Modus [Dateiname]/[Ordnername] |
Zugriffsrechte für Ordner (Verzeichnisse) und Dateien bearbeiten
| ||
|
u [Operation] [Recht] |
user = Besitzer der Datei | ||
|
g [Operation] [Recht] |
group = Gruppe der Datei | ||
|
o [Operation] [Recht] |
others = andere Benutzer | ||
a [Operation] [Recht] |
Besitzer, Gruppe und andere Benutzer | ||
r |
read = Lesen der Datei | ||
w |
write = Schreiben/Verändern der Datei | ||
c |
execute = Ausführen der Datei | ||
[Benutzertyp] + [Recht] |
Rechte hinzufügen | ||
[Benutzertyp] - [Recht] |
Rechte entfernen | ||
[Benutzertyp] = [Recht] |
Rechte festlegen | ||
$ umask [Option] Modus |
Maske für Rechte zukünftig erstellter Dateirechte Ausgabe: oktal Aufbau: s u g o s = Sonderrecht u = user g = group o = others | ||
-S |
Maske für Rechte zukünftig erstellter Dateirechte Ausgabe: symbolisch Aufbau: u=rwx, g=rwx, o=rx u = user g = group o = others | ||
0 |
umask-Zugriffsrecht: Lesen, Schreiben und Ausführen | ||
1 |
umask-Zugriffsrecht: Lesen und Schreiben | ||
2 |
umask-Zugriffsrecht: Lesen und Ausführen | ||
3 |
umask-Zugriffsrecht: nur Lesen | ||
4 |
umask-Zugriffsrecht: Schreiben und Ausführen | ||
5 |
umask-Zugriffsrecht: nur Schreiben | ||
6 |
umask-Zugriffsrecht: nur Ausführen | ||
7 |
umask-Zugriffsrecht: keine Rechte | ||
|
$ ln [Option] [Dateiname] [Linkname] |
Erstellen einer Verknüpfung zu einer Datei oder einem Verzeichnis | ||
-i |
Erstellen einer Verknüpfung zu einer Datei oder einem Verzeichnis, fragt vor Überschreiben nach | ||
-f |
Erstellen einer Verknüpfung zu einer Datei oder einem Verzeichnis, fragt nicht vor Überschreiben nach, kann Dateien/Ordner überschreiben | ||
|
$ [Befehl] /dev/t [Optionen] |
Verwenden von special files (Gerätedateien) als Quelle oder Ziel von Datenströmen (=Dateien) für Ein- und Ausgabe
Beispielgeräte: Tastatur, Bildschirm/Konsole | ||
|
$ find [Dateipfad] [Option] |
Durchsuchen des angegebenen Verzeichnisses inkl. aller Unterverzeichnisse nach Dateien mit angegebenen Bedingungen | ||
. |
Durchsuchen des aktuellen Verzeichnisses inkl. aller Unterverzeichnisse nach Dateien mit angegebenen Bedingungen | ||
.. |
Durchsuchen des übergeordneten Verzeichnisses inkl. aller Unterverzeichnisse nach Dateien mit angegebenen Bedingungen | ||
- name [Dateiname] |
Sucht nach Datei(en) mit angegebenen Namen | ||
|
- iname [Dateiname] |
Sucht nach Datei(en) mit angegebenen Namen, ignoriert Groß- und Kleinschreibung | ||
- type [f/d] |
Sucht nach Datei(en) mit angegebenen Typ, f = file (=echte Dateien), d = directory (=Verzeichnisse) | ||
Shell-Kommandos & Konstrukte |
$ [Befehl 1] [Optionen] | [Befehl 2] [Optionen] |
|
Verknüpfen von Kommandos über pipes |
|
$ [Befehl 1] [Optionen] | tee [Datei] | [Befehl 2] [Optionen] |
|
Auslesen der Standardeingabe stdin (=Tastatur oder Ausgabe eines Programms über pipe) und anzeigen über Standardausgabe stout (=Bildschirm/Konsole) und eine oder mehrere Dateien | |
|
$ ./[Shell-Skript] -p par1 par2 |
|
Argumentvariablen bei Parameterübergabe: 0: Name des Shell-Skript 1 – 9: 1. - 9. Parameter #: Parameteranzahl *: alle Parameter (außer 0) als eine Zeichenkette @: alle Parameter als mehrere, einzelne Zeichenketten $: PID des neu erzeugten Shellskript-Prozesses !: PID des zuletzt gestarteten Hintergrundprozesses ?: Beendigungsstatus (Fehlercode) des letzten Kommandos/Skripts
-p par1 par2 = aktuelle Parameter 1 2 3 = formale Parameter im Skript-Code | |
Shelltypen |
sh |
Bourne Shell (UNIX-Standardshell) | |
csh |
C-Shell (BSD) | ||
ksh |
Korn-Shell (für kommerzielle SysV-UNIXe) | ||
bash |
Bourne Again Shell (GNU, Linux) | ||
|
$ bashdb |
|
bash-Debugger | |
|
$ exec [Befehl] [Optionen] |
|
Ersetzt Subshell-Prozess durch [Befehl]-Prozess | |
$ kill -[SIGNAL] [PID] |
|
Prozesse über Shell durch Senden von Signalen an die Prozess-ID (PID) beenden/stoppen/schließen | |
-SIGSTOP |
Prozess stoppen | ||
-SIGCONT |
Prozess weiterlaufen lassen | ||
-SIGTERM, -TERM, -15 |
Prozess beenden („anständig“) | ||
-SIGKILL, -9 |
Prozess beenden erzwingen („letzte Möglichkeit“) | ||
$varname=value |
|
Anlegen von Benutzervariablen | |
$export [Variablenname] |
|
Shellvariablen global anlegen bzw. exportieren | |
$export varname=value |
|
Shellvariablen global anlegen bzw. exportieren | |
$declare [Variablenname] |
|
Shellvariablen anlegen | |
-i |
Shellvariablen anlegen und als Integer (Ganzzahl) deklarieren | ||
-x |
Shellvariablen global anlegen bzw. exportieren | ||
$typeset -x [Variablenname] |
|
Shellvariablen global anlegen bzw. exportieren | |
|
$readonly [Variablenname] |
|
Variable als unveränderlich (read-only) deklarieren | |
$unset [Variablenname] |
|
Variablen löschen | |
$variable=`[Befehl]` |
|
Variable mit Ausgabe eines Kommandos initialisieren | |
$variable=$([Befehl]) |
|
Variable mit Ausgabe eines Kommandos initialisieren | |
\[Zeichen] |
|
Entwertet das nachfolgende Zeichen | |
‘[Zeichen]‘ |
|
Fasst alle umschlossenen Zeichen zusammen und entwertet alle Zeichen | |
“[Zeichen]“ |
|
Fasst alle umschlossenen Zeichen zusammen und entwertet alle Zeichen außer \ $ und ‘‘ | |
$ alias |
|
Anzeigen aller bereits definierten Aliase | |
|
$ alias [Variablenname]=`[Befehl]` |
|
Erstellung von zusätzlichen Bezeichnern/Befehlen | |
$ unalias [Befehlname] |
|
Aufheben des Bezeichners/Befehls | |
$ [Shell-Skript].sh |
|
Ausführen des Shell-Skripts, sofern das aktuelle Verzeichnis in der Shell-Variablen PATH enthalten ist (als neuer Kindprozess der Standard-Shell) | |
$ ./[Shell-Skript].sh |
|
Ausführen aus dem aktuellen Verzeichnis (als neuer Kindprozess der Standard-Shell) | |
|
$ (ba)sh [Shell-Skript].sh |
|
Ausführen aus dem aktuellen Verzeichnis (als neuer Kindprozess der Standard-Shell) | |
$ . [Shell-Skript].sh |
|
Ausführen aus dem aktuellen Verzeichnis (innerhalb der aktuellen Shell)→ keine Parameterübergabe möglich | |
|
$ source [Shell_Skript].sh |
|
Ausführen aus dem aktuellen Verzeichnis (innerhalb der aktuellen Shell) → keine Parameterübergabe möglich | |
$ exit [Exitcode] |
|
Beendigung eines Shell-Skripts und Rückgabe eines Statuswertes
Exit-Codes: 0 = fehlerfreie Abarbeitung 1-255 = Fehlerstatus | |
|
$ [Variablenname]=`expr [Variable 1] () [Variable 2]` |
|
Standard-Aufbau einer Rechenoperation mit expr | |
(+) |
Addtion | ||
(-) |
Subtraktion | ||
(*) |
Multiplikation | ||
(/) |
Ganzzahldivision | ||
(%) |
Rest bei Ganzzahldivision (modulo) | ||
|
$ let [Variablenname]=[Variable 1]()[Variable 2] |
Standard-Aufbau einer Rechenoperation mit let (nur bash und ksh) | ||
var++, var-- |
Post-Inkrement und -Dekrement von Variablen | ||
++var, --var |
Prä-Inkrement und -Dekrement von Variablen | ||
+var, -var |
Vorzeichen-Plus, Vorzeichen-Minus | ||
!,~ |
logische und bitweise Negation | ||
** |
Potenzierungsoperator | ||
(+) |
Addtion | ||
(-) |
Subtraktion | ||
(*) |
Multiplikation | ||
(/) |
Ganzzahldivision | ||
(%) |
Rest bei Ganzzahldivision (modulo) | ||
<=, >=, <, > |
kleiner-gleich, größer-gleich, kleiner, größer | ||
(») |
bitweise Rechtsverschiebung | ||
(«) |
bitweise Linksverschiebung | ||
==, != |
Gleichheit, Ungleichheit | ||
& |
bitweises UND | ||
^ |
bitweises XOR | ||
| |
bitweises ODER | ||
&& |
logisches UND | ||
|| |
logisches ODER | ||
[Ausdruck 1] ? [Ausdruck 2] : [Ausdruck 3] |
Bedingungstest (if … then … else) | ||
=, +=, -=, *=, /=, %=, »=, «=, &=, ^=, |= |
Zuweisungen | ||
|
$ [ [Variable 1] () [Variable 2] ] |
Bedingungen/Ausdrücke mit test testen/verarbeiten für Zahlen, Zeichenketten, Dateiarten, Zugriffsrechte, Ausdruckverknüpfung | ||
für Zahlen: |
(-eq) |
gleich (=) | |
(-ne) |
ungleich (≠) | ||
(-lt) |
kleiner (<) | ||
(-gt) |
größer (>) | ||
(-le) |
kleiner oder gleich (<=) | ||
(-ge) |
größer oder gleich (>=) | ||
für Zeichenketten: |
(=) |
Gleichheit | |
(!=) |
Ungleichheit | ||
(-z) |
Zeichenkette leer? | ||
(-n) |
Zeichenkette nicht leer? | ||
|
[ () [Datei] ] für Dateiarten: |
(-b) |
Datei existiert, ist blockorientiertes Gerät | |
(-c) |
Datei existiert, ist zeichenorientiertes Gerät | ||
(-d) |
Datei existiert, ist Verzeichnis | ||
(-f) |
Datei existiert, ist gewöhnliche Datei | ||
(-h) |
Datei existiert, ist symbolischer (Soft-)Link | ||
(-L) |
wie -h | ||
(-p) |
Datei existiert, ist named Pipe | ||
(-s) |
Datei existiert, ist Socket | ||
|
[ () [Datei] ] für Zugriffsrechte: |
(-g) |
Datei existiert, sgid-Bit ist gesetzt | |
(-k) |
Datei existiert, sticky-Bit ist gesetzt | ||
(-r) |
Datei existiert, ist lesbar | ||
(-u) |
Datei existiert, suid-Bit ist gesetzt | ||
(-w) |
Datei existiert, ist schreibbar | ||
(-x) |
Datei existiert, ist ausführbar | ||
(-O) |
Datei existiert, gehört Skriptnutzer | ||
(-G) |
Datei existiert, gehört zur Gruppe des Nutzers | ||
|
[ () [Datei] ] für Dateistatus: |
(-e) |
Datei existiert | |
(-s) |
Datei existiert, ist nicht leer (Länge > 0) | ||
|
[ [Datei 1] () [Datei 2] ]für Dateistatus: |
(-ef) |
beide Dateinamen sind Hardlinks einer Datei | |
(-nt) |
Datei 1 ist neuer als Datei 2 (Modifikationszeit) | ||
(-ot) |
Datei 1 ist älter als Datei 2 (Modifikationszeit) | ||
|
[ \([Bedingung 1]\) () \([Bedingung 2]\) ] für logische Verknüpfung: |
(-a) |
UND | |
(-o) |
| ||
(!) |
Negation (bei einer Bedingung) | ||
(&&) |
UND (bei bash und ksh) | ||
(||) |
ODER (bei bash und ksh) | ||
\( \) |
Klammern (müssen jede Bedingung umschließen) | ||
[Befehl 1]; [Befehl 2] |
Führt zuerst Befehl 1, danach Befehl 2 aus | ||
[Befehl 1] || [Befehl 2] |
logisches ODER |
Führt Befehl 2 nur aus, wenn Befehl 1 nicht erfolgreich war | |
[Befehl 1] && [Befehl 2] |
logisches UND |
Führt Befehl 2 nur aus, wenn Befehl 1 erfolgreich war | |
if [Bedingung] then [Anweisungen 1] else [Anweisungen 2] fi |
if-Schleife, bedingte Anweisung, Alternative Wichtig: Anweisungen 2 und else können entfallen! | ||
if [Bedingung 1] then [Anweisungen 1] elif [Bedingungen 2] then [Anweisungen 2] else [Anweisungen 3] fi |
if-Schleife, mehrere Bedingungen
Wichtig: Anweisungen 3 und else können entfallen! | ||
case [Variable] in [Muster 1]) [Anweisungen 1];; [Muster 2]) [Anweisungen 2];; [Muster n]) [Anweisungen n];; esac |
Fallunterscheidung (Mehrfachauswahl)
mögliche Muster: •. Zeichenketten •. Joker-(Meta-)Zeichen ( * ? [ ] ) •. alternative Muster: Di|Tue oder a|A
Wichtig: Jedes Muster muss mit einer ) und jedes Ende einer Anweisung für ein Muster mit ;; gekennzeichnet werden! | ||
while [Bedingung] do [Anweisungen 1] done |
while-Schleife, anfangsgeprüfte Schleife
Erklärung: SOLANGE [Bedingung] Erfolg liefert, führe [Anweisungen 1] aus | ||
until [Bedingung] do [Anweisungen 1] done |
until-Schleife, anfangsgeprüfte Schleife
Erklärung: SOLANGE [Bedingung] keinen Erfolg liefert, führe [Anweisungen 1] aus | ||
for [Variable] in [Ausführungsliste] do [Anweisungen 1] done |
for-Schleife, „Zählschleife“
Erklärung: FÜR i=1 var = Ausführungsliste[i] [Anweisungen 1] BIS alle Listenelemente abgearbeitet sind
Ausführungslistenmöglichkeiten: •. einfache Auflistungen: for value in 1 10 100 •. alle übergebenen Parameter: for parameter in $@ •. Jokerzeichen: for datei in *.txt •. Arrays: for i in ${array[*]} •. Kommandosubstitution/Ausgaben for datei in `find $HOME -name „*.jpg“` | ||
for z in {1..10} do ... |
„echte“ Zählschleife mittels Menge/Aufzählung Aufbau: Start, Ende | ||
|
for z in `seq 1 1 10` do ... |
„echte“ Zählschleife mit Verwendung des Kommandos seq Aufbau: Startwert, Schritt, Endwert | ||
|
for z in $(seq 1 1 10) do ... |
„echte“ Zählschleife mit Verwendung des Kommandos seq, nur in bash Aufbau: Startwert, Schritt, Endwert | ||
|
for ((i=1; i<=10; i++)) do ... |
„echte“ Zählschleife im Stil der Programmiersprache C/Java, erhöhen Aufbau: Startwert, Endbedingung, Post-Inkrement | ||
|
for ((i=10; i>0; i--)) do ... |
„echte“ Zählschleife im Stil der Programmiersprache C/Java, erniedrigen Aufbau: Startwert, Endbedingung, Post-Inkrement | ||
$tput [Option] [Argument]
|
clear |
Bildschirm (Konsole) leeren/löschen | |
home |
Cursor nach links oben setzen | ||
cup [x], [y] |
Cursor auf x-te Zeile, y-te Spalte setzen | ||
setaf [Farbe] |
Textfarbe ändern 0 = schwarz 1 = rot 2 = grün 3 = gelb 4 = blau 5 = magenta 6 = hellblau 7 = weiß | ||
|
$read [Variable 1] [Variable 2] [Variable 3] |
Eingabe einer Variable durch Benutzer über Konsole
Funktion: read var1 var2 var3 var1 & var2 = erstes und zweites Wort var3 = Rest der Zeile/Eingabe | ||
|
$dialog –[Dialogart] [Argumente] |
E/A-Bausteine für Textoberfläche | ||
--yesno |
Ja/Nein-Frage | ||
--infobox |
Informationsbox | ||
--inputbox |
Texteingabe | ||
--menu |
Menüauswahl | ||
--passwordbox |
Passworteingabe | ||
--calendar |
Kalender | ||
$kdialog –[Dialogart] [Argumente] |
E/A-Bausteine für Textoberfläche über KDE | ||
--msgbox |
Informationsbox | ||
--warningyesno |
Warnung mit Auswahl Ja/Nein | ||
--warningcontinuecancel |
Warnung mit Auswahl Weiter/Abbrechen | ||
--warningyesnocancel |
Warnung mit Auswahl Ja/Nein/Abbrechen | ||
--error |
Fehlermeldung | ||
--yesno |
Frage mit Auswahl Ja/Nein | ||
--yesnocancel |
Frage mit Auswahl Ja/Nein/Abbrechen | ||
--passivepopup |
passives/automatisch schließendes Popup | ||
--inputbox |
Texteingabe | ||
--getopenfilename |
Dateiauswahl (öffnen) | ||
--getsavefilename |
Dateiauswahl (speichern) | ||
--combobox |
Listenauswahl | ||
--checklist |
Listenauswahl (Check-Liste) | ||
--radiolist |
Listenauswahl | ||
--progressbar |
Fortschrittsanzeige | ||
--password |
Passworteingabe | ||
|
$xdialog –[Dialogart] [Argumente] |
E/A-Bausteine für Textoberfläche über X-Windows | ||
--yesno |
| ||
--msgbox |
| ||
--infobox |
| ||
--gauge |
| ||
--progress |
| ||
--inputbox |
| ||
--2inputsbox |
| ||
--3inputsbox |
| ||
--combobox |
| ||
--rangebox |
| ||
--2rangesbox |
| ||
--3rangesbox |
| ||
--spinbox |
| ||
--2spinsbox |
| ||
--3spinsbox |
| ||
--textbox |
| ||
--editbox |
| ||
--tailbox |
| ||
--logbox |
| ||
--menubox |
| ||
--checkbox |
| ||
--radiolist |
| ||
--buildlist |
| ||
--treeview |
| ||
--fselect |
| ||
--dselect |
| ||
--colorsel |
| ||
--fontsel |
| ||
--calendar |
| ||
--timebox |
| ||
|
$zenity –[Dialogart] [Argumente] |
E/A-Bausteine für Textoberfläche über X-Windows | ||
--info |
Informationsbox | ||
--warning |
Warnung | ||
--error |
Fehler | ||
--question |
Frage | ||
--notification |
Benachrichtigungsfeld | ||
--entry |
Texteingabe | ||
--file-selection |
Dateiauswahl | ||
--list |
Listenauswahl | ||
--progress |
Fortschrittsanzeige | ||
--scale |
Schieberegler | ||
--password |
Passwort | ||
--entry –-hide-text |
Texteingabe mit verstecktem Text | ||
--calendar |
Kalendar | ||
Verwendung von Dialogkommandos |
über Returnwert: •. bei Erfolg (JA): 0 •. bei Fehler (NEIN/ABBRUCH): 1 •. bei Dialogen mit NEIN und ABBRUCH: NEIN 1, ABBRUCH 2 | ||
${var:-wert} |
Liefert wert, wenn var leer ist, sonst var | ||
${var:+wert} |
Liefert wert, wenn var nicht leer ist, sonst nichts | ||
${var:=wert} |
Setzt var auf wert, wenn var leer ist; liefert var | ||
${var:?wert} |
Wenn var leer ist, wird bash: wert als Fehlermeldung ausgeben und das Skript beendet | ||
${#[String]} |
Bestimmung der Stringlänge | ||
|
${[String 1]}.${[String 2]} |
Stringverkettung (Zusammenfügung von String zu einem String, Konkatenation) | ||
${[String]:0:x} |
Herausschneiden eines Teils eines Strings, vom Anfang (0) bis Endwert (x) | ||
${[String]:x} |
Herausschneiden eines Teils eines Strings, ab Anfang (x) | ||
|
$ declare -a [Array-Name]=([Daten]) |
Erstellen und Auffüllen eines Arrays mit declare, Trennung mit Leerzeichen | ||
$[Array-Name]=([Daten]) |
Erstellen und Auffüllen eines Arrays, Trennung mit Leerzeichen | ||
|
$[Array-Name][Index]=[Daten] |
Erstellen und Auffüllen eines Array-Feldes, Trennung mit Leerzeichen | ||
${[Array-Name][i]} |
Zugriff auf das Feldelement mit dem Index i | ||
${#[Array-Name][*]} |
Anzahl der belegten Feldelemente ermitteln (Länge des Arrays) | ||
${#[Array-Name][i]} |
Länge des Elements mit dem Index i | ||
$unset [Array-Name][i] |
Löschen des Feldelements mit dem Index i | ||
function [Funktionsname](){ [Anweisung 1] [Anweisung 2] [Anweisung n] return n } |
Eigenschaften: •. werden nicht von einer eigenen Subshell ausgeführt •. liefert einen Returncode n (0-255) •. können selbst wieder Funktionen aufrufen •. können wie Variablen mit unset -f [Funktionsname] entfernt werden Wichtig: function kann weggelassen werden | ||
|
$ [Variable]=`[Funktion]` |
Aufruf der Funktion, Ausgabe speichern als neue Variable | ||
$[Funktion] |
Aufruf der Funktion | ||
Standard-Shell-Variablen
|
TERM, HOME, PS1 |
|
Standardvariablen |
wert, count, var |
|
Benutzervariablen | |
$, ?, @, ! |
|
System-Variablen | |
1, 2, 3, # |
|
Argumentvariablen | |
$HOME |
|
Home-Verzeichnis des Nutzers | |
$PATH |
|
Suchpfad für Programme | |
$SHELL |
|
absoluter Pfad zur ausführbaren Code der Shell | |
$LOGNAME |
|
Anmeldename des Nutzers | |
$USER |
|
Name des Nutzers | |
$TERM |
|
Typ des Terminals (z.B. xterm) | |
$EDITOR |
|
Standardeditor des Nutzers (z.B. vi) | |
$PAGER |
|
Standard-Pager (Anzeigeprogramm) des Nutzers (z.B. more) | |
$HOSTNAME |
|
Name des Rechners | |
$PS1 |
|
Primärer Prompt der Shell (Standard: $) | |
$RANDOM |
|
Shellvariable zur Erzeugung von 16-bit Integer-Werten von 0-32767 | |
R=$(($RANDOM%Y)) |
Erzeugen von zufälligen Integer-Werten von 0 bis Y-1 (Y ist nicht in dem Wertebereich enthalten | ||
R=$(($RANDOM%Y+1)) |
|
Erzeugen von zufälligen Integer-Werten von 0 bis Y (Y ist in dem Wertebereich enthalten) | |
#!/bin/sh |
|
Skript-Abarbeitung durch Bourne-Shell sh | |
#!/bin/bash |
|
Skript-Abarbeitung durch Bourne-Again-Shell bash | |
#!/bin/perl |
|
Skript-Abarbeitung durch Perl-Interpreter | |
|
Regex-Muster |
[:digit:] |
|
alle Zahlen, also [0-9] |
[:upper:] |
|
alle Großbuchstaben | |
[:lower:] |
|
alle Kleinbuchstaben | |
[:alpha:] |
|
alle Buchstaben, also [[:upper:][:lower:]] | |
[:alnum:] |
|
alle Ziffern oder Buchstaben [[:digit:][:alpha:]] | |
[:punct:] |
|
alle Satzzeichen bzw. Sonderzeichen | |
[:graph:] |
|
alle graphischen Zeichen, also [[:alnum:][:punct:]] | |
[:print:] |
|
alle druckbaren Zeichen, also [[:graph:]] | |
[:blank:] |
|
Leerzeichen oder Tabulator | |
[:space:] |
|
Zeichen die Leerraum erzeugen (Leerzeichen, Tabulator, Zeilenvorschub) | |
[:cntrl:] |
|
alle Steuerzeichen | |
. |
|
passt auf ein beliebiges Zeichen (Punkt) | |
^ |
|
findet Anfang einer Zeile (Caret) | |
$ |
|
findet das Ende einer Zeile (Dollarzeichen) | |
\< |
|
passen auf den Beginn eines Wortes | |
\> |
|
passen auf das Ende eines Wortes | |
? |
|
vorangegangener Ausdruck ist optional und wird maximal einmal angetroffen | |
* |
|
vorangegangener Ausdruck wird beliebig oft oder keinmal vorgefunden | |
+ |
|
vorangegangener Ausdruck wird mindestens einmal gefunden | |
{n} |
|
vorangegangener Ausdruck wird genau n-mal gefunden | |
{n,} |
|
vorangegangener Ausdruck wird mindestens n-mal oder öfter angetroffen | |
{,m} |
|
vorangegangener Ausdruck ist optional und wird maximal m-mal angetroffen | |
{n,m} |
|
vorangegangener Ausdruck wird mindestens n-mal und maximal m-mal angetroffen | |
|
[Ausdruck1Ausdruck2][Rest] |
|
Zeichenkette kann mit [Ausdruck1] oder [Ausdruck2] beginnen
Beispiel: [Ff]oo findet Foo und foo | |
[Ausdruck1]|[Ausdruck2] |
|
Verknüpfen durch ODER
Beispiel: [Ff]oo|[Bb]ar findet Foo, foo, Bar und bar | |
|
Beispiele: |
\<[Aa]+n+[ae]+\> |
findet alle Wörter, wie Anne oder Anna aussehen, nur mit beliebig vielen "A", "n" und "e" (sofern sie jeweils mindestens ein mal vorkommen), findet auch AAnnneeea | |
|
[Ss]up(er|ra) |
findet alle Wörter, wie Super, super, Supra, supra | ||
^[[:digit:]] |
findet alle Zeilen, die mit einer Zahl beginnen | ||
[[ $[Variablenname] =~ ^[0-9]+$ ]] |
Prüft, ob Variable nur aus Zahlen besteht (also ein Integer ist) | ||
|
weitere Hilfeseiten |
Regex |
| |
Generelle Fragen/Wiki |
| ||