Linux Kommandoliste

 ← zurück zur Startseite

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

https://docs.linuxfoundation.org/lfx/project-control-center/tools/security/manage-false-positives/regular-expressions-cheat-sheet

Regex

 

https://wiki.ubuntuusers.de/Startseite/

Generelle Fragen/Wiki