Bilder automatisch verkleinern mit Mindestgröße

Mit nachfolgendem Befehl lassen sich alle jpg-Bilder im Verzeichnis auf eine maximale Höhe/Breite von 1024 Pixel verkleinern. Das Seitenverhältnis wird beibehalten und die größere Seite auf 1024 px reduziert. Ist ein Bild kleiner als 1024 px, wird dieses Bild nicht beeinflusst.

mogrify -resize '1024x1024>' *.jpg

Weitere Infos gibt auf der Seite von imagemagick

 

TYPO3 Update Einzeiler

Mit folgendem Konsolenkommando kann ein vorhandenes TYPO3 6.0 auf 6.0.5 aktualisiert werden:

wget get.typo3.org/6.0 -O update.tgz && tar xzf update.tgz && rm update.tgz && chown -R wwwrun:www typo3_src-6.0.5 && rm typo3_src-6.0 && ln -s typo3_src-6.0.5 typo3_src-6.0

Voraussetzung hierfür ist, dass Sie in der Konsole über die entsprechenden Berechtigungen verfügen. Auch sollten Sie sich in dem Verzeichnis befinden, in dem sich der bisherige TYPO3-Sourcen Ordner befindet.
Bevor Ihr den Einzeiler ausführt, passt bitte die einzelnen Kommandos an eure Serverumgebung an! Ich übernehme keine Garantie, dass dieser Einzeiler bei jedem korrekt funktioniert!

 

Verzeichnisgröße ermitteln via Bash

Um in der Bash die Verzeichnisgröße zu ermitteln hilft folgendes Kommando:

du -h --max-depth=1 .

-h gibt dabei an, dass die Größe als lesbares Format dargestellt werden soll (z.B. 1K 234M 2G)
–max-depth=1 bedeutet, dass nur die Summen der Verzeichnisse ausgegeben werden, die sich aktuell in diesem Verzeichnis befinden (also keine Unterverzeichnisse)
. bedeutet das vom aktuellen Verzeichnis ausgehend die Größe ermittelt werden soll

 

Abhilfe für Linux Fehlermeldung: /bin/rm: Die Argumentliste ist zu lang

Beim Löschen von Verzeichnissen mit sehr vielen Dateien, kann es schon mal vorkommen, das rm mit folgender Fehlermeldung aussteigt:

-bash: /bin/rm: Die Argumentliste ist zu lang

Abhilfe schafft hier, wenn der Aufruf als Schleife ausgeführt wird:

for i in *; do rm $i; done

Dadurch sollte die Grenze von 128kB unterschritten und Ihr nicht mit der Fehlermeldung belästigt werden.
Frohes Arbeiten 😉

 

Dateiendungen in Kleinbuchstaben umwandeln

Des öfteren erhalte ich von Kollegen oder Kunden Dateien mit Großbuchstaben im Dateiname.
Da ich bei Websites gerne Dateinamen verwende, die komplett kleingeschrieben sind, benötigte ich einen Arbeitsschritt der mir das automatisch erledigte (mit automatisch meine ich nicht einen Praktikant ;-)).  Dank Linux und der mächtigen Bash lässt sich diese Aufgabe einfach lösen.
Folgendes Bash-Kommando wandelt die Dateiendung JPG in Kleinbuchstaben um:

for f in *.jpg; do mv $f `basename $f .jpg`.JPG; done;

Soll der komplette Dateiname kleingeschrieben werden, hilft folgendes Kommando:

ls | awk '{print "mv "$0" "tolower($0)}' | sh

Um rekursiv auch Unterordner zu beachten nimmt man dieses Kommando:

for dir in $(find -depth -type d | grep -v ^.$); do mv -v "$dir" $(dirname "$dir")/$(echo $(basename "$dir") | tr '[:upper:]' '[:lower:]') ; done;

Möglicherweise gibt es auch noch kürzere Kommandos…hat jemand Tipps?