Am Montag, 18. Oktober 2010, 21:12:57 schrieb Stefan Majewsky:
Moin,
ich halte dieses Semester mal wieder eine Übung Programmierung. Um den Erstsemestern den Einstieg in die Arbeit mit der Shell zu erleichtern, dreht sich die erste Übung nur darum. Als Arbeitsmaterial möchte ich den Studenten gern ein Shell-Cheat-Sheet in die Hand drücken, wo kurz zusammengefasst die wichtigsten Befehle stehen, die man als Anfänger braucht.
Erstaunlicherweise finde ich sowas im Netz nicht. Es gibt am unteren Ende Listen der absoluten Urschleim-Befehle (cd, ls, mv, rm, mkdir, rmdir, und Schluss), und am oberen Ende mehrseitige Pamphlete mit allem von "dd if=/dev/zero" bis "make menuconfig". In der Mitte aber nichts.
Hat jemand da zufällig was bei der Hand (vielleicht auch als Teil von Schulungsunterlagen), was ich meinen Studenten empfehlen kann?
Gruß Stefan
http://www.amazon.de/Linux-Unix-Kurzreferenz-Helmut-Herold/dp/3827315360 Dort sind die Standardbefehle auf etwa 4 Seiten sehr brauchbar erläutert. Ich habe das Buch seit 1996 und es wird mit der Zeit immer hilfreicher.
Leicht OT:
Wesentlich wichtiger als Befehle ist es IMHO, die Struktur der Befehle so zu erläutern, daß das sitzen bleibt: Befehl, Option des Befehls, Bezugsdaten, Ausgaben
Dazu bitte BEISPIELE, BEISPIELE, BEISPIELE ...
Meine Einstiegzeile ist: date | mail -s "time date" `whoami`@localhost
Es ist leider so, daß schon bzw. gerade die beliebtesten Befehle mit ihren Optionen für einen Windows-Quereinsteiger "umwerfend" sind (ls, date, find ...) . Und das weniger wegen des reichen Angebots als vielmehr wegen der "beispiellosen" man-pages und des absoluten Unverständnisses für die "Zusatzverarbeitung" durch die Shell (Quoting, redirect, inline cmd's etc.).
Testfrage: Was soll das folgende besagen? $ join <(printf "char\n") <(printf "char 1 space 2 spaces\n") | tr ' ' . Lösung: Testcase für join betreffs des Handling von Whitespaces, s. join -t. (Aber mache die "Eleganz" dieser Zeile mal einem Anfänger klar, der Dir im gegebenen Fall mit x-MB großen Mail-Attachments kommt.)
Bernhard