Podcast
Questions and Answers
Was ist der Unterschied zwischen "x" und 'x' in der Bash?
Was ist der Unterschied zwischen "x" und 'x' in der Bash?
"x" wird interpretiert, während 'x' nicht interpretiert wird.
Welche Funktion hat das Zeichen $ in der Bash?
Welche Funktion hat das Zeichen $ in der Bash?
$ wird verwendet, um Variablen und Sonderzeichen zu referenzieren und zu interpretieren.
Was bewirkt die Verwendung von $@ in einem Bash-Skript?
Was bewirkt die Verwendung von $@ in einem Bash-Skript?
$@ gibt alle übergebenen Parameter als separate Argumente in einem Skript zurück.
Erkläre die Bedeutung von $? in der Bash.
Erkläre die Bedeutung von $? in der Bash.
Signup and view all the answers
Was bewirkt die Verwendung von x
in der Bash?
Was bewirkt die Verwendung von x
in der Bash?
Signup and view all the answers
Welche Rolle spielt der Parameter -e im Bash-Befehl test?
Welche Rolle spielt der Parameter -e im Bash-Befehl test?
Signup and view all the answers
Was stellt der Parameter $# dar?
Was stellt der Parameter $# dar?
Signup and view all the answers
Wie funktioniert der Befehl while in Verbindung mit test in einem Bash-Skript?
Wie funktioniert der Befehl while in Verbindung mit test in einem Bash-Skript?
Signup and view all the answers
Was bedeutet das KISS-Prinzip im Kontext von UNIX?
Was bedeutet das KISS-Prinzip im Kontext von UNIX?
Signup and view all the answers
Wie werden die Standardausgaben von Programmen in UNIX genutzt?
Wie werden die Standardausgaben von Programmen in UNIX genutzt?
Signup and view all the answers
Welchen Rückgabewert hat ein fehlerfrei beendetes Programm in Bash?
Welchen Rückgabewert hat ein fehlerfrei beendetes Programm in Bash?
Signup and view all the answers
Wie wird in Bash überprüft, ob ein Programm fehlerfrei beendet wurde?
Wie wird in Bash überprüft, ob ein Programm fehlerfrei beendet wurde?
Signup and view all the answers
Was macht der Befehl 'find' in UNIX?
Was macht der Befehl 'find' in UNIX?
Signup and view all the answers
Wie werden Sonderzeichen und Leerzeichen in Dateinamen beim 'find'-Befehl behandelt?
Wie werden Sonderzeichen und Leerzeichen in Dateinamen beim 'find'-Befehl behandelt?
Signup and view all the answers
Wie kann man mit 'find' nach C-Dateien in Verzeichnissen suchen?
Wie kann man mit 'find' nach C-Dateien in Verzeichnissen suchen?
Signup and view all the answers
Was bewirkt der Befehl 'xargs -0' in Verbindung mit 'find'?
Was bewirkt der Befehl 'xargs -0' in Verbindung mit 'find'?
Signup and view all the answers
Was ist die grundlegende Syntax für den Befehl 'find' in Bash?
Was ist die grundlegende Syntax für den Befehl 'find' in Bash?
Signup and view all the answers
Welche Funktion hat der Parameter '-type' im 'find' Befehl?
Welche Funktion hat der Parameter '-type' im 'find' Befehl?
Signup and view all the answers
Was bewirkt der Parameter '-ctime -1' im 'find' Befehl?
Was bewirkt der Parameter '-ctime -1' im 'find' Befehl?
Signup and view all the answers
Wofür steht das Sonderzeichen '*' in einer Bash-Zeichenkette?
Wofür steht das Sonderzeichen '*' in einer Bash-Zeichenkette?
Signup and view all the answers
Wie wird der '<' Operator in Bash verwendet?
Wie wird der '<' Operator in Bash verwendet?
Signup and view all the answers
Was ist der Unterschied zwischen '|' und ';' in Bash?
Was ist der Unterschied zwischen '|' und ';' in Bash?
Signup and view all the answers
Was bewirken die Parameter '-nouser' und '-nogroup' im 'find' Befehl?
Was bewirken die Parameter '-nouser' und '-nogroup' im 'find' Befehl?
Signup and view all the answers
Wie kann man in Bash eine Datei mit einem bestimmten Namen, der ein Sonderzeichen enthält, ansprechen?
Wie kann man in Bash eine Datei mit einem bestimmten Namen, der ein Sonderzeichen enthält, ansprechen?
Signup and view all the answers
Wie überprüft man, ob eine Datei mit dem Namen 'file.txt' lesbar ist?
Wie überprüft man, ob eine Datei mit dem Namen 'file.txt' lesbar ist?
Signup and view all the answers
Was bewirkt der Parameter -c beim tar-Befehl?
Was bewirkt der Parameter -c beim tar-Befehl?
Signup and view all the answers
Wie testet man, ob zwei Strings in Bash gleich sind?
Wie testet man, ob zwei Strings in Bash gleich sind?
Signup and view all the answers
Was sind die Ergebnisse der Verwendung von alias
in Bash?
Was sind die Ergebnisse der Verwendung von alias
in Bash?
Signup and view all the answers
Wie kann man überprüfen, ob eine Datei leer ist?
Wie kann man überprüfen, ob eine Datei leer ist?
Signup and view all the answers
Welcher Befehl wird verwendet, um eine tar-Datei zu entpacken?
Welcher Befehl wird verwendet, um eine tar-Datei zu entpacken?
Signup and view all the answers
Was bewirkt der Parameter -v beim tar-Befehl?
Was bewirkt der Parameter -v beim tar-Befehl?
Signup and view all the answers
Wie kann man überprüfen, ob eine Zahl N kleiner oder gleich M ist?
Wie kann man überprüfen, ob eine Zahl N kleiner oder gleich M ist?
Signup and view all the answers
Was wird beim Einloggen eines Benutzers in der Regel von der Bash ausgeführt?
Was wird beim Einloggen eines Benutzers in der Regel von der Bash ausgeführt?
Signup and view all the answers
In welcher Datei können Änderungen für die z-Shell unter macOS vorgenommen werden?
In welcher Datei können Änderungen für die z-Shell unter macOS vorgenommen werden?
Signup and view all the answers
Was stellt die eindeutige User-ID (UID) eines Nutzers bereit?
Was stellt die eindeutige User-ID (UID) eines Nutzers bereit?
Signup and view all the answers
Was passiert, wenn ein Benutzer die SuperUser-Rechte erlangt?
Was passiert, wenn ein Benutzer die SuperUser-Rechte erlangt?
Signup and view all the answers
Was bewirkt der Befehl '-c' beim Tar-Programm?
Was bewirkt der Befehl '-c' beim Tar-Programm?
Signup and view all the answers
Was ermöglicht der Befehl 'alias' in der Bash?
Was ermöglicht der Befehl 'alias' in der Bash?
Signup and view all the answers
Wie entpackt man eine tar-Datei mittels tar-Befehl?
Wie entpackt man eine tar-Datei mittels tar-Befehl?
Signup and view all the answers
Was macht der Befehl 'find . -ctime -1 -print0' in dem bereitgestellten Beispiel?
Was macht der Befehl 'find . -ctime -1 -print0' in dem bereitgestellten Beispiel?
Signup and view all the answers
Study Notes
Anführungszeichen
- "
x
" erzeugt eine Subshell, zum Beispiel zum Erzeugen von Eingabe. Die Alternative$(x)
ist besser lesbar. -
'x'
Ein String (einschließlich Leerzeichen), wird nicht interpretiert. -
"x"
Ein String (einschließlich Leerzeichen), wird von der Shell interpretiert, das heißt darin enthaltene Variablen und andere Sonderzeichen werden textuell ersetzt.
Das $ Steuerzeichen
-
$0
Der Name des ausgeführten Skripts, wenn keines ausgeführt wird:-bash
-
$1
Der erste Parameter, der dem Skript übergeben wurde,$2
ist der zweite Parameter etc. -
$*
Alle Parameter zusammengeführt, durch Leerzeichen$IFS
getrennt. -
$#
Die Anzahl der übergebenen Parameter. -
$@
Die einzelnen Parameter. -
$?
Der Rückgabewert des zuletzt beendeten Programms. -
$$
Die Prozess-ID (PID) des aufrufenden Skripts/der Bash. -
$!
Die PID des letzten im Hintergrund laufenden Prozesses.
Arithmetische Ausdrücke
-
$((...))
wird ein arithmetischer Ausdruck evaluiert, z.B.:i=0; while test $i -lt 10; do echo i:$i; i=$(($i + 1)); done
Das test Programm
- Mit
test
lassen sich Bedingungen in Bash prüfen. -
-e file.txt
prüft, ob die angegebene Datei existiert. -
-f file.txt
prüft, ob die angegebene Datei eine normale Datei ist. -
-r file.txt
prüft, ob die Datei lesbar ist,-w
schreibbar,-x
ausführbar. -
-s file.txt
prüft, ob die Datei größer als 0 Bytes ist.
Strings testen
-
-z
prüft, ob ein String leer ist (0 Zeichen). -
test s1 = s2
prüft, ob zwei Strings gleich sind.
Numerische Tests
-
N -le M
prüft, ob N kleiner gleich M ist (lower or equal). -
N -gt M
prüft, ob N größer gleich M ist (greater than).
UNIX Philosophie
- UNIX verfolgt das KISS Prinzip: Keep It Simple, Stupid.
- Ein Programm soll eine Aufgabe gut erfüllen.
UNIX Programme kombinieren
- Die Standardausgabe eines Programms (File-Descriptor 1) kann an die Eingabe des nächsten Programms weitergeleitet werden (mittels Pipe " | " Symbol).
-
$ sort file.txt | tail -n 5 | grep -E 'd$'
Rückgabewerte
- Fehlerfrei beendete Programme geben immer den Rückgabewert 0 zurück, ansonsten ungleich Null.
-
&&
prüft, ob das vorherige Programm fehlerfrei beendet wurde. -
||
prüft, ob das vorherige Programm mit Fehler beendet wurde.
Das find Programm
-
find
dient zum Finden von Dateien, Verzeichnissen und Gerätedateien. -
$ find .-maxdepth 3 -name \*.c
findet alle Dateien in diesem Verzeichnis (.) und bis zu drei Ebenen tiefer mit der Dateiendung .c. -
$ find.–maxdepth 3 –name \*.c –print0 | xargs -0 grep –i 'Fix'
findet alle Dateien in diesem Verzeichnis (.) und bis zu drei Ebenen tiefer mit der Dateiendung .c, welche "Fix" enthalten (Groß/Kleinschreibung wird ignoriert).
Parameter für find
-
-type
suchte nach einem bestimmten Typ: u.a.f
(Datei),d
(Verzeichnis),l
(Soft-Link). -
-iname
Name der Datei/Verzeichnis entspricht dem regulären Ausdruck. -
-ctime -1
Verändert vor weniger als 24 Stunden. -
-user
Datei gehört Nutzer X (auch als numerischer Wert). -
-nouser
Datei gehört keinem gültigen Nutzer. -
-nogroup
Datei gehört keiner gültigen Gruppe.
Sonderzeichen
-
/
Verzeichnistrenner. -
?
WildCard für ein beliebiges Zeichen. -
*
Wildcard für eine beliebige Zeichenkette. -
[ ]
Ein Teil eines regulären Ausdrucks für eine Zeichenauswahl. -
[A-Z]
Ein Zeichenbereich. -
< , >
Sonderzeichen zum Umleiten von Ein- und Ausgabe. -
| || ; &&
Verknüpfung von Programmen. -
( , )
Zusammenfassung von Programmen & Befehlen zu Gruppen.
Das tar Programm
- Mit Hilfe des Tape Archive (kurz: tar) Programms lassen sich Backups aller Dateien erzeugen.
-
-c
Create: Erstellt eine neue tar-Datei. -
-f file.txt
FileName: Name der Datei, die gepackt werden soll. -
-v
Verbose: Konsolenausgaben über den aktuellen Prozesschritt. -
-x file.txt
Extract: Entpackt eine tar-Datei in ein Verzeichnis. -
$ find.-ctime -1 -print0 | tar -cvf tar-
date '+%Y.%m.%d'.tar --null -T –
Erstellt ein tar Backup aller Dateien, die vor weniger als 24 Stunden geändert wurden.
Alias
- Mit Hilfe von
alias
lassen sich Bash-Befehle umprogrammieren. -
$ alias l="ls -al"
-
$ alias mnt="mount | awk -F' ' '{ printf \"%s\t%s\n\",\$1,\$3; }' | column -t | egrep ^/dev/ | sort"
.bashrc / .zshrc
- Beim Einloggen des Benutzers wird standardmäßig die Datei
~/.bashrc
gelesen. Hier kann man Änderungen vornehmen, um eigene Kürzel, Befehle oder Programme zu laden. - macOS benutzt die z-Shell, Änderungen können in der
~/.zshrc
vorgenommen werden.
BS_LAB Server
- Für jeden Teilnehmer des Kurses existiert ein Account auf dem Betreibssysteme-Server
bslab-it
. - Login:
ssh [email protected]
- Jeder Nutzer hat eine eindeutige User-ID (UID), die in
/etc/passwd
steht. - Jeder Nutzer gehört mindestens einer Benutzergruppe an (z.B.:
staff
). - Jeder Nutzer darf (fast) beliebig viele Prozesse starten.
- Manche Nutzer dürfen SuperUser
root
werden, mitsu-
odersudo
.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
In diesem Quiz werden die Grundlagen von Anführungszeichen und Variablen in Bash-Skripten behandelt. Die verschiedenen Typen von Anführungszeichen sowie die Nutzung des $-Steuerzeichens werden erklärt. Teste dein Wissen über diese wichtigen Konzepte!