↑ ↓ auswählen, Enter öffnen, Esc schließen

PNG-Bilder verlustbehaftet mit pngquant verkleinern

Werte anpassen, der Befehl aktualisiert sich live
user@server
find /var/www/vhosts/example.com/httpdocs/wp-content/uploads -type f -iname '*.png' -exec pngquant --quality=65-85 --skip-if-larger --strip --force --ext .png {} +

Wandelt PNGs in 8-Bit-Palettenbilder mit Transparenz um und schreibt das Ergebnis über das Original (--ext .png --force). Wird die Mindestqualität nicht erreicht oder ist die neue Datei größer, bleibt das Original unangetastet. Für Grafiken, Icons und Screenshots meist kaum sichtbar, für Fotos besser WebP verwenden.

Hinweis: Verlustbehaftet und nicht umkehrbar, vorher ein Backup anlegen. Paket pngquant gegebenenfalls nachinstallieren. Übersprungene Dateien führen zu einem Exitcode ungleich 0, das ist kein Fehler.

Auch gesucht als

  • PNG stark komprimieren
  • PNG Dateigröße halbieren
  • pngquant auf Uploads anwenden
  • große PNG Grafiken verkleinern

JPEG-Qualität mit jpegoptim auf einen Höchstwert begrenzen

$find /var/www/vhosts/example.com/httpdocs/wp-content/uploads -type f \( -iname '*.jpg' -o -iname '*.jpeg' \) -exec jpegoptim --strip-all --preserve --max=82 {} +
destruktivBilder und Performance

PNG-Bilder verlustfrei mit optipng optimieren

$find /var/www/vhosts/example.com/httpdocs/wp-content/uploads -type f -iname '*.png' -exec optipng -o2 -strip all -preserve {} +
vorsichtBilder und Performance

Bilder mit Abmessungen über X Pixel finden

$find /var/www/vhosts/example.com/httpdocs/wp-content/uploads -type f \( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \) -exec identify -format '%w %h %i\n' {} + 2>/dev/null | awk -v max=2560 '$1 > max || $2 > max'
harmlosBilder und Performance

Bilder ohne loading-Attribut auf einer Seite finden

$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<img[^>]*>' | grep -vi 'loading='
harmlosBilder und Performance

Bilder rekursiv nach AVIF umwandeln

$find /var/www/vhosts/example.com/httpdocs/wp-content/uploads -type f \( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \) -exec sh -c 'for f; do [ -e "$f.avif" ] || avifenc -s 6 "$f" "$f.avif" >/dev/null; done' sh {} +
vorsichtBilder und Performance

Bilder rekursiv nach WebP umwandeln

$find /var/www/vhosts/example.com/httpdocs/wp-content/uploads -type f \( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \) -exec sh -c 'for f; do [ -e "$f.webp" ] || cwebp -quiet -q 80 "$f" -o "$f.webp"; done' sh {} +
vorsichtBilder und Performance

Erst lesen, dann ausführen.

Die Befehle auf myline.de greifen direkt in Server, Dateien und Datenbanken ein. Ein falscher Pfad oder Platzhalter kann Daten unwiderruflich löschen oder einen Server unerreichbar machen.

  • Alle Befehle werden ohne Gewähr bereitgestellt und sind nicht auf jedem System getestet.
  • Vor dem Ausführen verstehen, was ein Befehl tut, und jeden Platzhalter prüfen.
  • Vorher ein Backup anlegen und möglichst zuerst auf einem Testsystem ausprobieren.
  • Die Ausführung erfolgt auf eigene Verantwortung. Eine Haftung für Schäden ist ausgeschlossen, soweit gesetzlich zulässig.