首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux压缩图片脚本

基础概念

Linux压缩图片脚本通常是指使用Shell脚本结合图像处理工具(如ImageMagick、OptiPNG、Jpegoptim等)来批量压缩图片文件。这种脚本可以帮助用户在Linux环境下高效地管理和优化图片资源,减少图片文件的大小,从而节省存储空间并加快网页加载速度。

相关优势

  1. 批量处理:脚本可以一次性处理多个图片文件,提高工作效率。
  2. 自动化:通过脚本可以自动化执行压缩任务,减少人工操作。
  3. 灵活性:可以根据需要调整压缩参数,如质量、分辨率等。
  4. 节省资源:压缩后的图片文件更小,可以节省存储空间并加快网络传输速度。

类型

  1. Shell脚本:使用Bash或其他Shell解释器编写的脚本。
  2. Python脚本:使用Python语言编写的脚本,通常结合PIL(Pillow)库进行图像处理。
  3. 其他脚本语言:如Perl、Ruby等,也可以用于编写图片压缩脚本。

应用场景

  1. 网站优化:压缩网页中的图片,提高页面加载速度。
  2. 存储管理:对大量图片进行压缩,节省存储空间。
  3. 备份和归档:在备份或归档过程中,压缩图片以减少数据量。

示例代码(Shell脚本)

以下是一个简单的Shell脚本示例,使用ImageMagick工具压缩图片:

代码语言:txt
复制
#!/bin/bash

# 定义输入和输出目录
INPUT_DIR="/path/to/input/directory"
OUTPUT_DIR="/path/to/output/directory"

# 确保输出目录存在
mkdir -p $OUTPUT_DIR

# 遍历输入目录中的所有图片文件
for file in $INPUT_DIR/*.{jpg,png,gif}
do
  # 获取文件名和扩展名
  filename=$(basename "$file")
  extension="${filename##*.}"
  filename="${filename%.*}"

  # 使用ImageMagick压缩图片并保存到输出目录
  convert "$file" -quality 85 "$OUTPUT_DIR/$filename.$extension"
done

echo "图片压缩完成!"

参考链接

常见问题及解决方法

  1. ImageMagick未安装
    • 解决方法:在终端中运行sudo apt-get install imagemagick(Debian/Ubuntu系统)或sudo yum install ImageMagick(CentOS/RHEL系统)进行安装。
  • 脚本执行权限问题
    • 解决方法:在终端中运行chmod +x script_name.sh赋予脚本执行权限。
  • 图片格式不支持
    • 解决方法:确保输入目录中只包含支持的图片格式(如jpg、png、gif),或者在脚本中添加对其他格式的支持。

通过以上信息,您应该能够理解Linux压缩图片脚本的基础概念、优势、类型、应用场景,并能够编写和运行一个简单的Shell脚本来压缩图片。如果遇到具体问题,可以根据错误信息进行排查和解决。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux环境下,使用Shell脚本自动批量压缩图片

在文章《CentOS系统下多种图片压缩方案》中xiaoz介绍过OptiPNG和jpegoptim工具来对图片进行压缩,并且这两个工具都支持无损压缩,于是xiaoz编写了一个shell脚本来调用OptiPNG...、jpegoptim工具自动完成批量压缩图片。...为列,其它Linux系统可自行搜索安装。...,压缩速度取决于压缩等级和你服务配置 最后 脚本默认查找60分钟以内曾被修改过的图片文件(再加上定时任务1小时执行一次,这样就不会去压缩重复的图片),并且大于100kb的图片才会进行压缩,您也可以下载脚本后对这些设定自行做出修改...此方案适用于图片存放在Linux服务器环境下。 脚本源码:https://github.com/helloxz/shell/blob/master/img_compress.sh

2.1K10

TinyPNG批量压缩图片Python脚本使用教程

前言 TinyPNG是一个免费的在线批量压缩图片服务,但Web端有单次20张和单个文件5M的限制.同时TinyPNG官方提供了API,API限制每月500张,完全满足个人使用.本文将介绍使用Python...脚本来批量压缩图片....推荐使用场景 大部分博主们都苦于文章中的图片过大,导致网站访问速度过慢,或者浪费存储的空间和CDN的流量.我们可以直接在服务器上的图片文件夹内运行此脚本来批量压缩. ---- 安装流程 Python环境...Linux的Python环境搭建请自行解决,macOS已自带Python环境....://tinypng.com/developers 下载tinypng.py脚本 下载脚本-右键>另存为 编辑tinypng.py文件,填入API key并保存 运行使用 把tinypng.py移动到需要压缩图片的文件夹内

1.2K30
  • 图片压缩神器TinyPNG压缩JPGPNG图片

    在很多时候我们都会使用到PNG格式图片,而PNG图片由于其是一种无损的图片格式,它的文件会比较大,为了节约流量、提高加载速度,我们需要对欲上传的图片进行压缩。...兜兜转转一圈,我使用最多的图片压缩工具仍然是 TinyPNG,这个在线服务压缩率高、画质损失小,方便了我为文章配图。 ? TinyPNG检索密钥后,可以立即开始缩小图像。...TinyPNG4Mac 不仅仅是方便,还不受网页版的尺寸限制,可以压缩超过 5M 的图片。至于网页版的超高压缩率与微小画质损耗,也原原本本继承了过来。...的图片压缩数量,你就说屌不屌吧。...TinyClient是一个超强压缩图片的小工具,压缩率可以达到50%以上,压缩质量接近无损。是一个基于Electron和Tinypng的图片压缩客户端工具。

    5.9K20

    Nginx网络压缩 CSS压缩 图片压缩 JSON压缩

    一、序言 使用Nginx作为web应用服务时,会代理如下常见文件:js、css、JSON、图片等,本文提供基于Nginx内置的压缩技术,提供网络请求响应速度的解决方案。...二、网络压缩 此部分所有的压缩内容在浏览器端都会还原,特别需要指出的是图片,图片在网络间是压缩状态传输的,到达浏览器后是会被还原的。...能够动态实现常见格式图片的压缩与裁剪,动态减小网络传输的文件大小。...图片压缩分为两类:一是等比压缩;二是固定宽高压缩。根据应用场景的不同也分为两类:一是固定参数;二是动态参数。 此部分图片压缩后到达浏览器不会被还原。...(一)等比压缩 使用关键词resize实现等比压缩,指定宽度或者高度即可在原尺寸图片的基础上等比率压缩图片。如果同时指定宽度和高度,只有一个参数生效。

    5.3K41

    图片压缩原理

    前言 说起图片压缩,大家想到的或者平时用到的很多工具都可以实现,例如,客户端类的有图片压缩工具 PPDuck3, JS 实现类的有插件 compression.js ,亦或是在线处理类的 OSS 上传,...文件上传后,在访问文件时中也有图片的压缩配置选项,不过,能不能自己撸一套 JS 实现的图片压缩代码呢?...压缩思路 涉及到 JS 的图片压缩,我的想法是需要用到 Canvas 的绘图能力,通过调整图片的分辨率或者绘图质量来达到图片压缩的效果,实现思路如下: 获取上传 Input 中的图片对象 File 将图片转换成...base64 格式 base64 编码的图片通过 Canvas 转换压缩,这里会用到的 Canvas 的 drawImage 以及 toDataURL 这两个 Api,一个调节图片的分辨率的,一个是调节图片压缩质量并且输出的...,后续会有详细介绍 转换后的图片生成对应的新图片,然后输出 优缺点介绍 不过 Canvas 压缩的方式也有着自己的优缺点: 优点:实现简单,参数可以配置化,自定义图片的尺寸,指定区域裁剪等等。

    4.7K31

    java 图片压缩

    使用开源工具:thumbnailator 从jpg、jpeg、png(3.44MB)压缩到440kb也非常清晰,可自动设置压缩程度(0-1),目前压缩成为jpg的比较理想,压缩后为png并不能减少多少...,可能是由于png是属于无损压缩 1、截止2022-5-18最新版本为0.4.17 使用方便 size(width,height):图片宽高比。...forceSize:压缩至指定图片尺寸(例如:横400高300) scale:指定图片的大小,值在0到1之间,1f就是原图大小,0.5就是原图的一半大小,这里的大小是指图片的长宽。...遇到的问题 可能会出现OOM内存溢出的现象 ,需要调整-Xss大小 java启动命令nohup java -jar -Xmx6000m XXX.jar >/dev/null 2>&1 /** * 压缩图片...log.error("关闭输出流失败{}", e.getMessage()); } } catch (IOException e) { log.error("压缩图片处理失败

    10.5K11

    JS 图片压缩

    前言 说起图片压缩,大家想到的或者平时用到的很多工具都可以实现,例如,客户端类的有图片压缩工具 PPDuck3, JS 实现类的有插件 compression.js ,亦或是在线处理类的 OSS 上传,...文件上传后,在访问文件时中也有图片的压缩配置选项,不过,能不能自己撸一套 JS 实现的图片压缩代码呢?...压缩思路 涉及到 JS 的图片压缩,我的想法是需要用到 Canvas 的绘图能力,通过调整图片的分辨率或者绘图质量来达到图片压缩的效果,实现思路如下: 获取上传 Input 中的图片对象 File 将图片转换成...base64 格式 base64 编码的图片通过 Canvas 转换压缩,这里会用到的 Canvas 的 drawImage 以及 toDataURL 这两个 Api,一个调节图片的分辨率的,一个是调节图片压缩质量并且输出的...,后续会有详细介绍 转换后的图片生成对应的新图片,然后输出 优缺点介绍 不过 Canvas 压缩的方式也有着自己的优缺点: 优点:实现简单,参数可以配置化,自定义图片的尺寸,指定区域裁剪等等。

    25.8K21

    【Android 内存优化】图片文件压缩 ( Android 原生 API 提供的图片压缩功能能 | 图片质量压缩 | 图片尺寸压缩 )

    文章目录 一、 图片压缩 二、 图片文件压缩类型 三、 Android 原生 API 提供的质量压缩 四、 Android 原生 API 提供的尺寸压缩 一、 图片压缩 ---- 图片压缩 : ① 文件压缩...: 图片的文件压缩 , 一张图片可以经过压缩 , 占用更少的磁盘或网络空间 ; ② 文件压缩应用场景 : 网络传输图片 : 上传图片至服务器 , 为了 节省占用的带宽资源 , 将图片文件进行压缩 ;...保存图片 : 保存图片到设备的 SD 卡 , 为了 节省磁盘资源 , 将图片文件进行压缩 ; ③ 内存压缩 : 与文件压缩相对应的是内存压缩 , 在 内存中如何使用更少的内存显示出想要显示的图片 ; 在之后的博客中会详细介绍...; 二、 图片文件压缩类型 ---- 图片文件压缩类型 : ① 质量压缩 : 压缩清晰度 : 将图片的清晰度降低 , 一些画面的细节被模糊掉了 , 这些细节尽量不要让肉眼观察出来 ; 有损压缩 : 压缩后有信息损失..., 0-100 ; 0 压缩到极限最小 , 100 压缩时最高质量 , PNG 图片是无损图片格式 , 其质量不能被降低 , 会忽略该参数 ; OutputStream stream 参数 : 写出被压缩图片的输出流

    4.3K20

    Android-图片压缩-2行搞定图片压缩【2019】

    图片压缩的方法有很多,这两天向同学学了一种方法,刚觉非常行之有效,与大家分享。...---- 图片压缩的作用: 当我们上传图片到数据库时,如果是头像图片,那么在客户端显示出来一般是缩略图,这时大图是没有用的,又浪费加载时间 ---- 图片压缩的方法 /* 压缩路径下的文件 */ private...; } return pic; } ---- 使用解析 bitmap=Bitmap.createScaledBitmap(bitmap, 400, 400, false); 这段代码将图片大小压缩到...newBitmap = BitmapFactory.decodeStream(new ByteArrayInputStream(baos.toByteArray()), null, null); 这段将图片质量减少到原来的一半...---- 最后返回的File 为图片在内存中的暂存地址,自动释放,不用手动删除

    1.7K10

    Picdiet 在线图片压缩 极速压缩 80%图片质量不变

    随着网站发布图片越来越多,图片压缩优化而不失真成了一个很重要的事情。前面介绍过 tinypng 和 Optimizilla 这两种在线图片压缩网站,今天再来说一个Picdiet 在线图片压缩。...官方号称其独特且强悍的 JavaScript 算法,能极速压缩 80%的图片大小,而不损害其质量。让我们来试试吧。...相关文章:Optimizilla 在线图片压缩优化 自由调整图片压缩比例 TinyPNG 和 WordPress 图片压缩 Picdiet 的优点是无图像尺寸限制、无图像数量限制、无文件大小限制。...3、从下面可以看到图片压缩前后的效果对比,中间的滚动条可以跟随鼠标滑动,一个蛮有意思的互动响应。压缩前 2.47M,压缩后 664K,压缩比 74%也是蛮高了。而通过图片效果也看不出质量有明显下降。...,压缩比例也是自动调节的,你如果用过另外两个图片压缩网站有什么心得体会,希望能分享出来大家知道。

    4K10

    图片资源压缩指南

    图片资源压缩指南 在p站等图片网站下载的原图作为网站背景文件太大,动辄十几mb,加载很慢 先本地图片编辑,将图片尺寸缩小(一般1080p~2k大小作为背景就很够用了),实现第一步减小体积 使用图片压缩网站或者软件进行进一步压缩...,这里有两个网站 压缩图片分为有损压缩和无损压缩。...压缩程度高,支持转png为jpg或webp,进一步减少图片大小 2....软件支持一次处理多张图片,无上限,处理完成支持直接批量覆盖原文件或重命名缺点单次仅能上传20张图片,每张限制大小为5MB,无法处理更大图片。...PNG转其他格式为不可逆操作(指覆盖保存后),且可能反而会增加图片大小。个人比较推荐无损压缩的网站

    40710

    批量图片压缩 & 替换

    图片批量压缩 so,这次我终于受不了,我要找批量压缩的,还真给我搜到了图片批量压缩脚本(Python),这种使用方式GitHub上已经写得很清楚了,每月可以500张批量压缩,然后有一个输出文件夹: 使用这个脚本的时候...if __name__ == "__main__": run() 图片批量替换 Yeah,使用了这个脚本之后,图片可以批量压缩了,但是压缩之后的图片是生成在一个独立文件夹,我需要批量替换,but...so,这是你逼我的,开动脑壳,我就想能不能做到我在读取图片压缩的之后直接替换;又或者,写一个单独的批量替换的脚本,因为大的目录确定,压缩前后图片名字没有变化,这么做应该可行,说干就干 使用的时候,把Python...小样,这怎么可能难倒机智的我, 压缩脚本的输出目录是替换脚本的源目录,压缩脚本的源目录是替换脚本的输出目录 所以改一下压缩脚本的实现,读取目录改成是固定的,再改一下压缩脚本的输出目录,注意跟读取目录不要再是读取的子目录...,而批量压缩脚本每月最多执行500张,而且我读取图片又不固定,所以没有办法一次性压缩。

    2.6K41

    图片压缩神器ffmpeg

    详见教程:视频高清低损压缩命令行实现方案推荐 关键是超级方便,这个 ffmpeg 命令仅仅是需要一个 -i 的参数指定输入的高质量图片,就可以输出一个高清但是文件至少缩小90%大小的图片!...也仅仅是说单独的每个命令都是可以运行,但是组合成为了脚本就会出现部分失败! 压缩效果如下: 319M ./压缩版高清 5.6G ..../底片 我看了看,压缩前后基本上没有肉眼可见的差别,轻轻松松就达到了20倍的压缩比例! 如果你看不懂上面的代码,说明你可能是需要学习Linux基础哦!...第3阶段:元字符,通配符及shell中的各种扩展,从此linux操作不再神秘! 第4阶段:高级目录管理:软硬链接,绝对路径和相对路径,环境变量。 第5阶段:任务提交及批处理,脚本编写解放你的双手。...第6阶段:软件安装及conda管理,让linux系统实用性放飞自我。 参考:《生信分析人员如何系统入门Linux(2019更新版)》 ? 点击下面的阅读原文,直达开始学习吧!

    2.5K30
    领券