Your SlideShare is downloading. ×
0
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
Linuxtools fuer Developer
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

Linuxtools fuer Developer

3,330

Published on

Martin Brotzeller erklärt Tools und Features der Shell, mit denen Programmierer sich das Leben einfacher machen können. Der Schwerpunkt liegt beim Arbeiten mit der History sowie gängigen Tools.

Martin Brotzeller erklärt Tools und Features der Shell, mit denen Programmierer sich das Leben einfacher machen können. Der Schwerpunkt liegt beim Arbeiten mit der History sowie gängigen Tools.

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

No Downloads
Views
Total Views
3,330
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
15
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. Linuxtools für DeveloperMartin Brotzeller I 28.07.2011 © Mayflower GmbH 2011
  • 2. RTFM Mayflower GmbH I 2
  • 3. Bash - UmleitungenUmleitungen und Datenfluss bei Verknüpfungen > leitet die Ausgabe in eine Datei um < holt die Eingabe aus einer Datei | leite die Ausgabe an ein weiteres Kommando >> hängt die Ausgabe an eine Datei an << ermöglicht Eingabe über ein Here-Dokument wie in PHP 2> leitet die Fehlerausgabe um 2>&1 leitet die Fehlerausgabe in die Standardausgabe ( ) kapselt eine Subshell ` ` (Backticks) kapseln einen Befehl dessen Ausgabe direkt als Kom- mandozeilenargument verwendet wird Mayflower GmbH I 3
  • 4. Beispiele: Umleitungen Beispiele zu Umleitungen ls | wc -l Zählt die Dateien im aktuellen Verzeichnis find 2>&1 | grep „.php“ > phpfiles.txt Leitet die Fehler- und Standardausgabe weiter an grep. Der ganze Befehl erstellt eine Liste von PHP-Dateien (ja, das geht auch einfacher) Mayflower GmbH I 4
  • 5. Bash - HistoryDie History kann auf verschiedene Weise bedient werden. Am schnellsten geht das mit dem Expansionssymbol (normalerweise !)I !$ wird zum letzten Argument des vorigen BefehlsI !! wiederholt das letzte Kommando (kombinierbar)I !? sucht nach einem String in der HistoryI ^string1^string2^ ersetzt string1 mit string2 im vorhergehenden KommandoI :p am Ende des Kommandos verhindert AusführungI :gs/string1/string2/ ersetzt string1 mit string2, aus beliebigem Historyeintrag Mayflower GmbH I 5
  • 6. Beispiele: Historyvi config.phpsvn diff !$^diff^committar tzvf datei.tgz^tz^xz Mayflower GmbH I 6
  • 7. Beispiele: History IIcp /www/htdocs1/datei1.php /www/htdocs2/datei1-foo.php!!:gs/datei1/datei2/!!:gs/datei2/datei3/Drei Dateien nach dem selben Muster kopieren Mayflower GmbH I 7
  • 8. ToolsI wc Zählt Zeichen, Wörter und Zeilen. Mit -l werden nur Zeilen gezähltI fmt Formatiert (Plain-)Texte – Zeilenumbrüche, Absätze, etcI cat / tac Ausgabe von Dateien vorwärts und rückwärtsI ps Zeigt Prozesse an. Mit Optionen axuw erwischt man alle Prozesse Mayflower GmbH I 8
  • 9. Tools III head / tail Anzeige von Beginn oder Ende einer Datei, -f bei tail fortlaufendI cut Spaltenweise Ausfiltern der Eingabe anhand von einem Trennzeichen cut -d “:” -f 1 /etc/passwd Zeigt alle (lokalen) Nutzername des Systems anI xargs Übergibt Eingabe als Reihe von Parametern an ein Kommando find -name ”*php“ | xargs grep ”require“ grept nach „require“ in allen PHP-Dateien Mayflower GmbH I 9
  • 10. Tools IIII sort sortiert zeilenweiseI uniq entfernt doppelte aufeinanderfolgende ZeilenI bc Kommandozeilen-TaschenrechnerI od Oktal/Hexadezimaler DumpI seq Erzeugt Reihe von Zahlen Mayflower GmbH I 10
  • 11. Grepgrep steht kurz für “Global Regular Expression Parser“ - Suche nach Eingabemustern die auf reguläre Ausdrücke passen. Statt der Standardeingabe kann auch eine Liste von Dateien übergeben werdenI Nützliche Optionen · -i (case insensitive) · -l (nur Dateiname zeigen) · -c (count) · -r (rekursiv) · -A/-B-/C <num> Anzahl Zeilen Kontext · -E “extended“ ermöglicht Alternativen Mayflower GmbH I 11
  • 12. Beispiele: GrepI ps uxaw | grep “http“ | grep -v “grep” finde alle Prozesse mit “http” im PfadI find -type d | grep -v “.svn” finde Verzeichnisse die nicht “.svn“ im Pfad enthaltenI grep -E “(include|require)“ *.php suche alle Zeilen mit include oder require in den PHP-Dateien des aktuellen Verzeichnis Mayflower GmbH I 12
  • 13. FindFinden von Dateien zur Weitergabe an andere ToolsI find /www/ -name “*.php“ Zeigt alle PHP-Dateien unterhalb von /www an (-iname für case insensitive Suche)I find /www/ -type d ( -name CVS -o -name SVN ) -exec safe-rm -r {} ; sucht alle Verzeichnisse namens CVS oder SVN und löscht diese Mayflower GmbH I 13
  • 14. Beispiele: FindI find . -newer <Dateiname> -print Zeigt alle Dateien, die editiert wurden, nachdem Dateiname zum letzten mal editiert wurdeI find -name “*.sql“ | xargs rm Sucht alle Dateien die auf .sql enden und übergibt sie an rm als Kommandozeilenargument Mayflower GmbH I 14
  • 15. SedI Mächtiges Werkzeug zur TextmanipulationI Agiert zeilenweiseI Versteht Reguläre AusdrückeI sed -e s/foo/bar/ datei.txt Ersetzt in der Datei auf jeder Zeile jeweils das erste foo mit bar und gibt das Ergebnis aus. Mayflower GmbH I 15
  • 16. Beispiele: SedEs geht auch komplizierter:sed -e s/</n</g *.html | grep ^<a | sed -e s/.*href=“([^“]*)“.*/1/ grep -v ^<a(...und das ist noch nicht das Ende der Fahnenstange) Mayflower GmbH I 16
  • 17. AWKI „AhWehKah“ (Aho-Weinberger-Kernighan)I Stream-basiertI Beginnt, wo Sed nicht mehr ausreichtI Jede Regel hat ein MusterI Pro Zeile wird die Regel ausgeführt, deren Muster passt Mayflower GmbH I 17
  • 18. Beispiele: AWKI ls -l | awk {print $6 “ “ $7 “ “ $8 “ “ $9 “ “ $5} Besseres „cut“, hier wird unabhängig von der Anzahl der Leerzeichen immer die selbe Spalte ausgegeben – konkret hier Datum, Uhrzeit, Dateiname und danach DateigrösseI awk BEGIN{ printf(“%in“,0x37ab); } Einfach nur mal 0x37ab in dezimal ausgeben Mayflower GmbH I 18
  • 19. Beispiele: AWK III ls -l | awk BEGIN{ x=0; } { x+=$5; } END{ printf(„x is %sn“,x); } Zusammenzählen der Dateigrössen im aktuellen Verzeichnis Mayflower GmbH I 19
  • 20. ViI Überall verfügbarI Schnelles, ressourcenschonendes EditierenI Mächtige Kommandos für Textersetzungen Mayflower GmbH I 20
  • 21. ScreenI „Container“ für ShellsI Session nicht an Verbindung geknüpftI Schnelles wechseln von TasksI Arbeiten auf mehreren RechnernI Teilen des sichtbaren Bereichs Mayflower GmbH I 21
  • 22. Vielen Dank für Ihre Aufmerksamkeit! Referent Martin Brotzeller martin.brotzeller@mayflower.de +49 931 35965 16 Mayflower GmbH Pleichertorstr. 2 97070 Würzburg29.07.2011 Mayflower GmbH 22
  • 23. BeispielFragen? Mayflower GmbH I 23

×