3 ausgabeumlenkung
kraeml edited this page 2023-10-01 19:03:44 +00:00

Ausgabeumlenkung Beispiel

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.

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
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.

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".

date

So 1. Okt 20:59:22 CEST 2023

date >> inhalt

cat inhalt

insgesamt 3104
drwxrwxr-x 1 vagrant vagrant    4096 Feb 15  2022 ./
drwxrwxr-x 1 vagrant vagrant    4096 Sep 22 16:28 ../
drwxrwxr-x 1 vagrant vagrant    4096 Jan 16  2021 asciinema/
-rw-rw-r-- 1 vagrant vagrant       0 Jul 28  2020 .gitkeep
-rw-r--r-- 1 vagrant vagrant       0 Feb 15  2022 inhalt
drwxrwxr-x 1 vagrant vagrant    4096 Feb  4  2021 .ipynb_checkpoints/
-rw------- 1 vagrant vagrant 3029942 Dez  6  2019 Linux kompakt__Ein Einstieg in Linux-Anwen - Linup Front GmbH.pdf
-rw-r--r-- 1 vagrant vagrant     590 Feb  1  2021 liste
-rw-rw-r-- 1 vagrant vagrant   47168 Feb 15 13:47 Standardkanaele_und_Filterkommandos.ipynb
-rw-rw-r-- 1 vagrant vagrant   72182 Jan 17  2021 Standardkanaele_und_Filterkommandos.pdf
-rw-r--r-- 1 vagrant vagrant      63 Jan 25  2021 termine
Di 15. Feb 13:48:05 CET 2022
So 1. Okt 20:59:26 CEST 2023
  1. date: Dieser Befehl gibt das aktuelle Datum und die Uhrzeit auf dem Bildschirm aus. In diesem Fall zeigt es "So 1. Okt 20:59:22 CEST 2023" an, was das aktuelle Datum und die Uhrzeit zu diesem Zeitpunkt ist.

  2. date >> inhalt: Mit diesem Befehl wird das aktuelle Datum und die Uhrzeit an die Datei "inhalt" angehängt. Die Umleitung >> fügt die Ausgabe des Befehls date am Ende der Datei "inhalt" hinzu, ohne den vorhandenen Inhalt der Datei zu überschreiben.

  3. cat inhalt: Dieser Befehl zeigt den Inhalt der Datei "inhalt" an, einschließlich der zuvor angehängten Ausgabe von date. In der Ausgabe sehen Sie das ursprüngliche Verzeichnislisting sowie die beiden Datums- und Uhrzeitangaben: "Di 15. Feb 13:48: 05 CET 2022" und "So 1. Okt 20:59:26 CEST 2023". Diese Datums- und Uhrzeitangaben wurden von den Befehlen date und date >> inhalt erzeugt und in die Datei "inhalt" geschrieben.