从命令行管理照片上的 Exif 数据 [Linux]

ImageMagick 是一套适用于 Linux 的工具,可让您从命令行操作图像。 这 ”convert》命令允许您执行图像转换和图像变换; 但是,套件中还包含其他几个工具,其中一些允许您使用 JPEG 照片中的 Exif 数据。

你的 Linux 发行版可能已经安装了 ImageMagick,但如果没有,你可以在 Ubuntu、Debian 和 Raspbian 上使用:

在基于 RPM 的发行版上,您可以使用:

可交换图像文件格式 (Exif) 数据通常插入数码相机和智能手机制作的 JPEG 图像中。 这些数据包括有关照片的信息,包括拍摄日期和时间、相机使用的设置,甚至照片拍摄地点的 GPS 位置。

要查看有关图像的一些基本信息,请使用 ImageMagick 的“identify“ 命令:

不幸的是,生成的输出除了文件名、它的尺寸和文件大小之外不会告诉你太多。

要查看更多信息,请使用“-verbose“ 旗帜:

现在我们遇到了相反的问题; 输出太多了!

您可以使用 ”grep” 仅查找 Exif 数据:

您可以通过将单个 Exif 字段指定为“grep“ 搜索:

输出将只是拍摄照片的相机的品牌,例如佳能。

您可以使用“|” grep 中的运算符。 因此,要搜索日期、相机品牌、相机型号、文件大小、百万像素数以及有关闪光灯使用的信息:

识别详细和 grep

您可能想知道“exif:Flash:16”是什么意思。 该字段可以有几个不同的值,由一组标志组成,其中数字中的不同位指示闪存的状态。 位 0 表示闪光状态(1 表示已闪光),位 1 和位 2 表示是否检测到任何频闪返回光,位 3 和 4 表示闪光模式,位 5 表示是否存在闪光功能,位 6 表示“红眼”模式。 二进制形式的 16 是 001000,这意味着闪光灯没有触发 + 闪光灯返回检测不可用 + 闪光灯被抑制。 或者换句话说,闪光灯没有闪光,也不能闪光,因为它被关闭/关闭了。

完整的值列表如下:

隐私问题

尽管将相机的品牌和型号嵌入到照片中可能不是什么隐私问题,但拥有照片拍摄地点的 GPS 位置肯定可以。

2012 年底,以创办 McAfee 反病毒公司而闻名的 John McAfee 在伯利兹的邻居被谋杀后继续逃亡。 他逃到危地马拉,但接受了为 Vice 工作的记者的独家采访。 不幸的是,其中一名记者使用智能手机拍摄了迈克菲的照片,该智能手机将 GPS 信息存储在 Exif 数据中。 当照片随后被上传到互联网时,他的位置被泄露,他后来被捕。 此外,爱德华·斯诺登最近泄露的文件显示,美国国家安全局分析照片以提取其 Exif 数据。

因此,有时从 JPEG 中删除所有 Exif 数据很有用。 这可以使用 ImageMagick 的“mogrify“ 工具。 要删除数据,请使用:

现在运行“identify -verbose” 对图像,您会注意到所有的 Exif 数据都已被删除。

如果您对命令有任何疑问,请在下面的评论中提问。

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅