Die Kommandozeile ist dein Freund #5

23.07.2014 Bild

In der guten alten Zeit haben wir nur in der Kommandozeile herumgehackt (Hello C64, hello DOS...). Dann sind wir zu Affen verkommen und haben nur mehr Dinge mit der Maus herum geschoben. In dieser Serie werden wir einem Virtuosen der Kommandozeile über die Schulter blicken und dürfen uns dabei das eine oder andere Schmankerl abschauen.

 

tail und head geben jeweils das Ende oder den Anfang einer Datei aus. Es können die gewünschten Zeilen mit übergeben werden, wie in head -5 datei, für die ersten 5 Zeilen in der Datei.

head -5 datei

tail -f /var/log/system.log öffnet das angegebene Logfile und wartet auf neue Zeilen am Ende, die dann gleich mit ausgeben werden.

tail -f /var/log/system.log

 

Um Dateien zu finden wird find verwendet. Dabei ist der erste Parameter das Startverzeichnis und danach werden Filter angeben, wie -name dateiname (-iname für case-insensitive), -type d für Verzeichnisse oder -type f für Dateien, etc - z.B. alle Javascript Dateien im aktuellen Verzeichnis:

find . -name '*.php' -type f

Die Ausgabe lässt sich gut mit xargs kombinieren. xargs wandelt die Zeilen der Eingabe in Parameter für einen Befehl um. Für alle Javascript Dateien in denen noch console.log, console.debug oder console.error steht:

find . -name '*.js' -type f | xargs egrep 'console.(log|error|debug)'

 

Mit pbcopy und pbpaste wird die Ausgabe oder die Eingabe in die Zwischenablage kopiert oder aus dieser eingefügt. Z.B. sucht

pbpaste | fgrep '<meta' | pbcopy

alle Meta Tags in der Zwischenablage und kopiert das Ergebnis dorthin zurück.

Beide Befehle sind OS X spezifisch, lassen sich aber leicht auch unter Linux mit X11 emulieren.

 

<(befehlbehandelt die Ausgabe des Befehls wie eine Datei. Um z.B. die Ausgabe von zwei Webseiten zu vergleichen:

diff <(curl http://google.at) <(curl http://google.com)

ohne dabei temporäre Dateien zu erzeugen.

 

Jeder Befehl kann mit sudo davor als root ausgeführt werden. Als kleine Hilfe kann !! als Platzhalter für den letzten Befehl verwendet werden - in Kombination mit sudo !! wird der letzte Befehl als root ausgeführt, wenn dieser wegen zu geringer Rechte fehlgeschlagen ist. Aber wie immer mit root Rechten Vorsicht walten lassen.

 

Mehr Befehle für deinen neuen Freund findest du hier:

Die Kommandozeile ist dein Freund #1

Die Kommandozeile ist dein Freund #2

Die Kommandozeile ist dein Freund #3

Die Kommandozeile ist dein Freund #4