Grundannahmen * der Kurs sollte interaktiv sein (keine Slideshow) * es sollte online Material zum nacharbeiten entstehen * die Leute haben kein Vorwissen * wollen wir auch ein bisschen skripting abdecken? ACHTUNG: Konkrete Ausplannung am Ende des Pads * Organisatorisches * Ort: Poolraum * Wir bräuchten eventuell einen Beamer - Dario hat einen, ist halt mehr für Heimkino im dunkeln gedacht * vgl kluge Ideen vom letzten Mal, als wir uns dachten, wir machen das http://fsi.spline.de/wiki/index.php/Protokoll_21._Juli_2011#Teil_2 * wir könnten ein tar/ zip anbieten, in dem Aufgaben drin sind * also pro unterordner eine README und nen paar Dateien mit den man was machen soll (zum Beispiel der Größe nach soritert ausgeben) * und wenn man das richtig macht, kommt iwie nen Satz raus oder so * aber ich finde die idee nicht schlecht * können z.B, hier reingucken für Ideen http://www.ee.surrey.ac.uk/Teaching/Unix/ , sieht auf dem 1. Blick relativ sinnvoll aus; oder http://linuxcommand.org/learning_the_shell.php * https://github.com/lusy/how-to-become-a-nerd * Folien-Pad: http://pad.spline.de/shellslides und http://pad.spline.de/shellslides-vol2 Inhalte * Was ist die shell überhaupt? * zuallererst, imho: warum überhaupt * Dateibrowser + Programmlauncher ? * Linuxverzeichnisstruktur * Welche grundlegenden Programme gibt es * wildcards, * stdin, stdout, stderr inkl. redirect/pipes erklären? Eventuell am Ende ein paar coole Beispiele mit Verkettung (the unix way, etc) zeigen * cd / mkdir /cp /mv * ls * cat * less * head / tail * chown / chgrp / chmod (Eventuell kleine Einführung über Berechtigungen vorher? ja natürlich, sonst macht das ja keinen sinn) * find * locate * grep * man, apropos * ps / pgrep / top / kill / pkill / killall * df / du / mount (ich meine eher den lesenden Zugriff, also mtab anzeigen) * vi(m) / emacs ( halte ich für zu kompliziert) hast vermutlich recht, wenn sich die leute im fenstergui nicht zurechtfinden.. nano vielleicht? * rm / rmDir * which * who / whoami * sudo yeah (besonders wichtig auf ubuntu-Systemen) * apt-get / aptitude * tar / gzip / bz2 / xz * ssh / scp * cowsay * curl / wget * tmux * Vielleicht zu weitgehende Programme * dmesg * lspci * lsusb * diff + patch (finde ich wichtig, insbesondere bei uns) * ip / ifconfig / route * htop * sed * Vlt auch ein paar configs * .bashrc (related: alias) * * Vlt auch ein paar shortcuts * wechseln von bildschirmen * terminal öffnen * lala * Eventuell cgi für pros links http://www.commandlinefu.com http://linuxcommand.org/ <- Anfängertuts Protokoll vom Treffen Zu klären: Was machen wir ? * Zielgruppe: Anfänger ohne Shellerfahrung * Vorschlag: * einer turnt vor mit Beamer und die Teilnmehmer machen das nach * Wann machen wir das? * eher kleinere Einheiten * Umfang ca. 2 * 1 Stunde * Freitag 8.6 + 15.6 jeweils um 13 Uhr ( geändert auf 22 und 29.6) * wir machen Anmeldung per mail Wo machen wir das? * wir machen das in einen Rechnerraum ( zum Beispiel Chinapool, K38) * Dario reserviert den Inhalt Vol1 Verantwortlich:Yves. Philipp * wozu ist das gut * schickes beispiel was ohne gar nicht richtig / schneller geht * in codedatei alle kommentare suchen und ohne # ausgeben * grep '^#' | cut -c2- * ... * Einführung in die Shell ( 10 min) * wie starte ich die Shell * wie beende ich die shell, Ctrl+d * was ist das überhaupt * was ist ein Prompt * was ist ein Shellbefehl * tabcompletion / parameter * Navigieren im Dateisystem (10 min) * locations grundsätlich * cd / pwd / ls * . / .. / ~ * Programme starten ( 5 min) * irgendeine gui anwendungŷ * Ctrl+C * Ctrl+z / bg / fg / disown * & * Eingabehilfen (5 min) * wildcards * history * mv, cp, rm, mkdir, rmdir ( 10 min) * basic utils für umgang mit texten ( 10 min) * cat, grep, wc, cut, tail, head, sort, uniq * pipes ( 10 min) * ssh, scp ( 5 min) * putty ansprechen * man, apropos ( 5 min) // marian: die zeiten sind imho viiiel zu kurz. das dauert alles mindestens doppelt so lang wie ihr euch denkt (das ist geplant) Vol 2 Verantwortlich: Alex und Dario * jobs ( 10 min) * programme im Hintergrund starten ( beispiel mit tetris-bsu) * wieder in den Vordergrund holen * bg/fg jobs * process managment (10 min) * (h)top / ps / kill * was ist load * dateiberechtigungen (10 min) * ls -l * chown, chgrp, chmod, getfacl, setfacl * find, locate ( 5 min) * df und du ( 5 min) * tmux ( 10 min) * cheat sheet * shell skripting ( 15 min) * mal ein skript schreiben mit #! * $(foo) * other topics * file * which * curl / wget / w3m * tar * alias * xargs * bash * bash_completion * bashrc