0 Daumen
459 Aufrufe

blob.png

Text erkannt:

Aufgabe 1 (5 Punkte)
In Unix-artigen Betriebssystemen werden alle Geräte wie Dateien behandelt. Dies betrifft auch den Standardeingabekanal STDIN und die Ausgabekanäle STDOUT (Standardausgabe) und STDERR (Fehler) eines Programms. Ein Benutzer kann beim Aufruf eines Programms zum Beispiel entscheiden, ob die Eingabe aus einer Datei gelesen oder die Ausgabe in eine Datei geschrieben werden soll. Erläutert jeweils für die folgenden Kommandofolgen, was dort im Hinblick auf die Umlenkung von Eingaben und Ausgaben genau passiert.

Es wird vorausgesetzt, dass die aufgerufenen Kommandos verfügbar sind und sich im aktuell gesetzten Ausführungspfad befinden. Der Nutzer besitzt Schreibrechte im aktuellen Verzeichnis, die umask hat den Wert \( 022 . \) Das aktuelle Verzeichnis enthält vor Ausführung der gezeigten Sequenzen nur die Datei data. csv. Was passiert mit Eingaben und Ausgaben? Wo werden neue Dateien erzeugt? Wo werden Ausgaben an bestehende Dateien angehängt?

Eine bloße Beschreibung der sichtbaren Auswirkungen auf Shell-Ebene oder der grundsätzlichen Funktionsweise der Umlenkungen reicht nicht aus. Für die erfolgreiche Bearbeitung dieser Aufgabe muss zwingend beschrieben werden, was in diesem konkreten Szenario passiert. Falsche Beschreibungen und Ungenauigkeiten können zu Punktabzug führen.
a)
LC_TIME=de_DE.utf8 date +\%A >heute printf "Heute ist " I cat - heute Itr ' [a-z] ' ' [A-Z] 'Itee motd
b)
sort \( -r-k 2-n \) data.csv \( >> \) sorted
c)
while read \( v \); do (cd \$v \&\& pwd) ; done <tmp 2>/dev/null Isort -u -d >dirs for d in 'cat dirs' ; do du -s -h \$d ; done lsort -hltail -1

Hallo Leute,

wir haben mit Ti2 (Technischer Informatik 2) angefangen und ich komme mit dieser Aufgabe ( 1. Aufgabe des zweites Blatts) nicht mehr weiter :( Kann mir einer weiterhelfen?
Mit freundlichen Grüßen,
Anna

Avatar von

1 Antwort

0 Daumen
In Unix-artigen Betriebssystemen

Es ist unerlässlich, dass du ein solches System zur Verfügung hast.

Eine bloße Beschreibung der sichtbaren Auswirkungen auf Shell-Ebene oder der grundsätzlichen Funktionsweise der Umlenkungen reicht nicht aus.

Das sollte dich nicht davon abhalten, die Befehle auch tatsächlich auszuführen.

LC_TIME=de_DE.utf8 date +\%A >heute

Ein Ausdruck der Form

        a=b c

  1. legt die Umgebungsvariable a an
  2. weißt ihr den Wert b zu
  3. führt das Programm c aus.

Ein Ausdruck der Form

    a > b

führt das Programm a aus und schreibt das, was das Programm in die Standardausgabe schreibt, in die Datei b. Die Datei b wird dabei vorher geleert. Im Gegensatz dazu wird bei

    a >> b

die Datei vorher nicht geleert.

Falls du nicht weißt, wie das Programm date funktioniert, kannst du das durch Eingabe von

man date
herausfinden. Ähnliches gilt für die Programme printf, cat, tr, tee, sort, cut, paste, bc und weitere.

Ein Ausdruck der Form

        a < b

startet das Programm a und schreibt den Inhalt der der Datei b in die Standardeingabe von a.

Ein Ausdruck der Form

    a | b

startet die Programme a und b und schreibt die Standardausgabe von a in die Standardeingabe von b.

Ein Ausdruck der Form

        a n>b

startet das Programm a und schreibt das was a in die Datei Nummer n schreibt stattdessen in die Datei b. Innerhalb von Programmen wird jede geöffnete Datei anhand einer Nummer identifiziert, dem sogenannten file descriptor. Bei Programmstart sind die Nummern 0, 1 und 2 schon vergeben, nämlich für Standardeingabe, Standardausgabe bzw. Fehler. Fehler in der while-Schleife werden also nach /dev/null ausgegeben. /dev/null ist eine Datei, die immer leer ist. Wenn du aus ihr liest, dann kommt nichts; wenn du in sie schreibst, dann sind die Daten weg.

Führe die genannten Befehle aus . Beschreibe warum wann welche Datei erzeugt wird und warum sie welchen Inhalt hat. Sag bescheid wenn du auf die Begründung nicht kommst.

Avatar von 5,7 k

Alles klar ich befasse mich nun mit den Begründungen und versuche deine erläuterungen als basis zu benutzen

LG

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community