Your SlideShare is downloading. ×
0
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Shell Fu for Developers
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Shell Fu for Developers

2,204

Published on

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 …

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,204
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Shell-Fu for DevelopersFranz Pletz I 15. September 2011 © Mayflower GmbH 2011
  • 2. Kung Fu?Quelle: http://www.flickr.com/photos/stopherjones/707077871/ Mayflower GmbH I 2
  • 3. Shell Fu!Quelle: http://www.flickr.com/photos/tom_focus/5710555681/ Mayflower GmbH I 3
  • 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. 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. 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. 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. 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. 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. ack – Das bessere grep (2) Mayflower GmbH I 10
  • 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. 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. 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. 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. 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. git – git it up (2)I $ git log --oneline --decorate Mayflower GmbH I 16
  • 17. git – git it up (3)I $ git diff --word-diff Mayflower GmbH I 17
  • 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. Fragen?Quelle: http://www.flickr.com/photos/ericarhiannon/3591044454/ Mayflower GmbH I 19
  • 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

×