Shell-Fu for DevelopersFranz Pletz I 15. September 2011                                   © Mayflower GmbH 2011
Kung Fu?Quelle: http://www.flickr.com/photos/stopherjones/707077871/                                                      ...
Shell Fu!Quelle: http://www.flickr.com/photos/tom_focus/5710555681/                                                       ...
ZieleI Sehr subjektiver Vortrag ;-)I Aus meinem Linux-Sysadmin Alltag ein paar nützliche Tools und     Tipps vorstellenI I...
Die Shell – first things firstI Tipp: zsh     Zum Anfang Config von grml: http://grml.org/zsh/I Viele nützliche Features v...
vim/emacs – Dateien editieren mit StyleI Tipp: Münzwurf um sich zwischen vim oder emacs zu entscheiden     Vergleich beide...
most – more or less enhanced pagerI Pager: Langen Text in Console als Seiten anzeigen     more: einfacher Pager     less: ...
pgrep & pkill – Prozesse brauchen PflegeI Wer kennt das nicht? ps aux | grep foo    Probleme: nicht weiterverwendbar, tauc...
ack – Das bessere grepI Komplett in Perl geschrieben, auf Suche in Quellcode optimiertI Schneller, da nur Source Code File...
ack – Das bessere grep (2)                             Mayflower GmbH I 10
pv – stalking the pipesI Verlauf von Daten durch Pipes beobachtenI $ tar c dir | pv | nc fnordhost 2342    64kB 0:00:00 [7...
ngrep – Grepping Network TrafficI Wireshark ist toll, aber oft einfach OverkillI # ngrep -W byline "^(GET|POST) .*"    Mal...
curl – HTTP Magic for the massesI $ curl ifconfig.me    88.217.134.114I $ curl -s -I nyan.cat | head -n1    HTTP/1.1 200 O...
openssh – fun with remote serversI Der openssh Client hat eine Config-File: ~/.ssh/config     Man kann Optionen global ode...
git – git it upI Pull mit rebase statt merge      $ git pull –rebase      oder      $ git config branch.master.rebase true...
git – git it up (2)I $ git log --oneline --decorate                                   Mayflower GmbH I 16
git – git it up (3)I $ git diff --word-diff                           Mayflower GmbH I 17
tmux – modern terminal multiplexingI Prinzip: mehere Terminals in einem darstellen, wie GNU screenI Features:     Client/S...
Fragen?Quelle: http://www.flickr.com/photos/ericarhiannon/3591044454/                                                     ...
Vielen Dank für eure Aufmerksamkeit!      Kontakt   Franz Pletz                franz.pletz@mayflower.de                +49...
Nächste SlideShare
Wird geladen in …5
×

Shell Fu for Developers

2.534 Aufrufe

Veröffentlicht am

Franz Pletz möchte mit seinem Vortrag, nachdem vor einigen Wochen bereits Martin Brotzeller in die grundlegende Shell- und UNIX-Tools-Benutzung eingeführt hat, in die Customization der eigenen Shell und in sinnvollen weiteren Tools, die den Developer-Alltag erleichtern, einführen. Dies sind einerseits Standardtools mit ungeahnter Zusatzfunktionalität, die allerdings häufig nicht bekannt sind aber auch Zusatztools, die erst neu zu installieren sind.

Veröffentlicht in: Technologie
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.534
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
636
Aktionen
Geteilt
0
Downloads
19
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Shell Fu for Developers

  1. 1. Shell-Fu for DevelopersFranz Pletz I 15. September 2011 © Mayflower GmbH 2011
  2. 2. Kung Fu?Quelle: http://www.flickr.com/photos/stopherjones/707077871/ Mayflower GmbH I 2
  3. 3. Shell Fu!Quelle: http://www.flickr.com/photos/tom_focus/5710555681/ Mayflower GmbH I 3
  4. 4. ZieleI Sehr subjektiver Vortrag ;-)I Aus meinem Linux-Sysadmin Alltag ein paar nützliche Tools und Tipps vorstellenI In der Shell sind fast alle Dinge viel schneller erledigt, als mit jeder general purpose GUII Ihr sollt mehr Console benutzen!!!!11elf1 Mayflower GmbH I 4
  5. 5. Die Shell – first things firstI Tipp: zsh Zum Anfang Config von grml: http://grml.org/zsh/I Viele nützliche Features von bash, ksh, tcsh und eigene, z.B. Globbing: Negierung, Grouping, Ranges Directory Stacking: pushd, popd, AUTOPUSHD Process Substitution: =() Erweiterte Command Line Editing und CompletionI Egal welche Shell man nutzt, Manpage komplett lesen und nach eigenen Vorlieben konfigurieren! Mayflower GmbH I 5
  6. 6. vim/emacs – Dateien editieren mit StyleI Tipp: Münzwurf um sich zwischen vim oder emacs zu entscheiden Vergleich beider Editoren am besten gar nicht anfangen Religionskriege!I Mindestens eine Woche Zeit nehmen, einarbeiten und benutzen! Painful, aber schnelleres editieren garantiert Mayflower GmbH I 6
  7. 7. most – more or less enhanced pagerI Pager: Langen Text in Console als Seiten anzeigen more: einfacher Pager less: more mit forward/backward, vi KeybindingsI Features Windows! Binary Files Line Wrapping Mayflower GmbH I 7
  8. 8. pgrep & pkill – Prozesse brauchen PflegeI Wer kennt das nicht? ps aux | grep foo Probleme: nicht weiterverwendbar, taucht selbst in Liste aufI $ pgrep zsh 3145 3148 3174I Weitere Optionen zum filtern nach z.B. -u, -g User & Gruppen -n, -o newest, oldestI pkill mit gleichen Parametern als Alternative zu killall Mayflower GmbH I 8
  9. 9. ack – Das bessere grepI Komplett in Perl geschrieben, auf Suche in Quellcode optimiertI Schneller, da nur Source Code Files durchsucht werden Keine VCS-Verzeichnisse, Backup-Files, Core Dumps etc.I Angabe von Dateitypen einfach $ ack –-php --jsI Syntax Highlighting!I Viele GNU grep Parameter werden supportetI 25% weniger Zeichen zu tippen!I http://betterthangrep.com/ Mayflower GmbH I 9
  10. 10. ack – Das bessere grep (2) Mayflower GmbH I 10
  11. 11. pv – stalking the pipesI Verlauf von Daten durch Pipes beobachtenI $ tar c dir | pv | nc fnordhost 2342 64kB 0:00:00 [71.4MB/s] [ <=> ]I Viele Optionen, z.B. -p Progress Bar anzeigen -r Datenrate anzeigen -a durchschnittliche Datenrate anzeigen -s BYTES Dateigröße angeben -L RATE Datenrate begrenzen -R PID Commandline eines laufenden pv modifizieren Mayflower GmbH I 11
  12. 12. ngrep – Grepping Network TrafficI Wireshark ist toll, aber oft einfach OverkillI # ngrep -W byline "^(GET|POST) .*" Mal schnell alle GET und POST Requests anzeigenI # ngrep -q -W byline "search" host www.google.com and port 80 Alle Google-Suchanfragen ausgeben Mayflower GmbH I 12
  13. 13. curl – HTTP Magic for the massesI $ curl ifconfig.me 88.217.134.114I $ curl -s -I nyan.cat | head -n1 HTTP/1.1 200 OK Nur die Headers bitte!I $ curl -c cookies.txt -H "User-Agent: Mozilla/5.0" -F "name=test;photo=@lolcat.jpg" mysocialnetwork.com/profile Cookies, Headers, Formularfelder, Dateiupload! Mayflower GmbH I 13
  14. 14. openssh – fun with remote serversI Der openssh Client hat eine Config-File: ~/.ssh/config Man kann Optionen global oder auf Host-Basis festlegenI Connection Sharing ControlMaster auto ControlPath /tmp/ssh-%h-%p-%rI Hostname Aliases, Local Forwards Host dev HostName dev.foobar.de LocalForward 5433 localhost:5432I Restriktive Proxies bezwingen (sshd auf Port 443) ProxyCommand corkscrew proxy.org 8080 %h %p Mayflower GmbH I 14
  15. 15. git – git it upI Pull mit rebase statt merge $ git pull –rebase oder $ git config branch.master.rebase trueI Letzter Commit mit Message Regex Matching $ git show :/fix $ git show :/^MergeI Einfaches Tracking von Remote Branches $ git checkout -t origin/feature Mayflower GmbH I 15
  16. 16. git – git it up (2)I $ git log --oneline --decorate Mayflower GmbH I 16
  17. 17. git – git it up (3)I $ git diff --word-diff Mayflower GmbH I 17
  18. 18. tmux – modern terminal multiplexingI Prinzip: mehere Terminals in einem darstellen, wie GNU screenI Features: Client/Server-Modell Transfer/Linking von Terminals in andere Sessions Copy/Paste mit mehreren Buffers Windows mit horizontal und vertikal splitten Freies verschieben, resizen oder einpassen in Layouts Terminal Locking Gute DokumentationI Quickstart fuer screen-User: Ctrl+B statt Ctrl+A ;-)I http://tmux.sourceforge.net/ Mayflower GmbH I 18
  19. 19. Fragen?Quelle: http://www.flickr.com/photos/ericarhiannon/3591044454/ Mayflower GmbH I 19
  20. 20. Vielen Dank für eure Aufmerksamkeit! Kontakt Franz Pletz franz.pletz@mayflower.de +49 89 242054 1173 Mayflower GmbH Mannhardtstrasse 6 80538 München29.09.11 Mayflower GmbH 20

×