Ubuntu22 中使用命令行压缩图片

本文将介绍在 Ubuntu22 中使用命令行压缩图片的几种方式,读者可以根据自己的需要选择最合适到方式。

在日常工作和生活中,我们经常需要处理图片文件。为了节省存储空间、加快网页加载速度或便于传输,对图片进行压缩是一个常见的操作。

在 Ubuntu22 系统下,借助命令行工具,我们可以高效、批量地完成图片压缩任务。

本文将详细介绍几种常用的命令行图片压缩工具及其使用方法,帮助你轻松掌握在 Ubuntu22 中压缩图片的技巧。

ImageMagick 工具

ImageMagick 是一款功能强大且开源的图像处理软件,支持多种图像格式的读写与处理,当然也包括图片压缩。在 Ubuntu22 中,可以通过以下命令安装:

sudo apt update
sudo apt install imagemagick

安装完成后,就可以使用它提供的一系列命令来处理图片了。

使用 ImageMagick 压缩图片

ImageMagick 提供了convert 命令来处理图片,通过调整参数可以实现图片压缩。例如,要将名为example.jpg 的 JPEG 图片压缩并保存为 example_compressed.jpg,可以使用以下命令:

convert example.jpg -quality 60 example_compressed.jpg

上述命令中,-quality参数用于指定图片质量,取值范围是 0 到 100,数值越低,压缩率越高,但图片质量也会相应下降。你可以根据实际需求调整这个参数。

如果要处理 PNG 图片,同样可以使用convert命令,例如:

# 压缩图片
hxstrive@g450:~/workspace$ convert example.jpg -quality 60 example_compressed.jpg

# 查看压缩结果
hxstrive@g450:~/workspace$ ll
total 228
drwxrwxr-x  2 hxstrive hxstrive   4096 Apr 18 02:46 ./
drwxr-x--- 12 hxstrive hxstrive   4096 Apr 18 02:45 ../
-rw-rw-r--  1 hxstrive hxstrive 102084 Apr 18 02:46 example_compressed.jpg
-rw-r--r--  1 hxstrive hxstrive 120673 Apr 18 02:41 example.jpg

上面输出中,压缩前大小为 120673,压缩后大小为 102084。

对于批量处理图片,可以使用通配符。比如,要压缩当前目录下所有的 JPEG 图片,可以执行以下命令:

for file in *.jpg; do convert "$file" -quality 60 "${file%jpg}-compressed.jpg"; done

上述命令会遍历当前目录下所有的 .jpg 文件,对每个文件进行压缩,并将压缩后的文件命名为原文件名加上 compressed 后缀。例如:

hxstrive@g450:~/workspace$ for file in *.jpg; do convert "$file" -quality 60 "${file%jpg}-compressed.jpg"; done
hxstrive@g450:~/workspace$ ll
total 628
drwxrwxr-x  2 hxstrive hxstrive   4096 Apr 18 02:50 ./
drwxr-x--- 12 hxstrive hxstrive   4096 Apr 18 02:45 ../
-rw-rw-r--  1 hxstrive hxstrive 102084 Apr 18 02:50 example1.-compressed.jpg
-rw-r--r--  1 hxstrive hxstrive 120673 Apr 18 02:41 example1.jpg
-rw-rw-r--  1 hxstrive hxstrive 102077 Apr 18 02:50 example2.-compressed.jpg
-rw-rw-r--  1 hxstrive hxstrive 102084 Apr 18 02:46 example2.jpg
-rw-rw-r--  1 hxstrive hxstrive 102077 Apr 18 02:50 example3.-compressed.jpg
-rw-rw-r--  1 hxstrive hxstrive 102084 Apr 18 02:49 example3.jpg

jpegoptim 工具

jpegoptim 是专门针对 JPEG 格式图片的优化工具,它能够在保证图片质量的前提下,有效减小 JPEG 图片的文件大小。使用以下命令进行安装:

sudo apt install jpegoptim

使用 jpegoptim 压缩 JPEG 图片

jpegoptim 使用起来非常简单,直接指定要压缩的 JPEG 图片文件即可。例如,压缩 example.jpg 文件:

jpegoptim example.jpg

默认情况下,jpegoptim 会在原文件基础上进行压缩,覆盖原文件。例如:

hxstrive@g450:~/workspace$ jpegoptim example1.jpg
example1.jpg 1675x852 24bit N JFIF  [OK] 120673 --> 111114 bytes (7.92%), optimized.

如果希望保留原文件,可以使用 --dest 选项(指定优化文件的目标目录,默认为覆盖原始文件),命令如下:

hxstrive@g450:~/workspace$ jpegoptim --size=20 --dest=bak example1.jpg
example1.jpg 1675x852 24bit N JFIF  [OK] 50673 --> 20790 bytes (58.97%), optimized.
hxstrive@g450:~/workspace$ ll bak/
total 32
drwxrwxr-x 2 hxstrive hxstrive  4096 Apr 18 03:11 ./
drwxrwxr-x 3 hxstrive hxstrive  4096 Apr 18 03:06 ../
-rw-r--r-- 1 hxstrive hxstrive 20790 Apr 18 03:11 example1.jpg

可以看见,将优化后的图片存放在 bak/ 目录。

批量处理时,可以直接使用通配符,比如压缩当前目录下所有的 JPEG 图片:

jpegoptim --size=50 *.jpg

通过 --size 参数尝试将文件优化为给定大小(禁用无损优化模式)。目标大小可指定为千字节(1 - n)或百分比(1% - 99%)。例如:

hxstrive@g450:~/workspace$ jpegoptim --size=50 *.jpg
example1.jpg 1675x852 24bit N JFIF  [OK] 111114 --> 50673 bytes (54.40%), optimized.
example2.jpg 1675x852 24bit N JFIF  [OK] 102084 --> 66726 bytes (34.64%), optimized.
example3.jpg 1675x852 24bit N JFIF  [OK] 102084 --> 66726 bytes (34.64%), optimized.

pngquant 工具

pngquant 是一款用于压缩 PNG 图片的工具,它可以将 PNG 图片转换为更高效的 8 位颜色格式,同时保持较好的视觉效果。安装命令如下:

sudo apt install pngquant

使用 pngquant 压缩 PNG 图片

pngquant 的使用方式也很直观。例如,将 example.png 压缩并输出为 example_compressed.png,可以使用以下命令:

pngquant 256 example1.png -o example1_compressed.png

这里的 256 表示将 PNG 图片转换为 256 色的 8 位颜色格式,-o 选项指定输出文件名。例如:

hxstrive@g450:~/workspace$ pngquant 256 example1.png -o example1_compressed.png
hxstrive@g450:~/workspace$ ll
total 4100
drwxrwxr-x  3 hxstrive hxstrive    4096 Apr 18 03:18 ./
drwxr-x--- 12 hxstrive hxstrive    4096 Apr 18 02:45 ../
drwxrwxr-x  2 hxstrive hxstrive    4096 Apr 18 03:11 bak/
-rw-rw-r--  1 hxstrive hxstrive  607918 Apr 18 03:18 example1_compressed.png
-rw-r--r--  1 hxstrive hxstrive 1191410 Apr 18 03:15 example1.png
-rw-r--r--  1 hxstrive hxstrive 1191410 Apr 18 03:15 example2.png
-rw-r--r--  1 hxstrive hxstrive 1191410 Apr 18 03:15 example3.png

批量处理 PNG 图片时,可以使用如下命令:

for file in *.png; do pngquant 256 "$file" -o "${file%png}compressed.png"; done

该命令会对当前目录下所有的 PNG 图片进行压缩处理。例如:

hxstrive@g450:~/workspace$ for file in *.png; do pngquant 256 "$file" -o "${file%png}compressed.png"; done
hxstrive@g450:~/workspace$ ll
total 5292
drwxrwxr-x  3 hxstrive hxstrive    4096 Apr 18 03:18 ./
drwxr-x--- 12 hxstrive hxstrive    4096 Apr 18 02:45 ../
drwxrwxr-x  2 hxstrive hxstrive    4096 Apr 18 03:11 bak/
-rw-rw-r--  1 hxstrive hxstrive  607918 Apr 18 03:18 example1.compressed.png
-rw-r--r--  1 hxstrive hxstrive 1191410 Apr 18 03:15 example1.png
-rw-rw-r--  1 hxstrive hxstrive  607918 Apr 18 03:18 example2.compressed.png
-rw-r--r--  1 hxstrive hxstrive 1191410 Apr 18 03:15 example2.png
-rw-rw-r--  1 hxstrive hxstrive  607918 Apr 18 03:18 example3.compressed.png
-rw-r--r--  1 hxstrive hxstrive 1191410 Apr 18 03:15 example3.png

通过以上介绍,相信你已经掌握了在 Ubuntu22 系统中使用命令行压缩图片的方法。无论是 ImageMagick 的多功能处理,还是 jpegoptim、pngquant 的针对性优化,都能满足你在不同场景下的图片压缩需求。下次遇到图片压缩任务时,不妨尝试使用这些命令行工具,体验高效处理图片的乐趣吧!

📢重要提示:在使用上述工具时,推荐将图片先备份,避免操作失误导致图片损坏。

不是每一次努力都有收获,但是,每一次收获都必须努力。
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号