Praktische Shell-Befehle

grep

Der Befehl "grep" kann Teile aus Zeichenketten, z.B. ASCII-Dateien extrahieren. Sehr nützlich um Quelltexte zu durchsuchen:

Suche nach "PriceTypeEnum" ohne dabei Subversion-Verzeichnisse zu durchsuchen innerhalb aller Dateien:

grep -rn iceTypeEnum bin/ | grep -v '/\.svn'

Suchen und Ersetzen mit "sed"

Will man in der Konsole z.B. innerhalb von PHP-Dateien bestimmte Texte durch andere ersetzen, bietet sich der folgende Befehl an:

find . -name "*.php" -exec sed -i 's/zu suchender Text/neuer Text/g' {} \;

Suche nach Platzfressern per "du -h"

Der Befehl du (disk usage) gibt aus, wie viel Byte Platz ein bestimmtes Verzeichnis inklusive seiner Unterverzeichnisse belegt. Unhandlich ist, dass die Ausgabe nicht sortiert werden kann. Durch die praktische Pipe kann die Ausgabe jedoch an sort übergeben werden. Am Ende steht dann der Platzfresser Nummer eins:

mwa@is-wagner:~/is-wagner.com/htdocs/$ du -b|sort -n
5165003 ./typo3conf/ext/phpmyadmin/modsub/phpMyAdmin-2.6.4-pl3
5190397 ./typo3conf/ext/phpmyadmin/modsub
5236459 ./typo3conf/ext/phpmyadmin
5357634 ./fileadmin/images/banner
7686272 ./uploads/pics
9635120 ./typo3temp
10314718        ./uploads
13247332        ./phpdoc_eShop/phpdoc
18348869        ./typo3conf/ext
19814334        ./phpdoc_eShop
20784719        ./typo3conf
69108639        ./fileadmin/images
76442379        ./fileadmin
142979111       .
mwa@is-wagner:~/is-wagner.com/htdocs$ du -sh fileadmin/
75M     fileadmin/

Es ist hier ersichtlich, dass der Ordner "fileadmin" am meisten Platz benötigt. 75 MB.

Datum von Dateien verändern

Mit dem praktischen Befehl touch kann nicht nur kurz eine Datei erstellt werden, sondern auch die Zeitangaben der Datei auf den gewünschten Wert gesetzt werden:

touch -c -t 04170822 error.log
touch -am -t 12121711 error.log

Im Beispiel sehen wir, dass das Erstellungsdatum der Datei "error.log" zuerst auf den 17. April 2007 8 Uhr 22 gesetzt wird. Dann wird die Zugriffszeit (a) sowie die Zeit der letzten Änderung (m) auf den 12. Dezember 17 Uhr 11 gesetzt.

Mehr über mögliche Datumswerte kann man mit "man touch" nachschauen.

IP-Adresse sperren per iptables

Immer wieder praktisch, wenn man von einer IP-Adresse mit Login-Versuchen o.ä. zugemüllt wird:

iptables -I INPUT -s 216.240.143.112 -j DROP

Webseiten komplett runterladen mit wget

Für das Lesen unterwegs oder die spätere Referenz kann es praktisch sein, Webseiten inklusive Bilder und anderen Multimediadateien lokal zu speichern. Sehr gut geht das mit dem Kosolen-Tool wget. Hier bietet sich der folgende Aufruf an:

wget -m -w 2 -p --convert-links http://www.michael-wagner.de