 Wunderbar. Herzlich willkommen. Das ist der Tag moderne Kommando-Zeilen-Werkzeuge. Ich habe gestern festgestellt, dass ich den Tag für 30 Minuten eingereicht habe und habe dann von 81 Slides auf 74 runter gekürzt. Also es wird relativ interessant und spannend und flott. Ich bin der Leira. Falls ihr irgendwie Social Media machen wollt, Hashtag eH18 wäre der richtige Tag. Das sind die Themen, über die ich heute ein bisschen plaudern möchte in den nächsten 30 Minuten. Falls ihr das schon kennt, haltet den Vortrag statt mir. Ich habe überhaupt kein Problem damit. Irgendwer hat sich vorhin schon freiwillig gemeldet. Wo ist er? Ich sehe ihn nicht mehr. Letzter Punkt ist dann eure Vorschläge. Also wenn ihr dann noch Tools habt, die ich nicht auf der Liste habe und die ihr kennt und sagt, sie sind cool. Ich habe hier vegane Mannerschnitten aus Wien mitgebracht. Es ist keine Motivation für Audience-Participation. Vorsicht enthalten Granterwasser. Also wer allergisch auf Granterwasser ist, bitte nicht nehmen. Ja, es ist Granterwasser, Humbug. So, gut. Wie gesagt, darüber werde ich jetzt mal kurz in den nächsten 30, 29, 28 Minuten sprechen. Wir sprechen über Kommando-Zellen, Tools. Das heißt, wir sprechen über Unix und Linux. Wer gestern schon bei den Unix-Opa's war, hat das vielleicht schon einmal auch ein bisschen gesehen. Das heißt, wir haben ganz oben die PDB7, PDB11, BSD. Und aus all dieser Zeit, aus diesen Zeiten, aus diesen Ursprungszeiten stammen unsere Tools, CREP. Und das Tool CREP, das wir kennen in der Ursprungsvariante ist von 1973. Das ist fast so alt wie ich. Und da gab es aber jetzt in der Zwischenzeit auch ein paar Neuerungen. Und über diese Neuerungen möchte ich sprechen. Ich habe ja auch das Problem, ich bin jetzt auch schon viel zu lange in der Branche. Und man ist dann eingefahren und benutzt Tools, die man eigentlich schon nicht mehr benutzen sollte, weil es schon wesentlich bessere und modernere gibt. Aber man ist halt so irgendwie ein bisschen in den Bremen drinnen. Das heißt, ich möchte euch hier ein paar Impulse-Anstöße geben, euch andere Tools anzuschauen. Ich werde keins der Tools im Detail herzeigen, mit allen Kommando-Zellen-Parameten und sonst was. Sondern sollen mehr so ein Input sein für euch. Schaut euch das mal an. Beschäftigt euch damit. Wie gesagt, die ganzen Tools, Philosophie dahinter haben wir auch gestern bei den Unix-Opas schon gehört. Viele kleine Tools, die ich hintereinander ketten kann. Viele einfache Tools. Das endet dann meistens so, also in einem ganz simplen, einfachen Kommando-Zellen-Aufruf, um irgendwie eine CSV-Datei dann über Chasen irgendwohin aufzuladen. Also wir kennen das alles. Ja, ist nicht mein Beispiel, habe ich mir aus dem Internet geholt. Der Kommando-Zellen-Tool ist ganz kurz. Es gibt die sogenannte Single-Unix-Specification. Jedes Betriebssystem, das sich Unix nennen will, muss diese erfüllen. Das sind die Betriebssysteme, je nachdem, welche Version sie erfüllen. Die Version 3, also Unix 03, ist quasi der POSIX-Standard 2001 und Unix 04 wäre der POSIX-Standard von 2008. Ja, so irgendwie. Ja. Und das sind die Kommando-Zellen-Tools, die es laut diesem Standard geben muss. Ich prüfe das nach. IEEE Standard 100003 muss man diese Kommandos umsetzen, um sie zu erfüllen. Parallel dazu, beziehungsweise ergänzt uns dazu, gibt es POSIX, angeblich heißt das POSIX und nicht POSIX, ich sage trotzdem POSIX. 85 von Richard Stallman entleben gerufen, eben auch eine Liste an Kommando-Zellen-Tools, die man benutzen sollte. Die Linux Standard Base, weil wir sprechen jetzt heute bringen über Linux, basiert auch auf diesem POSIX-Standard. Kaum eine Distri ist wirklich zertifiziert, aber die meisten sagen, sie sind compliant und das sind die Tools, die die unterstützen müssen, wenn man LSB kompatibel sein möchte. Das Linux-Carnal-Team hat dann noch einmal eine eigene Liste an der Kommando-Zellen-Tools und die GNU-Core-Utilities haben auch noch einmal eine eigene Variante von Tools, die man auf der Kommandaseile benutzen könnte. So wenn jemand mal einen längeren Talk machen will, es gäbe hier noch genug Potenzial. Für nächstes Jahr haben wir auch geplant, eventuell eine Partie Shell-Golf, das heißt, wie kann ich eine bestimmte Aufgabe mit möglichst wenig Befehlen und Zeichen erfüllen? Da sollte man die Dinge dann auch alle kennen. Ich habe zwei Regeln für diesen Talk, wir sprechen nicht über Tools, die irgendeinen Server auf dem Laptop oder auf dem Server benötigen, um zu funktionieren, also alles, was irgendwie eine Node.js-Serve im Hintergrund oder sowas braucht, habe ich jetzt hier nicht mit erinnern, weil, nein. Ich werde jetzt auch nicht groß über SystemD-Randen löst, beispielsweise löste System5-Initscript ab, sorgt für viel Spaß am Gerät, wobei Spaß halt so eine Sache ist. Ich habe noch immer nicht meinen Frieden damit gefunden, aber ich werde langsam in die Richtung hingedrängt und man kann sicher, Mensch kann sicher im Prinzip nicht mehr wehren. Das heißt, Old and Tired ist alles, was irgendwie EDC-Initi-Start-Stop-Restart-Status ist. Die New-Hotness ist eh schon länger, ist eben System-Control-Start-Stop-Restart-Status und dann halt den Toolnamen dazu. Das Ganze schaut, also hat früher so ausgeschaut, übersichtlich, knackig, einfach gut. Mit SystemD schaut das dann so aus, wenn man ein Status aufruft und ich kriege hier unten dann die Log-Files vom Server mit angezeigt, das Ganze ein bisschen abgekürzt und libsized, wie es so schön heißt. SystemD hat mir ja der wunderbare Proposa wieder ein bisschen näher gebracht. SystemD loggt ja auch mittlerweile auch die ganze Logging-Funktionalität, das heißt, es gibt dann das Kommando-Channel-Control, mit dem ich die Logs mit dann wieder anzeigen kann, weil sie ja näher abgelegt werden mit allen Vor- und Nachteilen. Da kann man jetzt auch wieder stundenlang drüber randen, machen wir ein anderes Mal. Ich kann mit Channel-Control und Minus U dann halt eben sagen, ich möchte jetzt gern die Logs von myPatches sehen und dann bekomme ich das, was ich halt früher mit einem TL-minus F bekommen habe. Kann wir aber jetzt in dem Fall dann auch aussuchen, ist das jetzt hier UTC oder ist das meine Lokalzeit oder möchte ich jetzt die Zeit umgerechnet haben auf irgendwas anderes? SystemD, anschauen, man kommt die nicht mehr drum herum. Enes Lookup-Dick, sprich, Hostnamenanfragen, DNS-Abfragen, macht man heutzutage eigentlich mit Dick. Da bin ich im Zug gesessen, wie ich das gemacht habe, deswegen konnte ich nur das ICE-Portal über Dick abfragen. Dick ist, sag ich mal jetzt, in Partyfold sehr gesprächig. Ich kann das Ding aber runter konfigurieren, dass das Ding dann auch etwas übersichtlicher wird und mit plus Short, das kann man auch in die Konfigur hineinschreiben, dann tut das relativ übersichtlich. Daran erkennt man, dass ein Windows-Administrator auf der Linux-Konsole arbeitet, oder die verwendet natürlich noch immer eines Lookups, weil Dick gibt es ja unter Windows nicht, also ohne Junux-Habschell. Mit Dick würde das Ganze dann halt so aussehen, beziehungsweise, wenn ich einen MX-Rekord brauche, Enes Lookup minus QMX, beim Dick schreibe ich halt hinten dran, ich hätte gern einen MX und im Enes Lookup auf any hat mir im ICE ein No-Service-Could-Be-Rich geliefert, aber wenn man es ordentlich macht, kriegt man halt mit Dick die ganze List an allen DNS-Entregen zurück, die man halt so bräuchte. Wer es noch kennt, Trace-Path ist im Prinzip so ähnlich wie Trace-Root, braucht aber keine Rootrechte, weil ja lange Zeit mit Trace-Root ein Problem, dass ich Root sein musste, um das durchzuführen. Mit Trace-Path kann ich das Ganze auch ohne machen und ich bekomme genau die Path-MTU zurück, das heißt, erschreibt mir dann auch schön raus, welche MTU ich da eigentlich setzen sollte, weil das dann auf der ganzen Strecke am besten funktioniert. Wesentlich interessanter ist dann MTR, mein Trace-Root, das kombiniert nämlich einen Ping und ein Trace-Root, aktualisiert sich laufend und gibt dann einen hübschen Output an, wenn es wahr ist. Genau, das heißt, das habe ich jetzt hier schon im Hintergrund laufen, es läuft mein Trace-Root, das MTR macht im Ritz ein Trace-Root, plus den ganzen Pings, zeigt mein Packet-Loss an, zeigt mir Standard-Deviation an, Best-Ping, Worst-Ping, eigentlich ein sehr nettes Tool. Das Ganze funktioniert auch, das Ganze funktioniert auch im GUI beziehungsweise, ich kann mir auch einen statischen Reportern ausgeben lassen, wenn ich den irgendwie auspassen möchte. Da kann ich dann angemacht das Ganze zehnmal und dann gibt mir einen Report aus. IP-Root, das mache ich ganz kurz, nur ganz kurz, also alles was jetzt irgendwie if-config war, route war, ARB war, etc. sollten wir eigentlich alles schon nicht mehr fein wenden. Seit vielen, vielen Jahren ist eigentlich das IP-Root zwei Paket da, um das alles abzulösen. Das heißt, if-config ersetzt sich in dem Fall durch IP Address beziehungsweise IP Link Show und kriegt trotzdem meine Legacy-IP und meine ordentliche IP genauso für die Links. Ein if-config eth0 ab ist halt jetzt ein IP Link set eth0 ab. Es ist ein bisschen ein anderes Sündtags, wenn man sich einmal dran gewundert, ist aber eigentlich sehr angenehm, weil es ist konsistent immer gleich, wenn man mal so die Sachen gefunden hat, IP-Adressen setzen, was ich mit IP eben auch kann, ist ich kann auch IP-Adressen löschen, das konnte ich eben mit if-config nicht, also es gibt auch durchaus Vorteile. ARB, selbe, Route, Route adden. Wer mehr wissen will, der junge Mann sitzt da vorne, winkt doch mal, hat einen ganz tollen Talk gemacht, er hat das Lides auch da, wenn ihr ihm vielleicht ein Bier zahlt, macht er noch einen Lightning Talk oder so. Das Lideset allein ist auch schon sehr super, macht, kauft ganz, ganz viele Dinge von dem, was ich da jetzt nur wirklich ganz kurz angerissen habe. T-Mux, Terminal Multiplexer, ich möchte mehrere Terminals in einem Konsolenfenster haben, da hat ein gewisser Leider gestern schon einen Talk dazugehalten und das ganze mal aktiv entwickelt, das sollte ein kleines E sein und dafür ich mache, oh Gottchen, ich sollte ausgeschlafen meines Letzschreiben, dann funktioniert das besser, ist also der Nachfolger oder die Nachfolger, eine Alternative zu Screen, eine meiner Meinung nach in vielen Fällen bessere Alternative. Auch hier haben wir eine Kleinigkeit vorbereitet, das ist bereits T-Mux und ich habe dann hier, hab ich meine Schilder, hab halt die Möglichkeit, wenn es funktioniert hätte, hier unten mir zum Beispiel einen Log an zu zeigen, hier den Hardtop laufen zu lassen, hier habe ich eine Konsole, wo ich auch was hineinschreiben kann und halt ein Befehl ausführen kann oder sonst immer. Das heißt, ich habe hier ganz viele Möglichkeiten, ich habe hier auch die Möglichkeiten, das ganze zum Beispiel zu skripten, das heißt, wenn ich mir in mein Project Verzeichnis in den Schaue, habe ich mir die ganzen Beispiele, die ich hier herzeige, in einer T-Mux Session gescriptet, das heißt, ich muss nur noch dieses Skript laufen lassen, das richtet mir meine T-Mux-Schild mit allen Befehlen und so weiter her, ich habe alle Kommandos vorbereitet und muss dann, wenn ich zu der jeweiligen Position komme, nur noch Enter drücken und das Demo funktioniert oder auch nicht, das werden wir jetzt dann sehen. Das heißt, da habe ich jetzt ein Mitlog, weil ich habe immer einen Screenshot, weil die Demo-Göter sind einem ja nicht immer gewogen. Schaut euch T-Mux an, es ist wirklich, wirklich super und funktioniert ganz super, kumigot. Dazu passt dann auch die Z-Schild. Kann ich verwenden als interaktive Log-In-Schild, kann ich verwenden als Kommando-Zeilen-Interpreter, ist im Prinzip eine erweiterte Born-Schild, die aber ganz viele neue, tolle Features hat und ganz wunderbar erweitert war. Ein Fidget, ich benutze die Z-Schild seit ein paar Jahren und bin letztes Ende letzten Jahres draufgekommen, dass ich in der Z-Schild zum Beispiel das CD, das Change Directory, einfach weglassen kann. Der Chat-Schild schmeiß ich einfach ein Directory hin und erwechselt mir automatisch in das Verzeichnis hinein, was durchaus bequem ist und beim Shell-Golf auch wieder drei Punkte bringt. Also, ja, CD-Abstand sind drei. Ich habe für das O-My-Zeit-Schild-Themes, das heißt, ich kann mir das Ding beliebig optisch errichten, wie ich möchte. Ich habe Plug-Ins, das heißt, ich habe Plug-Ins für Mercurial, für Git, für fast jedes Tool. Gibt es ein Chat-Schild Plug-In, das mir das Ding erweitert? Ich habe Autocompletion nicht nur für Verzeichnismamen, sondern auch für Kommando-Zeilen-Parameter. Das heißt, wenn ich ein Chat-Schild Plug-In für SSH installiere, dann hat er automatisch drinnen die Hostname-Erweiterung. Ich habe mir, ich habe irgendwo in der SSH-Config einen Shortname Martin und das heißt, ich brauche nur MR-Tippen und er macht SSH Martin draus und so weiter. Also, es ist ein wirklich, wirklich geiles Teil. O-My-Zeit-Schild ist ein Script, das mir im Prinzip meine Z-Schild-Config, meine ZSHRC herrichtet und konfiguriert und auch regelmäßig aktualisiert. Das heißt, da werden automatisch die Plug-Ins runtergeladen, da werden automatisch die Themes runtergeladen. Wenn man sich die Z-Schild anschaut, ich würde es für einen Steig auf jeden Fall nur mit, nur mit. Ich würde es auf jeden Fall mit O-My-Zeit-Schild verwenden, weil es einfach unglaublich viel Funktionalität bietet und sehr praktisch ist. Man kann sich das aber auch einzeln hineinkonfigurieren, aber es ist einfach viel einfacher mit O-My-Zeit-Schild hineinzuhauen. Wie schaut das jetzt aus? Das wäre zum Beispiel ein Z-Schild-Theme mit diesen hübschen Dingen hier. Ich habe, wenn ich einen Fehler habe, markiere mir das Ganze. Das ist ein angemettet Gift, deswegen springt es so schnell durch. Ich habe noch ein zweites, das wäre eine andere Z-Schild. Das heißt, ich habe jetzt hier zum Beispiel Auto-Complition. Ich habe bei der Auto-Complition auch die Möglichkeit, dann mit den Cursor-Tasten herumzuwandern. Das heißt, ich kann jetzt sagen, okay, ich möchte den fünften Eintracht da drüben haben und muss nicht weiter typen. Wenn ich ein Pi-Enf oder sonst irgendetwas verwende, zeigt man die Environment-Variable an. Auto-Complition dann. Ich falle es damit in der Cursor-Taste herum und sage, welches File, welches Direktor ich jetzt eigentlich haben möchte. Wenn ich einen Fehler eingebe, kann ich mir das markieren lassen. Da hatte ich ein Problem. Ich habe hier die Git-Integration drin. Das heißt, zeigt mir jetzt an, in welchen Branche bin ich drinnen. Ich habe eine uncommitted Change. Das heißt, ich habe hier unglaublich viele Möglichkeiten, mir das Leben zu vereinfachen. Schaut euch die Z-Schild an. Das ist die Liste der derzeit verfügbaren Plug-Ins, die ich direkt von OMI-Z-Schild bekommen. NPM-Node, alles was so hipster developer ist, Cloud-Up, ist alles drinnen. Viel Spaß. Es ist wirklich, gönnt euch einmal, gönnt euch einmal zwei Stunden richtet euch einmal eine Umgebung ein und probiert es aus. Ihr wollt es nach einem Monat nicht mehr weggeben. Das ist unglaublich geil. Kleinigkeit, HTDP Pi, oder HTDP Pi, ist ein Curlerapper, der ein bisschen Autopharmatierung und Bund macht, weil wir haben 2018, das heißt, unsere Shells sind mittlerweile bunt und nicht mehr grün auf schwarz oder Bernstein auf schwarz und vereinfacht auch den ganzen Curl-Aufruf ein bisschen. Das heißt, ich rufe einfach auf HTDP und die Url und er gibt mir dann halt ein hübsches Output mit Farben und macht mir auch das HTML-Bund und für die Hipster-Developer wieder gibt es dann auch eine Chasen-Integration, also ich nenn sie mal XML für Millennials. Ja, ich weiß, meiner einer, ich bin auch ein Fan. Aber das ist eine andere Geschichte. Ich kann jetzt hier auch wieder ein HTDP put machen, ich kriege ein Chasen zurück und der HTDP Pi erinnert mir dann den Chasen eigentlich einfach schön herunter und zeigt mir das hübsche Lesbarn, so wie es eigentlich sein sollte. ARIA II, ARIA II beziehungsweise ARIA II II Download Utility verwende ich im Prinzip fast jeden Tag, hat nämlich einen großen Vorteil. Ich kann mit Minus J und Minus X die Anzahl der einen Download in dem Fall zehn Teile aufteilen und die zehn Teile von dem Download werden parallel runtergeladen. Ich kann dem ARIA sagen, ich habe ein ISO-File, das liegt auf fünf Servern, ich kann parallel von diesen fünf Servern ein ISO-File auf meinen Rechner runterladen. Das ganze Ding macht das unglaublich schnell und sehr angenehm. Ich muss sehr oft installiert, sehr zu runterladen, ISOs, da wird das ganze sehr, sehr flott und schnell. Tut einfach super, gummi, gut. RIP-Grab, Rekursives Regular Expression Grab, in Rast geschrieben, ist unparkbar schnell berücksichtigt, geht die Knorrfels, das heißt sucht alles, was ich im Githi Knorr drinnen habe, lasst da aus. Von der Homepage ein RIP-Grab mit Unicode, das macht es per Default, macht das Unicode Search, ist deutlich schneller, ist ein normales Grab und wenn ich dann dem Grab auch noch sage, es soll Unicode berücksichtigen, dann wird das genug Grab überhaupt ganz, ganz, ganz langsam. Ansonsten ist es von der Sündung sehr ähnlich und einfach viel, viel, viel schneller. Das heißt, wer öfter in größeren Textbeständen suchen möchte, muss, möchte sich vielleicht RIP-Grab einmal ansehen. Exxer, auch wieder, wir wollen ein buntes Terminal, des Leids gibt es nachher, also da sind auch die Urdels drinnen, braucht es jetzt nicht hektisch mitschreiben. Er setzt beziehungsweise erweitert LS, ist bunt, ist rekursiv, tut einfach, schaut dann so aus, da ist viele bunte, viele bunte Spalten, ich kann das Ganze in einem Grid haben, es kann mir auch das Ganze in einem Tree anzeigen und macht das Ganze einfach hübsch und das Leben etwas optisch, etwas ansprechender und integriert auch eine Git-Status-Anzeige, ja. Git, das machen Developer-Bauder, defops, das ist so wie Wetterfisch noch Fleisch. Nein, wir sind, ich bin hier zum Landen, da ich mache mal eine eigene Landsession. FZF, das ist so ein Ding, da habe ich ein bisschen länger gebraucht, bis ich es behirnt habe, aber das ist auch wieder mal so ein Ding, das unglaublich nett ist, ist ein Kommando-Zeilen-Fasifalender, weiß ich, verstehe nicht, was will er von mir, ist schnell, ist praktisch, unterstützt Demox, unterstützt Wim, unterstützt die Zettgel, hängt sich auch in die Zettgel gleich hinein, da hätte ich jetzt eine kleine Demo vorbereitet, weil dann kann man sich was darunter vorstellen, vorher habe ich mir auch ein wenig schwer getan. So, jetzt brauchen wir einen Schummler auch noch. So, FZF ist auf 4, das heißt, FZF, ich möchte FZF mit der Preview-Funktion nützen und das soll man von jedem, von jedem File die ersten 100 Teilen anzeigen. Ich bin da jetzt im Linux-Header-Verzeichnis drin und das heißt, zeig mir doch mal alle Files in dem Header-Directory an, recursiv und während ich das so durch brauche, zeig mir doch die ersten 100 Teilen von dem File an. Das ist schon mal nicht schlecht, das kann ich dann aber sagen, ich möchte jetzt alles, was irgendwie Asen beinhaltet im Datainahmen angezeigt haben. Also das sieht man jetzt leider unten, das konnte ich nicht hinaufmufen. Ich kann hier einfach tippen und sagen, Sound und er zeigt mir alles mit Sound an oder ich kann sagen, alles aussah. Das heißt, ich kann ja einfach sehr schnell on the fly suchen, nach verschiedenen Dingen suchen und sie mir anzeigen lassen und bekommen sie dann als Auswahl zurück. Ich kann hier auch mehrfach Auswahlen machen. Das heißt, ich habe ja auch die Möglichkeit zu sagen, ich möchte das fäll und das fäll und das fäll und kriege dann die Liste zurück. Das Ganze kann ich jetzt aber nicht nur direkt aufrufen, sondern das hängt sich auch in meine Shell hinein, in dem Fall in meine Z Shell. Das heißt, ich habe jetzt zum Beispiel meine Shell History. Ich hoffe, ich habe sie aufgeräumt. Das heißt, ich drück wie gewohnt Steuern R und ich kriege meine Shell History. Die schaut aber jetzt ein bisschen anders aus, weil ich kann jetzt hier einfach mit den Cursor-Tasten in der Shell History herum scrollen und auch da wieder suchen. Das heißt, ich suche jetzt wieder nach T-Mux und jetzt zeigt einmal nur noch die Shell History Einträge an, die T-Mux irgendwie drin und gehabt haben und bekommen sie dann auch wieder die Shell History zurück. Dasselbe funktioniert dann auch mit Control A, Control C in dem Fall dann. Das heißt, ich drück ein Control C, Alt C, Alt C, Entschuldigung, Alt C. Das ist Change Directory. Das heißt, ich kriege jetzt hier eine Auswahl Aller Directories, kann wieder suchen nach ASM und sagt und verwechselt mich dann automatisch in das entsprechende Verzeichnis hinein. Der FZF integriert sich auch in den Wim hinein. Das heißt, wenn ich jetzt einen Wim haben, macht er das genauso. Und ich habe auch, wenn es wahr ist, dann habe ich mir das nicht. Ja, genau. Nein, dann habe ich mir. Ja, oh ja. Weg, weg da. So, ich habe das jetzt auch zum Beispiel beim Kill Commander. Killed Up und der FZF liefert mir jetzt hier eine Liste aller Prozesse. Ich kann jetzt auch hier wieder suchen, wo ich jetzt meine Präsentation und nein, die ein Cups D oder was auch immer ist. Ich könnte jetzt da und er liefert mir dann die Prozesse IT zurück. Das heißt, ich habe auch hier wieder die Möglichkeit, sehr bequem und entspannt zu arbeiten. Bitte. Killed Up und Sache ist erledigt. In die HIST ganz normal, so wirst du es bisher auch gekommen bist. Also die Shell History Steuerung R, da hängt sich der FZF hinein und und gibt ja dann stattdessen den Output. Ich habe jetzt nur den Aufruf nicht vorbereitet, Schande über mich. Ich kann das Ganze dann, ich kann den FZF dann auch noch mit T-Mux verbinden. Das heißt, er macht mir, wenn ich in einer T-Mux Session bin, dann ein zweites Panel, eine zweite Pain auf, wo er mit das Ergebnis aussucht und dann wieder in den ersten Pain zurückliefert. Also da kann man ganz, ganz viel, viel lustige Dinge machen. Würde ich mir anschauen, ist eine ganz super Sache. Das ist eben diese Head Funktion. Ich kann eben Negation, alles aussagen. Ich kann beginnt mit, end mitmachen. Ich kann auch einfach sagen, irgendwo, der es dringend soll, irgendwo vorkommen und dann tut das Ganze. Dann habe ich noch IC-Diff. Das ist einfach ein hübsches, buntes Diff. Wenn man jetzt das klassische Diff nimmt, dann schaut das schon ein bisschen übersichtlicher aus, was mir da das IC-Diff macht. Und weil ich es gestern bei den Unix-Opers noch versprochen habe, haben wir natürlich auch Progress. Progress ist ein Core-Utils Process Viewer, der sich auf die Core-Utils konzentriert, sprich Copy, Move, DD, TAR, GZ, etc., und zeigt mir den Fortschritt an. Jetzt kennen wir alle das PV. PV kennen wir, tut. Haben wir auch wieder eine Kernigkeit vorbereitet. PV ist auf 5. Das heißt, ich habe hier ein DD laufen und mein Ding tut einfach. Problem ist halt, ich muss das Ganze zum PV irgendwie durchpipen und muss meine Aufrufe anpassen, damit ich was sehe und dann ist es irgendwie unhübsch. Das heißt, ich kann jetzt aber auch Progress verwenden. Das heißt, ich habe jetzt die auf der rechten Seite. Mein Progress minus M, das ist nichts anderes, das ist ein Watch, das heißt, das läuft die ganze Zeit und schaut, läuft ein Prozess, läuft einer der Prozesse, die ich kenne und wenn ja, zeige ich den Progress an. Und solange er nicht läuft, tut sich nichts. Und jetzt hätte ich da auf der linken Seite ein Copy vorbereitet, das heißt, wenn ich das jetzt starte, ja, dann habe ich jetzt auf der rechten Seite meinen Progressbar, der so jetzt aufh hinaufwandert und irgendwann einmal fertig ist. Ich kann das Ding einfach so starten, ich kann das Ding an einem Prozess hängen, das heißt, ich kann das an meinen Apache hängen und dann zeigt er mir immer an, wenn er was ins Log schreibt, ich kann es in den Firefox hängen, zeigt er mir an, wenn er ein Download irgendwo hinschreibt, zeigt er mir den Progressbar dafür an. Jetzt ist er fertig und jetzt dritter wieder Däumchen und wartet. Und wenn ich jetzt das noch einmal mache, dann sagt er wieder, oder ich habe einen Prozess gefunden und zeige den Progressbar an. Ist halt schön, weil ich den Aufruf meines Programms nicht verändern muss und habe halt die Möglichkeit hier auch so ein, so diese zwei, diese zwei Fenster in einem Fenster, das ist Temux, deswegen will man sich mit Temux beschäftigen. Das ist super praktisch. Ja, kurze Frage. Ja, du kannst den Progress auch aufrufen, wenn du den Copy schon gestartet hast. Er schaut einfach in der Prozessliste durch, finde ich einen Prozess, den ich kenne und wenn ja, dann zeige ich den Progressbar an. So, ach verdammt, ich hätte doch eigentlich, das dauert jetzt doch länger als gedacht, jetzt wie weit bin ich schon und so, ja tut er keiner Macht da. Dann hast du zwei, dann hast du zwei Zeilen mit Progress. Also wenn du zwei Copys laufen hast, dann hast du zwei Zeilen mit statusbar. Heute in der Früh noch dazugekommen über Twitter. Difascope ist ein ein rekursiver Archiventpacker, der dann Benerf-Format, Benerf, der Tabols, Isos und PDFs vergleichen kann, also auch Benerfels vergleichen kann. Also worin unterscheiden die sich denn jetzt genau? Also ein Firefox-Blockin, alte Version, neue Version, wo ist jetzt genau der Unterschied? Und da geht dann das Tar hinein und bereitet das dann halt eigentlich ein sehr optisch, sehr schönes Diff auf. Das kam heute in der Früh und über meine Timeline rein und damit haben wir jetzt noch drei Minuten für Fragen an euch. Welche Tools habe ich denn jetzt noch vergessen? Was? Wo? Hände hoch, Mikro. Kommandotool und eine kurze Beschreibung. Einfach reinreden, die Kollegen machen dich auf. Na, was? Irgendwas tut noch nicht? Ist es eingeschaltet? So, zweiter Versuch? Ja, ich höre dich jetzt auf den außenlaut sprechen. Okay, gut, dann werde ich da. Also, TLDR, too long didn't read, tut genau das, was man meint, nämlich eine Manpage ausgeben, ohne Manpage zu benutzen. Das heißt so die good parts von Manpage. Dankeschön. Gibt es das auch für Vortragende? Sollten wir parten, sonst noch Tools. Wer kennt noch was? Gibt es einmal nach hinten? Ja, ein sehr hässlicher Kleint ist auch der MySQL-Kleint. Was es gibt, Pip-Install, MyClee gibt einfach einen sehr schönen MySQL-Kleint mit Farbe, Autokompletion ohne den Strichpunkt am Ende und so. Das ist ganz schön. Wenn man MySQL machen möchte, ja. Dankeschön. Ah, da bist du. Als Alternative zu SSH, Mosh kann Reconnector, wenn die Verbindung wegfliegt, kann allerdings kein Scrollback und dafür möchte man dann eigentlich auch oder T-Max verwende. Guter Mann, dafür gibt es nicht Schnitte. Ist das der, der Mosh ist aber nicht der, der über UDP läuft? Ist das der? Ja. Mit dem habe ich ein paar Ansinnprobleme, dann kappt er mal. Noch? Wir haben einen weiteren Kandidaten für das Shell-Golf nächstes Jahr. Noch? Demox hat einen Implicit einen, ja, aber ich muss keinen Deamern starten in dem Sinne. Das lass ich noch gelten. Gut, dann ist es jetzt 16.04 und 51 Sekunden. Dann habe ich mit 74 Slides eine Punktlandung hingelegt. Ich bedanke mich recht herzlich für euch. Ich hoffe, ihr habt Spaß und habt ein bisschen was gelernt. Und noch viel Spaß auf der Easter-Hack. Ciao.