diff --git a/ausgabeumlenkung.md b/ausgabeumlenkung.md index ea78fbf..dbafbf7 100644 --- a/ausgabeumlenkung.md +++ b/ausgabeumlenkung.md @@ -1 +1,97 @@ -Willkommen im Wiki. \ No newline at end of file +# Ausgabeumlenkung Beispiel + +```bash +cd ~/dateien/regulaere_Ausdruecke_-_Filter +pwd +``` + +1. `cd ~/data/regulaere_Ausdruecke_-_Filter`: Dieser Befehl bewirkt einen Verzeichniswechsel (Change Directory). Er navigiert Sie in das Verzeichnis `~/data/regulaere_Ausdruecke_-_Filter`. Hierbei wird `cd` für "Change Directory" verwendet, und `~/` ist eine Abkürzung für Ihr Benutzerverzeichnis (Home-Verzeichnis). Es verschiebt Ihren aktuellen Arbeitsverzeichnis-Pfad in das angegebene Verzeichnis. + +2. `pwd`: Dieser Befehl steht für "Print Working Directory" und gibt den aktuellen Verzeichnispfad (Arbeitsverzeichnis) auf dem Bildschirm aus. Wenn Sie zuvor den `cd`-Befehl verwendet haben, zeigt `pwd` das Verzeichnis an, in das Sie gewechselt sind. + Dies dient dazu, sicherzustellen, dass Sie sich im gewünschten Verzeichnis befinden. + +```bash +ls -l + +insgesamt 32 +-rw-rw-r-- 1 vagrant vagrant 7528 Mär 21 2020 frosch.txt +-rw-rw-r-- 1 vagrant vagrant 28 Mär 21 2020 hexdump.txt +-rw-rw-r-- 1 vagrant vagrant 16 Mär 21 2020 liste1 +-rw-rw-r-- 1 vagrant vagrant 15 Mär 21 2020 liste2 +-rw-rw-r-- 1 vagrant vagrant 489 Mär 21 2020 teilnehmer0.dat +-rw-rw-r-- 1 vagrant vagrant 788 Mär 21 2020 teilnehmer.dat +-rw-rw-r-- 1 vagrant vagrant 30 Mär 21 2020 uniq-test +``` + +```bash +if [ -f inhalt ] +then + rm inhalt +fi +ls -l +``` + +Die gezeigten Zeilen in einer Bash-Shell führen eine bestimmte Abfolge von Aktionen aus: + +1. if [ -f inhalt ]: Dies ist eine bedingte Anweisung (if-Anweisung). Sie prüft, ob die Datei namens "inhalt" im aktuellen Verzeichnis existiert (-f prüft, ob es sich um eine reguläre Datei handelt). Falls ja, wird der darin enthaltene Code ausge +führt. + +2. then: Dies markiert den Beginn des Codeblocks, der ausgeführt wird, wenn die Bedingung ([ -f inhalt ]) wahr ist. + +3. rm inhalt: Wenn die Datei "inhalt" existiert, wird sie mit diesem Befehl gelöscht (rm steht für "remove"). + +4. fi: Dies markiert das Ende des Codeblocks, der ausgeführt wird, wenn die Bedingung wahr ist (entsprechend dem then). + +5. ls -l: Unabhängig davon, ob die Datei "inhalt" existiert oder nicht, wird dieser Befehl verwendet, um den Inhalt des aktuellen Verzeichnisses anzuzeigen (ls steht für "list", -l für "long format", um detaillierte Informationen anzuzeigen). + +Insgesamt wird überprüft, ob die Datei "inhalt" existiert. Wenn ja, wird sie gelöscht, andernfalls wird nur der Inhalt des aktuellen Verzeichnisses angezeigt. + +```bash +focal vagrant@rdf-dev in ~/dateien +$ ls -laF > inhalt +focal vagrant@rdf-dev in ~/dateien +$ ls -l +insgesamt 52 +drwxrwxr-x 2 vagrant vagrant 4096 Apr 12 2022 briefe +-rw-rw-r-- 1 vagrant vagrant 0 Apr 12 2022 datei.txt +-rw-rw-r-- 1 vagrant vagrant 26718 Apr 12 2022 dnsmasq.conf.example +drwxrwxr-x 2 vagrant vagrant 4096 Apr 12 2022 geschweifte +-rw-rw-r-- 1 vagrant vagrant 795 Okt 1 20:53 inhalt +drwxrwxr-x 3 vagrant vagrant 4096 Apr 12 2022 kopieren +drwxrwxr-x 2 vagrant vagrant 4096 Apr 12 2022 regulaere_Ausdruecke_-_Filter +drwxrwxr-x 2 vagrant vagrant 4096 Apr 12 2022 suchmuster +focal vagrant@rdf-dev in ~/dateien +$ cat inhalt +insgesamt 64 +drwxrwxr-x 8 vagrant vagrant 4096 Okt 1 20:53 ./ +drwxr-xr-x 22 vagrant vagrant 4096 Sep 28 11:01 ../ +drwxrwxr-x 2 vagrant vagrant 4096 Apr 12 2022 briefe/ +-rw-rw-r-- 1 vagrant vagrant 0 Apr 12 2022 datei.txt +-rw-rw-r-- 1 vagrant vagrant 26718 Apr 12 2022 dnsmasq.conf.example +drwxrwxr-x 2 vagrant vagrant 4096 Apr 12 2022 geschweifte/ +drwxrwxr-x 8 vagrant vagrant 4096 Apr 12 2022 .git/ +-rw-rw-r-- 1 vagrant vagrant 80 Apr 12 2022 .gitignore +-rw-rw-r-- 1 vagrant vagrant 0 Apr 12 2022 .gitkeep +-rw-rw-r-- 1 vagrant vagrant 0 Okt 1 20:53 inhalt +drwxrwxr-x 3 vagrant vagrant 4096 Apr 12 2022 kopieren/ +drwxrwxr-x 2 vagrant vagrant 4096 Apr 12 2022 regulaere_Ausdruecke_-_Filter/ +drwxrwxr-x 2 vagrant vagrant 4096 Apr 12 2022 suchmuster/ +focal vagrant@rdf-dev in ~/dateien +$ +``` + +Die gezeigten Bash-Befehle führen die folgenden Aktionen aus: + +1. ls -laF > inhalt: Hier wird der Befehl ls verwendet, um den Inhalt des aktuellen Verzeichnisses anzuzeigen. Die Optionen -laF bedeuten: + - -l: Anzeige im Langformat (zeigt ausführliche Informationen zu Dateien und Verzeichnissen an). + - -a: Anzeige von versteckten Dateien (Dateien und Verzeichnisse, deren Namen mit einem Punkt . beginnen). + - -F: Fügt Suffixe wie / für Verzeichnisse und * für ausführbare Dateien hinzu. + + Der Befehl ls -laF gibt die Informationen im aktuellen Verzeichnis aus und leitet sie mit > in eine Datei namens "inhalt" um. + +2. ls -l: Dieser Befehl zeigt erneut den Inhalt des aktuellen Verzeichnisses im Langformat an, ohne die Ausgabe umzuleiten. Die Ausgabe wird direkt auf dem Bildschirm angezeigt. + +3. cat inhalt: Mit diesem Befehl wird der Inhalt der zuvor erstellten Datei "inhalt" angezeigt. Die Ausgabe zeigt die Verzeichnisstruktur und die Dateiinformationen an, die zuvor in "inhalt" geschrieben wurden. + +In der gezeigten Ausgabe sehen Sie zuerst die Ausgabe des Befehls ls -l, der Informationen über Dateien und Verzeichnisse im aktuellen Verzeichnis anzeigt. Dann sehen Sie die Ausgabe des Befehls cat inhalt, der den Inhalt der Datei "inhalt" anzeigt, + der zuvor mit der Umleitung > erstellt wurde. Die Ausgabe von cat inhalt enthält sowohl Dateien im aktuellen Verzeichnis als auch die Informationen aus "inhalt".