Klausurfragen

H

Hobbit

Grünschnabel
Hey Leute

ich hoffe einer von euch kann mir bei meinen Klausuraufgaben helfen ...


Aufgabe 1:
Geben Sie ein UNIX-Kommando an, das zählt in wieviel Zeilen in allen .html–Dateien im momentanen Verzeichnis und allen Unterverzeichnissen das Wort TITLE vorkommt.

Aufgabe 2:
Ein UNIX–Prozeß besitzt im Betriebssystem 3 Datensegment, das Textsegment, das Benutzerdatensegment und das Systemdatensegment.

Was wird bei der Ausfü̈hrung eines Programms im Text / Benutzer / System-segment gespeichert?

Was passiert mit den drei segmenten bei Aufruf von fork?

Aufgabe 3:

Aufgabe 3:
Entwickeln Sie ein Kommando, dass das gesammte Dateisystem nach Dateien durchsucht,
die mit .html enden. Die Liste der Dateinamen soll in einer Datei html-files im mo-
mentanen Arbeitsverzeichnis gespeichert werden. M ̈gliche Fehlermeldungen, die beim
Suchen auftreten k ̈nnen, sollen nicht angezeigt werden. W ̈rend der Suche soll normal
weitergearbeitet werden k önnen.
 
Zuletzt bearbeitet:
Hier wird dir nur bei entsprechender Eigeninitiave geholfen.

Deine Fragen hinzuklatschen ohne selber mal wenigstens zu googlen ist eine Frechheit.
 
Hab bereits gegooglet und zu den meisten sachen auch eine antwort gefunden, nur bei diesen 3 Aufgaben häng ich fest XD

bei der ersten aufgabe wüsst ich nicht wie ich das mit allen unterordnern realisieren soll.

ne antwort zu der 2ten aufgabe find ich nichtmal im script meines dozenten.

bei der dritten hab ich grad 0 plan XD
 
Zuletzt bearbeitet:
Geben Sie ein UNIX-Kommando an, das zählt in wieviel Zeilen in allen .html–Dateien im momentanen Verzeichnis und allen Unterverzeichnissen das Wort TITLE vorkommt.

Code:
man grep

in der Konsole eintippen + lesen + verstehen + probieren. Dann weißt du die Antwort auf die Frage.

Ein UNIX–Prozeß besitzt im Betriebssystem 3 Datensegment, das Textsegment, das Benutzerdatensegment und das Systemdatensegment.

Was wird bei der Ausfü̈hrung eines Programms im Text / Benutzer / System-segment gespeichert?

ne antwort zu der 2ten aufgabe find ich nichtmal im script meines dozenten.

Nein, aber mit google.

Und zu fork:

Code:
man fork

in der Konsole eintippen + lesen + verstehen + probieren. Dann weißt du die Antwort auf die Frage.

Entwickeln Sie ein Kommando, dass das gesammte Dateisystem nach Dateien durchsucht,
die mit .html enden. Die Liste der Dateinamen soll in einer Datei html-files im mo-
mentanen Arbeitsverzeichnis gespeichert werden. M ̈gliche Fehlermeldungen, die beim
Suchen auftreten k ̈nnen, sollen nicht angezeigt werden. W ̈rend der Suche soll normal
weitergearbeitet werden k önnen.

Code:
man find

in der Konsole eintippen + lesen + verstehen + probieren.
 
so weit war ich auch schon:

Lösungsansatz aufgabe 1:

cat `find -name "*.html"` | grep -i "TITLE" | wc -l

Ich find bei google nix XD nach welchen stichwörtern soll ich denn suchen ?

man fork gibts bei mir nich ;) hab ich schon versucht

und bei aufgabe 3 weiß ich nich wie ich die komplette verzeichnisstruktur durchsuchen soll.
 
Interessant.

Du hast in sage und schreibe 8 Minuten

Code:
man find
man grep
man fork

gelesen und verstanden.

=> jede Hilfe meinerseits hat sich erledigt.

Mit deiner nicht vorhandenen Eigeninitiave / Selbstständigkeit wird das sowieso nichts werden.
 
ne

find und grep kannte ich schon vorher... damit hab ich mich nicht erst gerade eben auseinander gesetzt...

und man fork gibts bei mir immernoch nicht.

bei aufgabe 3 hab ich folgendes gemacht:

find ~ -name "*.html" > html-files &
 
Zuletzt bearbeitet:
1. Es geht nicht darum, dass du grep und find kennst, sondern, dass du sie mit korrekt anwenden kannst. Und wenn du probleme hast ein mit deinen Aufgaben und dir jemand den Tipp gibt, dass du die Lösung findest, wenn du 'man grep' und 'man find' liest, dann solltest du das vielleicht machen.

2. Man kann 'Man-Pages' auch sonstwo nachschlagen: http://man.cx/fork(3posix)

Gruss
d22
 
Wie kommst du darauf, das ich grep falsch bzw garnicht verstanden habe ?

Meine Lösungen funktionieren ja soweit.
 
und man fork gibts bei mir immernoch nicht.

Bitte sehr:

Code:
BEZEICHNUNG
       fork, vfork - erzeugt einen Kindprozess

SYNTAX
       #include <unistd.h>

       pid_t fork(void);
       pid_t vfork(void);

DESCRIPTION
       fork  erzeugt  einen  Kindprozess, der sich vom Vaterprozess nur
       durch die PID und PPID unterscheidet und darin, dass die Verwen-
       dung  von  Ressourcen  auf  0  gesetzt ist.  File-Locks und noch
       ausstehende Signale werden nicht vererbt.

       Unter Linux ist fork unter Benutzung  von  copy-on-write  Seiten
       implementiert,  so  dass  der einzige Nachteil von fork die Zeit
       und der Speicher ist, der benötigt wird, um den die  Page-Tables
       des  Vaterprozesses  zu  kopieren  und einen Task-Record für den
       Kindprozess anzulegen.

RÜCKGABEWERT
       Bei  Erfolg  wird  dem   Vaterprozess   die   PID   des   Kindes
       zurückgegeben  und  0  dem  Kindprozess.   Bei  Fehlern wird dem
       Vaterprozess -1 zurückgegeben und  errno  entsprechend  gesetzt.
       Ein Kindprozess wird nicht generiert.

FEHLER
       EAGAIN fork  kann  nicht  ausreichend  Speicher zuweisen, um die
       Page-Tabellen des Vaterprozesses zu  kopieren  und  einen
       Task-Record für den Kindprozess anzulegen.

BUGS
       Unter Linux ist vfork nichts anderes als ein Alias für fork.
       fork gibt niemals den Fehler ENOMEM zurück.

KONFORM ZU
       SVID, AT&T, POSIX, X/OPEN, BSD 4.3

SIEHE AUCH
       clone(2), execve(2), wait(2).
 
Was spricht eigentlich gegen eine "find -exec"-Kombination?

Das Ganze dann durch wc pipen (lol, netter Satz "etwas durch wc pipen", hat was).
 
zu aufgabe 3

Code:
find / -name *.html >> /home/xxx/html-files &
 
Nope, noch nicht ganz.



Das muss aber nicht zwingend $HOME sein.

Tipp: pwd

Greetz,

RM

Stimmt. Das war jetzt reine Ignoranz gegenüber der Aufgabenstellung. (Und Copy und Paste) *g*

Code:
find / -name *.html >> ./html-files 2> /dev/null &

Sonst wäre ein ~/html-files wohl auch besser.
 
jo aber ie fehlerausgabe soll ignoriert werden :) deswegen habsch das weggelassen ... oder ich habs falsch gelesen ^^
 

Ähnliche Themen

Squid nur zum maskieren der eigenen IP, nicht für Webserver auf port 80

Zurück
Oben