Folien aus einem Unixkurs, den ich gehalten habe.
Im Kurs ging es um
Allgemeines zu Unix
Text editieren mit VIM Standard-Unix-Befehle Dateisysteme
Useraccounts und Rechte Prozess- und Speicherverwaltung Shellscripting
3. Unix-Philosophie
• Klein ist schön.
• Jedes Programm soll genau eine Sache gut machen.
• Portabilität geht über Effizienz.
• Speichere Daten in Textdateien.
4. Unix Toolbox
• auf allen Unixen verfügbar
• Finden von Mustern
• Anzeigen von Dateien oder Teilen davon
• Extraktion von Informationen
• Zeilenweises Sortieren
• leicht zuVerknüpfen mit Pipes
5. cat
• Programm zum Ausgeben und
Zusammenfügen von Dateien
• Ausgeben:
• cat datei.txt
• Zusammenfügen:
• cat datei1.txt datei2.txt > beides.txt
7. sort
• Programm zum zeilenweisen Sortieren von
Textdateien
• sortiert ohne weitere Optionen
• nach der Inhalt der ganzen Zeile
• lexikographisch (zB. "1, 11, 2, 223, 3")
• in aufsteigender Reihenfolge
11. 168 Franz
173 Meike
153 Frieda
143 Adele
111 Karl
96 Siegrid
202 Ulf
179 Hannes
133 Alfred
178 Verena
153 Bertram
111 Karl
133 Alfred
143 Adele
153 Bertram
153 Frieda
168 Franz
173 Meike
178 Verena
179 Hannes
202 Ulf
96 Siegrid
sort
12. 168 Franz
173 Meike
153 Frieda
143 Adele
111 Karl
96 Siegrid
202 Ulf
179 Hannes
133 Alfred
178 Verena
153 Bertram
sort -n
96 Siegrid
111 Karl
133 Alfred
143 Adele
153 Bertram
153 Frieda
168 Franz
173 Meike
178 Verena
179 Hannes
202 Ulf
13. 168 Franz
173 Meike
153 Frieda
143 Adele
111 Karl
96 Siegrid
202 Ulf
179 Hannes
133 Alfred
178 Verena
153 Bertram
sort -k2
143 Adele
133 Alfred
153 Bertram
168 Franz
153 Frieda
179 Hannes
111 Karl
173 Meike
96 Siegrid
202 Ulf
178 Verena
14. 168 Franz
173 Meike
153 Frieda
143 Adele
111 Karl
96 Siegrid
202 Ulf
179 Hannes
133 Alfred
178 Verena
153 Bertram
sort -r -k2
178 Verena
202 Ulf
96 Siegrid
173 Meike
111 Karl
179 Hannes
153 Frieda
168 Franz
153 Bertram
133 Alfred
143 Adele
15. grep
• findet Zeilen, in denen bestimmte Muster
vorkommen
• eines der praktischsten Kommandos in der
Unixwelt
• kommt auch mit "regulären Ausdrücken" klar
global/regular expression/print
18. Exkurs: reguläre Ausdrücke
Reguläre Ausdrücke sind Zeichenketten die
Mengen von Zeichenketten mit bestimmten
syntaktischen Regeln beschreiben.
John Kleen
(1909-1994)
Erfinder der regulären A
19. Exkurs: reguläre Ausdrücke
Ausdruck Bedeutung
. ein beliebiges Zeichen
a* beliebig viele a
.* beliebig viele beliebige Zeichen (alles)
[0-3] Zahl zwischen 0 und 3
f$ Zeilenende
^1 Zeilenanfang
20. Exkurs: reguläre Ausdrücke
• Wie beschreibt man die Menge
{Tanne,Tonne,Tenne,..}?
• Der zweite Buchstabe ist vorhanden aber
beliebig.
• Der passende reguläre Ausdruck wäre:
T.nne
21. Exkurs: reguläre Ausdrücke
• “Menge aller Sätze die mit Das beginnen,
und mit Ende aufhören."
• Der passende reguläre Ausdruck wäre:
^Das.*Ende$
23. grep -v e.*e
168 Franz
m
173 Meike
f
153 Frieda f
143 Adele
f
111 Karl m
96 Siegrid
f
202 Ulf m
179 Hannes m
133 Alfred m
178 Verena f
153 Bertram
m
168 Franz
m
153 Frieda
111 Karl m
96 Siegrid
202 Ulf m
179 Hannes
133 Alfred
153 Bertram
beliebig viel
irgendwas
Zeilen die Muster
nicht enthalten
25. head -n 5
168 Franz
m
173 Meike
f
153 Frieda f
143 Adele
f
111 Karl m
96 Siegrid
f
202 Ulf m
179 Hannes m
133 Alfred m
178 Verena f
153 Bertram
m
168 Franz
m
173 Meike
f
153 Frieda f
143 Adele
f
111 Karl m
26. tail -n 5
168 Franz
m
173 Meike
f
153 Frieda f
143 Adele
f
111 Karl m
96 Siegrid
f
202 Ulf m
179 Hannes m
133 Alfred m
178 Verena f
153 Bertram
m
202 Ulf m
179 Hannes m
133 Alfred m
178 Verena f
153 Bertram
m
27. Unix Pipes
• Erlauben das im Wesentlichen das
"Aneinanderschalten" von Programmen
• vergleichbar mit einem Filtersystem, in dem
Wasser mehrere Stationen durchlaufen
muss
30. Pipesyntax
• programm1 | programm2 | programm3
• programm > ausgabe
• programm < eingabe
• programm >> ausgabe
• programm 1> ausgabe 2> fehler
31. grep m$ tabelle.txt sort -n head -n 3
grep m$ tabelle.txt | sort -n | head -n 3
32. grep m$ tabelle.txt sort -n head -n 3
werden gleichzeitig gestartet und warten auf Eingaben
grep m$ tabelle.txt | sort -n | head -n 3
Daten fließen konstant