Besorgen Sie sich eine geeignete Datei (etwa ein größeres tar -Archiv zB den Linux Kernel) und komprimieren Sie sie jeweils mit gzip , bzip2 und xz . Messen Sie dabei die Ausführungszeit durch ein vorgesetztes time . Wie verhalten die Laufzeiten und die Komprimierungsraten sich zueinander?
-
Experimentieren Sie mit der Datei aus der vorigen Aufgabe und vergleichen Sie die Laufzeit und die Größe des Resultats für xz mit verschiedenen Effizienz-Optionen. Was ist der Unterschied zwischen -1 und -6 und zwischen -6 und -9 ?
-
-
-
-
Hinweise:
-
+
Finden Sie alle Dateien in Ihrem System, die größer als 1 MiB sind, und lassen Sie deren Namen ausgeben.
+
Wie können Sie find benutzen, um eine Datei zu löschen, die einen merkwürdigen Namen hat (etwa mit unsichtbaren Kontrollzeichen oder mit Umlauten, die von älteren Shells nicht verstanden werden)?
+
Wie würden Sie beim Abmelden dafür sorgen, dass etwaige Dateien in /tmp, die Ihnen gehören, automatisch gelöscht werden?
+
+
-
-
Übungen mit grep / reguläre Ausdrücke
+
+
+
README ist ein sehr populärer Dateiname. Geben Sie die absoluten
+ Pfadnamen aller Dateien auf Ihrem System an, die README heißen.
+
Legen Sie eine neue Datei in Ihrem Heimatverzeichnis an und überzeugen Sie sich durch einen locate-Aufruf, dass diese Datei nicht gefunden
+ wird (wählen Sie gegebenenfalls einen hinreichend ausgefallenen Dateinamen). Rufen Sie dann (mit Administratorrechten) das Programm updatedb
+ auf. Wird Ihre neue Datei danach mit locate gefunden? Löschen Sie die Datei wieder und wiederholen Sie die vorigen Schritte
+
+
+
+
+
+
+
Überzeugen Sie sich, dass slocate funktioniert, indem Sie als gewöhnlicher Benutzer nach Dateien wie /etc/shadow suchen.
+
Welche Dateien stehen im Verzeichnis /boot? Hat das Verzeichnis Unterverzeichnisse und, wenn ja, welche?
+
Erklären Sie den Unterschied zwischen ls mit einem Dateinamen als
+ Argument und ls mit einem Verzeichnisnamen als Argument.
+
+
+
+
+
+
+
Wie können Sie ls dazu bringen, bei einem Verzeichnisnamen als
+ Argument Informationen über das benannte Verzeichnis selbst anstatt über
+ die darin enthaltenen Dateien zu liefern?
+
Warum hat mv keine -R-Option wie cp?
+
Angenommen, in einem Ihrer Verzeichnisse steht eine Datei namens »- file« (mit einem Minuszeichen am Anfang des Namens). Wie würden Sie diese Datei entfernen?
+
Wenn Sie ein Verzeichnis haben, in dem Sie nicht versehentlich einem »rm *« zum Opfer fallen wollen, können Sie dort eine Datei namens
+ »- i« anlegen, etwa mit
$ > -i
Was passiert, wenn Sie jetzt das Kommando »rm *« ausführen, und warum?
+
Wie löscht man diese Datei ( -i ) ?
+
+
+
+
+
+
Experimente mit versch. Kompressionsprogrammen ( gzip, bzip2, xz ):
+
+
Besorgen Sie sich eine geeignete Datei (etwa ein größeres tar -Archiv zB den Linux Kernel) und komprimieren Sie sie jeweils mit gzip , bzip2 und xz . Messen Sie dabei die Ausführungszeit durch ein vorgesetztes time . Wie verhalten die Laufzeiten und die Komprimierungsraten sich zueinander?
+
Experimentieren Sie mit der Datei aus der vorigen Aufgabe und vergleichen Sie die Laufzeit und die Größe des Resultats für xz mit verschiedenen Effizienz-Optionen. Was ist der Unterschied zwischen -1 und -6 und zwischen -6 und -9 ?
+
+
+
+
+
+
Übungen mit grep / reguläre Ausdrücke
+
+
+ Sind die Operatoren ? und + in regulären Ausdrücken wirklich nötig?
+
+
+ Finden Sie in frosch.txt alle Zeilen, in denen das Wort »Tochter« oder »Königstochter« vorkommt.
+
+
+ In der Datei /etc/passwd stehen die Benutzer des Rechners (meistens jedenfalls). Jede Zeile der Datei besteht aus einer Reihe von durch Doppelpunkten getrennten Feldern. Das letzte Feld jeder Zeile gibt die Login-Shell eines Benutzers an. Geben Sie eine grep-Kommandozeile an, mit der Sie alle Benutzer finden können, die die Bash als Login-Shell verwenden.
+
+
+ Suchen Sie in /usr/share/dict/words nach allen Wörtern, die die genau die fünf Vokale »a«, »e«, »i«, »o« und »u« in dieser Reihenfolge enthalten (möglicherweise mit Konsonanten davor, dazwischen und dahinter).
+
+
+
+ Geben Sie ein Kommando an, das im »Froschkönig« alle Zeilen sucht und ausgibt, in denen irgendein mindestens vierbuchstabiges Wort zweimal auftritt.
+
Wie können Sie prüfen, ob in einem Verzeichnis Dateien mit »merkwürdigen« Namen enthalten sind, etwa solche mit Leerzeichen am Schluss
+ oder mit unsichtbaren Steuerzeichen in der Mitte?
+
+
Vergleichen Sie die Ausgabe der Kommandos »ls /tmp« und »ls /tmp
+ >ls-tmp.txt« (wobei wir mit »Ausgabe« im zweiten Fall den Inhalt der Datei
+ ls- tmp.txt meinen). Fällt Ihnen etwas auf? Falls ja, wie könnte man das Phänomen erklären? ( u.U. kein Effekt, hängt von der Version ab )
+
+
Ersetzten Sie in den Dateinamen der jpg aus bilder.zip alle Gross- durch Kleinbuchstaben
+
~$ tr '[:upper:]' '[:lower:]' ...
+
+
+
+
+
+
+
+
Sortieren Sie die Teilnehmerliste in teilnehmer0.dat nach den Vereinsnamen und innerhalb der
+ Vereine nach den Nach- und Vornamen der Spieler (in dieser Reihenfolge)
+
+
~$ man sort
+
+
Generieren Sie eine neue Version der Datei teilnehmer0.dat, in der die Startnummer und die Vereinszugehörigkeit nicht auftauchen.
+
~$ man cut
+~$ man paste
+
+
Erzeugen Sie eine Version der Datei teilnehmer0.dat, bei der die Felder nicht durch Doppelpunkte, sondern durch die Zeichenkette »,␣« (Komma gefolgt von einem Leerzeichen) getrennt sind.
+
Wie viele verschiedene Gruppen werden von Benutzern auf Ihrem System als primäre Gruppen benutzt? (Die primäre Gruppe eines Benutzers ist das vierte Feld in der Datei /etc/passwd.)
+
+
+
+
+
+
+ Erstellt ein Backup-Installations-Script welches
+
+
einmal per Dialog einen Backup-Dateinamen ohne Endung abfrägt mit Whiptail
+
einmal per Dialog das Backup-Ziel abfrägt ( zB lk.schubertdaniel.de / oder localhost )
+ zusammen in ein xz-komprimiertes File mit dem oben abgefragten Namen + Datum im Format „24-02-2019“ packt
+
das Backup auf Backup-Ziel per „scp“ oder „rsync“ kopiert.
+
+
Strukturiert das Script mit functions; ggf. kann es sinnvoll sein, die Aufgabe in mehrere Dateien aufzuteilen.
+
+
+
+
+
-
-
- Sind die Operatoren ? und + in regulären Ausdrücken wirklich nötig?
-
-
- Finden Sie in frosch.txt alle Zeilen, in denen das Wort »Tochter« oder »Königstochter« vorkommt.
-
-
- In der Datei /etc/passwd stehen die Benutzer des Rechners (meistens jedenfalls). Jede Zeile der Datei besteht aus einer Reihe von durch Doppelpunkten getrennten Feldern. Das letzte Feld jeder Zeile gibt die Login-Shell eines Benutzers an. Geben Sie eine grep-Kommandozeile an, mit der Sie alle Benutzer finden können, die die Bash als Login-Shell verwenden.
-
-
- Suchen Sie in /usr/share/dict/words nach allen Wörtern, die die genau die fünf Vokale »a«, »e«, »i«, »o« und »u« in dieser Reihenfolge enthalten (möglicherweise mit Konsonanten davor, dazwischen und dahinter).
-
-
- Geben Sie ein Kommando an, das im »Froschkönig« alle Zeilen sucht und ausgibt, in denen irgendein mindestens vierbuchstabiges Wort zweimal auftritt.
-
-
-
-
-
-
-Übungen
-C8.7 [2] Wie können Sie prüfen, ob in einem Verzeichnis Dateien mit »merkwürdigen« Namen enthalten sind, etwa solche mit Leerzeichen am Schluss
-oder mit unsichtbaren Steuerzeichen in der Mitte?
-
diff --git a/beispiele/14/a.out b/beispiele/14/a.out
deleted file mode 100644
index 739e1e4..0000000
Binary files a/beispiele/14/a.out and /dev/null differ
diff --git a/beispiele/15/wp-backup.sh b/beispiele/15/wp-backup.sh
deleted file mode 100644
index 2d83b2a..0000000
--- a/beispiele/15/wp-backup.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-
-function db_backup {
-
- # Vars
- host=localhost
- user=XXXXXXX
- pass=XXXXXXX
- db=wordpress
-
- echo 'DB Export ------> '
- mysqldump --opt --add-drop-table -h$host -u$user -p$pass $db | gzip > wp-db.sql.gz
-}
-
-function file_backup {
- backupfile="wordpress-backup.tar"
-
- echo 'File Backup --- building tar File...'
- tar -cf $backupfile ~/wp*
- echo '+DONE'
-}
-
-
-echo '-------------------------------------------'
-echo 'Tolles Backup Script'
-echo '-------------------------------------------'
-
-backupdir=backup
-
-cd ~ ; mkdir $backupdir && cd $backupdir || { echo "FEHLER!!!!"; exit 1 }
-
-# Funktionsaufrufe
-db_backup
-file_backup
diff --git a/beispiele/16/bild.jpg b/beispiele/16/bild.jpg
deleted file mode 100644
index 12e12ec..0000000
Binary files a/beispiele/16/bild.jpg and /dev/null differ
diff --git a/beispiele/16/wav-file.zip b/beispiele/16/wav-file.zip
deleted file mode 100644
index 97b71d6..0000000
Binary files a/beispiele/16/wav-file.zip and /dev/null differ
diff --git a/beispiele/17/froschkönig.txt b/beispiele/17/froschkönig.txt
deleted file mode 100644
index 588d5d8..0000000
--- a/beispiele/17/froschkönig.txt
+++ /dev/null
@@ -1,158 +0,0 @@
-Der Froschkönig oder der eiserne Heinrich
-
-In alten Zeiten, als das Wünschen noch geholfen hat, lebte einmal ein
-König, der hatte wunderschöne Töchter. Die jüngste von ihnen war so
-schön, daß die Sonne selber, die doch so vieles schon gesehen hat,
-sich verwunderte, sooft sie ihr ins Gesicht schien.
-
-Nahe bei dem Schlosse war ein großer, dunkler Wald, und mitten darin,
-unter einer alten Linde, war ein Brunnen. Wenn nun der Tag recht heiß war,
-ging die jüngste Prinzessin hinaus in den Wald und setzte sich an den Rand
-des kühlen Brunnens. Und wenn sie Langeweile hatte, nahm sie eine
-goldene Kugel, warf sie in die Höhe und fing sie wieder auf. Das war
-ihr liebstes Spiel.
-
-Nun trug es sich einmal zu, daß die goldene Kugel der Königstochter
-nicht in die Händchen fiel, sondern auf die Erde schlug und gerade in
-den Brunnen hineinrollte. Die Königstochter folgte ihr mit den Augen
-nach, aber die Kugel verschwand, und der Brunnen war tief, so tief,
-daß man keinen Grund sah.
-
-Da fing die Prinzessin an zu weinen und weinte immer lauter und konnte
-sich gar nicht trösten. Als sie so klagte, rief ihr plötzlich jemand
-zu: »Was hast du nur, Königstochter? Du schreist ja, daß sich ein
-Stein erbarmen möchte.«
-
-Sie sah sich um, woher die Stimme käme, da erblickte sie einen Frosch,
-der seinen dicken, häßlichen Kopf aus dem Wasser streckte. »Ach, du
-bist's, alter Wasserpatscher«, sagte sie. »Ich weine über meine
-goldene Kugel, die mir in den Brunnen hinabgefallen ist.«
-
-»Sei still und weine nicht«, antwortete der Frosch, »ich kann wohl Rat
-schaffen. Aber was gibst du mir, wenn ich dein Spielzeug wieder
-heraufhole?«
-
-»Was du haben willst, lieber Frosch«, sagte sie, »meine Kleider, meine
-Perlen und Edelsteine, auch noch die goldene Krone, die ich trage.«
-
-Der Frosch antwortete: »Deine Kleider, deine Perlen und Edelsteine und
-deine goldene Krone, die mag ich nicht. Aber wenn du mich liebhaben
-willst und ich dein Geselle und Spielkamerad sein darf, wenn ich an
-deinem Tischlein neben dir sitzen, von deinem goldenen Tellerlein
-essen, aus deinem Becherlein trinken, in deinem Bettlein schlafen
-darf, dann will ich hinuntersteigen und dir die goldene Kugel
-heraufholen.«
-
-»Ach, ja«, sagte sie, »ich verspreche dir alles, was du willst, wenn
-du mir nur die Kugel wiederbringst.« Sie dachte aber, der einfältige
-Frosch mag schwätzen, was er will, der sitzt doch im Wasser bei
-seinesgleichen und quakt und kann keines Menschen Geselle sein!
-
-Als der Frosch das Versprechen der Königstochter erhalten hatte,
-tauchte er seinen Kopf unter, sank hinab, und über ein Weilchen kam er
-wieder heraufgerudert, hatte die Kugel im Maul und warf sie ins
-Gras. Die Königstochter war voll Freude, als sie ihr schönes Spielzeug
-wiedererblickte, hob es auf und sprang damit fort.
-
-»Warte, warte!« rief der Frosch. »Nimm mich mit, ich kann nicht so
-laufen wie du!« Aber was half es ihm, daß er ihr sein Quak-quak so
-laut nachschrie, wie er nur konnte! Sie hörte nicht darauf, eilte nach
-Hause und hatte den Frosch bald vergessen.
-
-Am andern Tag, als sie sich mit dem König und allen Hofleuten zur
-Tafel gesetzt hatte und eben von ihrem goldenen Tellerlein aß, da kam,
-plitsch platsch, plitsch platsch, etwas die Marmortreppe
-heraufgekrochen. Als es oben angelangt war, klopfte es an die Tür und
-rief. »Königstochter, jüngste, mach mir auf«
-
-Sie lief und wollte sehen, wer draußen wäre. Als sie aber aufmachte,
-saß der Frosch vor der Tür. Da warf sie die Tür hastig zu, setzte sich
-wieder an den Tisch, und es war ihr ganz ängstlich zumute.
-Der König sah wohl, daß ihr das Herz gewaltig klopfte, und sprach:
-
-»Mein Kind, was fürchtest du dich? Steht etwa ein Riese vor der Tür
-und will dich holen?«
-
-»Ach, nein«, antwortete sie, »es ist kein Riese, sondern ein garstiger
-Frosch.«
-
-»Was will der Frosch von dir?«
-
-»Ach, lieber Vater, als ich gestern im Wald bei dem Brunnen saß und
-spielte, fiel meine goldene Kugel ins Wasser. Als ich deshalb weinte,
-hat sie mir der Frosch heraufgeholt. Und weil er es durchaus
-verlangte, versprach ich ihm, er sollte mein Spielgefährte werden. Ich
-dachte aber nimmermehr, daß er aus seinem Wasser käme. Nun ist er
-draußen und will zu mir herein.«
-
-Da klopfte es zum zweiten Mal, und eine Stimme rief:
-
-»Königstochter, jüngste,
-Mach mir auf!
-Weißt du nicht, was gestern
-Du zu mir gesagt
-Bei dem kühlen Brunnenwasser?
-Königstochter, jüngste,
-Mach mir auf!«
-
-Da sagte der König: »Was du versprochen hast, das mußt du auch halten!
-Geh nur und mach ihm auf!«
-
-Sie ging und öffnete die Tür. Da hüpfte der Frosch herein und hüpfte
-ihr immer nach bis zu ihrem Stuhl. Dort blieb er sitzen und rief: »Heb
-mich hinauf zu dir!« Sie zauderte, bis es endlich der König
-befahl. Als der Frosch auf dem Stuhl war, wollte er auf den Tisch, und
-als er da saß, sprach er: »Nun schieb mir dein goldenes Tellerlein
-näher, damit wir mitsammen essen können.« Der Frosch ließ sich's gut
-schmecken, ihr aber blieb fast jeder Bissen im Halse stecken.
-
-Endlich sprach der Frosch: »Ich habe mich satt gegessen und bin
-müde. Nun trag mich in dein Kämmerlein und mach dein seidenes Bettlein
-zurecht!« Die Königstochter fing an zu weinen und fürchtete sich vor
-dem kalten Frosch, den sie sich nicht anzurühren getraute und der nun
-in ihrem schönen, reinen Bettlein schlafen sollte.
-
-Der König aber wurde zornig und sprach: »Wer dir geholfen hat, als du
-in Not warst, den sollst du hernach nicht verachten!«
-Da packte sie den Frosch mit zwei Fingern, trug ihn hinauf in ihr
-Kämmerlein und setzte ihn dort in eine Ecke. Als sie aber im Bette
-lag, kam er gekrochen und sprach: »Ich will schlafen so gut wie
-du. Heb mich hinauf, oder ich sag's deinem Vater!«
-
-Da wurde sie bitterböse, holte ihn herauf und warf ihn gegen die
-Wand. »Nun wirst du Ruhe geben«, sagte sie, »du garstiger Frosch!« Als
-er aber herabfiel, war er kein Frosch mehr, sondern ein Königssohn mit
-schönen freundlichen Augen. Der war nun nach ihres Vaters Willen ihr
-lieber Geselle und Gemahl. Er erzählte ihr, er wäre von einer bösen
-Hexe verwünscht worden, und niemand hätte ihn aus dem Brunnen erlösen
-können als sie allein, und morgen wollten sie mitsammen in sein Reich
-gehen.
-
-Und wirklich, am anderen Morgen kam ein Wagen herangefahren, mit acht
-weißen Pferden bespannt, die hatten weiße Straußfedern auf dem Kopf
-und gingen in goldenen Ketten. Hinten auf dem Wagen aber stand der
-Diener des jungen Königs, das war der treue Heinrich.
-
-Der treue Heinrich hatte sich so gekränkt, als sein Herr in einen
-Frosch verwandelt worden war, daß er drei eiserne Bänder um sein Herz
-hatte legen lassen, damit es ihm nicht vor Weh und Traurigkeit
-zerspränge.
-
-Der Wagen sollte nun den jungen König in sein Reich holen. Der treue
-Heinrich hob ihn und seine junge Gemahlin hinein, stellte sich wieder
-hinten hinauf und war voll Freude über die Erlösung seines Herrn. Als
-sie ein Stück des Weges gefahren waren, hörte der Königssohn, daß es
-hinter ihm krachte, als ob etwas zerbrochen wäre. Da drehte er sich um
-und rief:
-
-»Heinrich, der Wagen bricht!«
-»Nein, Herr, der Wagen nicht,
-Es ist ein Band von meinem Herzen,
-Das da lag in großen Schmerzen,
-Als Ihr in dem Brunnen saßt
-Und in einen Frosch verzaubert wart.«
-
-Noch einmal und noch einmal krachte es auf dem Weg, und der Königssohn
-meinte immer, der Wagen bräche. Doch es waren nur die Bänder, die vom
-Herzen des treuen Heinrich absprangen, weil sein Herr nun erlöst und
-glücklich war.
\ No newline at end of file
diff --git a/beispiele/17/grep-loesungen.sh b/beispiele/17/grep-loesungen.sh
new file mode 100644
index 0000000..25ea3c1
--- /dev/null
+++ b/beispiele/17/grep-loesungen.sh
@@ -0,0 +1,8 @@
+egrep '\<(Königst|T)ochter\>' frosch.txt
+
+grep :/bin/bash$ /etc/passwd
+
+k='[^aeiou]*'
+grep -i ^${k}a${k}e${k}i${k}o${k}u${k}$ /usr/share/dict/words
+
+egrep '(\<[[:alpha:]]{4,}\>).*\<\1\>' frosch.txt
\ No newline at end of file
diff --git a/beispiele/17/rvv-keller-klub-backstage.jpg b/beispiele/17/rvv-keller-klub-backstage.jpg
deleted file mode 100644
index 6cd0f7b..0000000
Binary files a/beispiele/17/rvv-keller-klub-backstage.jpg and /dev/null differ
diff --git a/beispiele/17/teilnehmer0.dat b/beispiele/17/teilnehmer0.dat
new file mode 100644
index 0000000..50f454c
--- /dev/null
+++ b/beispiele/17/teilnehmer0.dat
@@ -0,0 +1,11 @@
+Schulz:Hugo:SV Schnaufenberg:123:Herren
+Schleicher:Detlef:TSV Lahmhausen:13:Herren
+Flöttmann:Fritz:Sportfreunde Renntal:217:Herren
+Springinsfeld:Karlheinz:TV Jahnstein:154:Herren
+von Traben:Gesine:TV Jahnstein:26:Damen
+Rasbichel:Ulla:TSV Lahmhausen:117:Damen
+Schwitz:Sieglinde:Sportfreunde Renntal:93:Damen
+Rasbichel:Katja:TSV Lahmhausen:119:Damen
+Langbein:Leni:SV Schnaufenberg:55:Damen
+Zielinger:Hannes:TV Jahnstein:45:Herren
+Fluschinsky:Käthe:Sportfreunde Renntal:57:Damen
\ No newline at end of file