Klausurfragen

Dieses Thema im Forum "Programmieren allgemein" wurde erstellt von Hobbit, 05.02.2008.

  1. #1 Hobbit, 05.02.2008
    Zuletzt bearbeitet: 05.02.2008
    Hobbit

    Hobbit Grünschnabel

    Dabei seit:
    05.02.2008
    Beiträge:
    5
    Zustimmungen:
    0
    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.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 supersucker, 05.02.2008
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Hier wird dir nur bei entsprechender Eigeninitiave geholfen.

    Deine Fragen hinzuklatschen ohne selber mal wenigstens zu googlen ist eine Frechheit.
     
  4. #3 Hobbit, 05.02.2008
    Zuletzt bearbeitet: 05.02.2008
    Hobbit

    Hobbit Grünschnabel

    Dabei seit:
    05.02.2008
    Beiträge:
    5
    Zustimmungen:
    0
    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
     
  5. #4 supersucker, 05.02.2008
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Code:
    man grep
    in der Konsole eintippen + lesen + verstehen + probieren. Dann weißt du die Antwort auf die Frage.

    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.

    Code:
    man find
    in der Konsole eintippen + lesen + verstehen + probieren.
     
  6. Hobbit

    Hobbit Grünschnabel

    Dabei seit:
    05.02.2008
    Beiträge:
    5
    Zustimmungen:
    0
    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.
     
  7. #6 supersucker, 05.02.2008
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    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.
     
  8. #7 Hobbit, 05.02.2008
    Zuletzt bearbeitet: 05.02.2008
    Hobbit

    Hobbit Grünschnabel

    Dabei seit:
    05.02.2008
    Beiträge:
    5
    Zustimmungen:
    0
    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 &
     
  9. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    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
     
  10. Hobbit

    Hobbit Grünschnabel

    Dabei seit:
    05.02.2008
    Beiträge:
    5
    Zustimmungen:
    0
    Wie kommst du darauf, das ich grep falsch bzw garnicht verstanden habe ?

    Meine Lösungen funktionieren ja soweit.
     
  11. #10 gropiuskalle, 05.02.2008
    gropiuskalle

    gropiuskalle terra incognita

    Dabei seit:
    01.07.2006
    Beiträge:
    4.857
    Zustimmungen:
    0
    Ort:
    Berlin
    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).
     
  12. Gast1

    Gast1 Guest

    *UUOC-Award verleih*
     
  13. #12 Wolfgang, 05.02.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Nein, da geht noch ein echo $(..) drum. :devil:

    Mit effizientem Einsatz dieser Werkzeuge hat das nichts zu tun.

    Wolfgang
     
  14. Gast1

    Gast1 Guest

    Was spricht eigentlich gegen eine "find -exec"-Kombination?

    Das Ganze dann durch wc pipen (lol, netter Satz "etwas durch wc pipen", hat was).
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. foexle

    foexle Kaiser

    Dabei seit:
    02.05.2007
    Beiträge:
    1.104
    Zustimmungen:
    0
    Ort:
    Saarbrücken
    zu aufgabe 3

    Code:
    find / -name *.html >> /home/xxx/html-files &
    
     
  17. #15 h2owasser, 07.02.2008
    h2owasser

    h2owasser Sxe Power User

    Dabei seit:
    07.12.2002
    Beiträge:
    491
    Zustimmungen:
    0

    Code:
    find / -name *.html >> /home/xxx/html-files 2> /dev/null &
    
    oder ?

    Code:
    grep "TITLE" --include="*.html" . -r -h -o | wc -l
    
     
Thema:

Klausurfragen