Kleine Tricks die man im Alltag mal brauchen kann ;-)

"Bang commands"

!!

Letztes Kommando wiederholen, den Bandwurm nicht noch einmal eintippen, die vielen Schalter und Optionen hat man eh schon vergessen ;-)

!$

Das letzte Argument des letzten Kommandos.

!*

Alle Argumente des vorherigen Kommandos.

!:1

Das erste Argument des vorherigen Kommandos. :2 liefert das zweite Argument, :3 das dritte usw.

Entfernen von Kommentare

sed '/ *#/d; /^ *$/d' <datei>

Entfernt Kommentare und Leerzeilen aus einer Datei.

Verzeichnisgröße herausfinden

du -S | sort -n -r | more

Sehr nützlich, falls man wissen möchte, wohin der ganze Platz auf der Festplatte verschwunden ist. Listet die größten Verzeichnisse (z. B. innerhalb von Home) auf. Das größte steht am Beginn der Auflistung.

Dateien/Verzeichnisse heraus filtern

ls -l | grep ^d

Ganz praktisch, um eine auf directories beschränkte Auflistung der files zu erhalten. Zur Einschränkung auf ausführbare, reguläre files kann man sowas wie

ls -l | grep ^-..x

verwenden.

Textdateien durchsuchen

Da unter Linux fast alle wesentlichen Formate textbasiert (ASCII-basiert) sind, kann man mit

find . -type f -exec grep Geruempel {} \; -print

alle files finden, die den string „Geruempel“ enthalten, als Inhalt des file, wohlgemerkt, nicht etwa im Namen. Wenn man das nun in ein Shellskript packt hat man sein System um eine nette Funktion erweitert.

#!/bin/sh 
find -type f -exec grep -q $1 {} \; -print

Doppelte Dateien finden

Weil ich so lange auf der Suche war nach einem Tool das doppelte Dateien im Verzeichnisbaum findet, hier meine Lösung:
1) fdupes (eigenes Programm, gibts als Debian Paket (*.deb)
2)

 find . -type f -exec md5sum {} \; |sort|uniq -w 32 -D > doppelte-Dateien.log
 
Erklärung: 
find -> finde mal was 
.    -> ab hier und in allen Unterverzeichnissen 
-type f  -> aber bitte nur Dateien (keine Verzeichnisse) 
-exec  -> und wende auf die gefundenen Einträge an 
md5sum {} -> erstelle die Prüfsumme für die gefundenen Dateien 
\;  -> erstmal Ende fürs finden 
| sort -> wenn du mit finden fertig bist, sortiere das Ergebnis  
| uniq -w 32 -D  -> liste alle doppelten Einträge auf (-D), die in den ersten 32 Zeichen (-w 32) übereinstimmen 
> doppelte-Dateien.log -> und schreib das in die Datei 'doppelte-Dateien.log'