首頁 >系統教程 >Linux >如何使用Linux中的Exiftool管理圖像元數據

如何使用Linux中的Exiftool管理圖像元數據

William Shakespeare
William Shakespeare原創
2025-03-15 09:45:10965瀏覽

該詳細的指南說明了什麼是Exiftool ,如何在Linux上安裝Exiftool以及如何使用它使用實際示例來管理圖像元數據信息。

最後,我們將簡要了解兩種類型的元數據標準( EXIFXMP)之間的區別。甚至還有一張Exiftool備忘單,可以幫助您記住命令!

目錄

什麼是Exiftool?

菲爾·哈維(Phil Harvey)開發的Exiftool是一個強大的命令行應用程序和Perl庫,旨在以各種文件格式管理元數據

使用Exiftool,我們可以管理嵌入在各種數字文件中的隱藏詳細信息(IE元數據)。這些細節可以包括:

  • 拍攝照片的日期和時間,
  • 使用的相機設置,
  • 位置信息(GPS坐標),
  • 作者信息,
  • 對文件進行的編輯,
  • 還有很多。

Exiftool在不同平台(Linux,MacOS和Windows)上工作,有兩種口味:

  • PERL庫:這使程序員可以在其應用程序中集成Exiftool功能。
  • 命令行應用程序:這是一個基於文本的工具,供用戶直接與Exiftool交互。

如果您每天都在處理圖像,視頻,音頻文件或PDF,我可以保證Exiftool可能是您的最佳伴侶!

注意EXIF代表更改法師格式。

Exiftool的主要特徵

Exiftool以其廣泛的功能而聞名,可滿足各種元數據管理需求:

  • 支持多種元數據格式: Exiftool可以處理許多元數據格式,例如EXIF,GPS,IPTC,XMP,JFIF,JFIF,GEOTIFF,ICC配置文件,Photoshop IRB,FlashPix,AFCP,AFCP,ID3等。
  • 寬文件格式兼容性:它可以與許多文件類型一起使用,包括JPEG,PNG,TIFF,RAW,MP4,MOV和AVI。
  • 獨立於平台的: Exiftool可用於Windows,MacOS和基於UNIX的系統。
  • 可自定義的輸出:它提供多個輸出格式化選項,包括選項卡 - 刪除,HTML,XML和JSON。
  • 多語言支持: Exiftool提供各種語言的輸出,包括英語,法語,德語,日語等。

在Linux中安裝Exiftool

Exiftool可以通過幾種方式安裝在Linux上。

在Debian/Ubuntu安裝Exiftool

Exiftool在流行Linux操作系統的默認存儲庫中可用。

對於Debian,Ubuntu和其他基於Debian的發行版,您可以使用APT軟件包管理器安裝Exiftool:

 sudo apt更新
sudo apt安裝exiftool

這將安裝Exiftool及其依賴關係。

在Fedora中安裝Exiftool

對於Fedora,您可以使用DNF軟件包管理器:

 sudo dnf安裝perl-image-exiftool

安裝exiftool f rom源

如果您希望從源安裝Exiftool,請按照以下步驟:

1。下載最新版本

在撰寫本指南時,Exiftool的最新版本為12.89 。讓我們使用命令下載它:

 WGET https://exiftool.org/image-exiftool-12.89.tar.gz

2。提取下載的文件

 tar xvf image-exiftool-12.89.tar.gz

3。導航到提取的目錄

 CD Image-Exiftool-122.89

4。安裝Exiftool

確保已安裝了開發工具。然後運行以下命令一個:

 perl makefile.pl
製作
進行測試
Sudo進行安裝

使用git安裝Exiftool

您也可以克隆Exiftool存儲庫並安裝它:

1。克隆存儲庫

 git克隆https://github.com/exiftool/exiftool.git

2。導航到克隆目錄

 CD Exiftool

3。運行Exiftool

 ./ exiftool/path/to/image

這些方法應幫助您在Linux系統上啟動並運行。

如何使用Exiftool來管理Linux中的圖像元數據

以下是一些基本命令,以說明如何使用Exiftool:

閱讀元數據

從圖像文件讀取元數據:

 Exiftool Image.jpg

此命令顯示與image.jpg關聯的所有元數據。

例子

我將顯示名為ostechnix.png的圖像文件的元數據。

 Exiftool ostechnix.png

樣本輸出

 Exiftool版本編號:12.16
文件名:ostechnix.png
目錄:。
文件大小:6.4 KIB
文件修改日期/時間:2020:08:22 15:21:00 05:30
文件訪問日期/時間:2024:07:22 17:52:28 05:30
文件Inode更改日期/時間:2024:07:11 13:44:03 05:30
文件權限:rwxrwxrwx
文件類型:PNG
文件類型擴展名:PNG
MIME類型:圖像/PNG
圖像寬度:267
圖像高度:267
位深度:8
顏色類型:帶alpha的RGB
壓縮:放氣/膨脹
過濾器:自適應
交叉:不隔離
單元x的像素:11811
單位y的像素:11811
像素單元:儀表
圖像尺寸:267x267
百萬像素:0.071

如何使用Linux中的Exiftool管理圖像元數據

寫元數據

在圖像文件中添加或修改元數據:

 Exiftool -Artist =“您的名字” image.jpg

此命令將Artist標籤設置為Image.jpg中的“您的名字”。

例子

將藝術家標籤設置/更改為ostechnix.png中的“ Senthil Kumar”:

如何使用Linux中的Exiftool管理圖像元數據

讓我們通過閱讀文件的元數據來驗證作者的名稱是否確實更新了:

如何使用Linux中的Exiftool管理圖像元數據

正如您在上面的輸出中看到的那樣,添加了藝術家名稱。

注意:編寫信息時,通過將“ _original”添加到文件名中來保存原始文件。您必須保留原件的副本,或在擦除原件之前徹底驗證新文件。

複製元數據

將元數據從一個文件複製到另一個文件:

 exiftool -tagsfromfile source.jpg target.jpg

此命令將所有元數據標籤從source.jpg複製到target.jpg。

刪除特定的元數據標籤

刪除特定標籤:

 exiftool -tagname =文件名

例如,從image.jpg中刪除藝術家標籤:

 Exiftool -Artist = Image.jpg

刪除所有元數據

要從文件中刪除所有元數據:

 Exiftool -all = image.jpg

此命令從image.jpg中刪除所有元數據。

批處理處理

批處理處理使您可以同時將元數據更改應用於多個文件。

一次編輯元數據,以一次為多個文件:

 Exiftool -Artist =“ John Doe” *.jpg

此命令為目錄中的所有JPEG文件設置Artist標籤。

遞歸批處理處理

要處理子目錄中的文件,請使用-r選項:

 Exiftool -r -Artist =“ John Doe”/path/to/directory

此命令為/path/to/to/Directory及其子目錄中的所有JPEG文件設置Artist標籤。

查看可用標籤

查看所有可以編輯的標籤的列表:

 Exiftool -list

此命令列出了Exiftool可以讀寫的所有標籤。

提取特定的元數據標籤

exiftool -t -tricedate -ofture -shutterspeed -iso image.jpg

此命令從image.jpg提取創建的,孔徑,shutterspeed和ISO標籤。

例子

如何使用Linux中的Exiftool管理圖像元數據

基於元數據重命名文件

您可以使用Exiftool使用簡單命令來重命名文件的“ tate Date”元數據:

 exiftool -d“%y-%m-%d_%h-%m-%s %%  -  c。%% e”  -  fileName <datetimeriginal image.jpg><p>此命令使用格式yyyy-mm-dd_hh-mm-ss基於其dateTimeOriginal元數據重命名image.jpg。</p>
<h3>遞歸重命名</h3>
<p>如果要根據元數據遞歸重命名特定目錄中的所有文件,則可以使用-r標誌如下:</p>
<pre class="brush:php;toolbar:false"> exiftool -r -d“%y-%m-%d_%h-%m-%s %%  -  c。%% e”  -  fileName <datetimeriginal><p>此命令將遞歸重命名指定目錄及其子目錄中的所有文件。</p>
<h3>處理重複的文件名</h3>
<p>格式的%% -C一部分確保如果有重複的文件名,則將附加複制號以避免覆蓋文件。例如,如果兩個文件具有相同的日期和時間,則將命名為2024-07-13_12-23-21-1.jpg和2024-07-13_12-23-23-21-2.jpg。</p>
<h3>重命名特定文件類型</h3>
<p>要重命名特定文件類型,例如JPEG文件,您可以使用-ext選項:</p>
<pre class="brush:php;toolbar:false"> Exiftool -r -R-ext Jpg -d“%y-%m-%d_%h-%m-%s %%  -  c。%% e”  -  filename <datetimeriginal><p>此命令將僅在指定目錄及其子目錄中重命名JPEG文件。</p>
<h3>提取縮略圖圖像</h3>
<pre class="brush:php;toolbar:false">Exiftool -b -B -Thumbnailimage image.jpg> thumbnail.jpg

此命令從image.jpg提取縮略圖圖像,並將其保存為thumbnail.jpg。

地理圖像

exiftool -geotag track.log image.jpg

此命令geotags image.jpg使用track.log的GPS數據。

批處理

如果您有帶有GPS數據的CSV文件,則可以批處理圖像圖:

 exiftool -geotag gps_data.csv/path/to/fimage

此命令使用來自gps_data.csv的GPS數據中的/路徑/到/圖像中的所有圖像。

驗證元數據

Exiftool -Validate -Warning -Error Image.jpg

此命令驗證了image.jpg的元數據並顯示任何警告或錯誤。

如何使用Linux中的Exiftool管理圖像元數據

將所有元數據提取到文本文件

exiftool -a -g1 -s image.jpg> metadata.txt

此命令從image.jpg提取所有元數據,並將其保存到getadata.txt。

從目錄中的所有文件中提取元數據

Exiftool -r -W .txt -common圖片

此命令遞歸從圖片目錄中的所有文件中提取常見的元數據,並將輸出寫入具有相同名稱的文本文件,但具有.txt擴展名。

使用Exiftool提取GPS坐標

這是您可以使用Exiftool從圖像中提取GPS坐標的方法。

基本提取

exiftool -gpslatitude -gpslongitude image.jpg

此命令將顯示image.jpg的GPS緯度和經度。

如何使用Linux中的Exiftool管理圖像元數據

提取所有GPS數據

Exiftool -GPS* image.jpg

此命令從Image.jpg提取所有與GPS相關的元數據。

樣本輸出

 GPS Latitude Ref : NorthGPS Longitude Ref : EastGPS Altitude Ref : Above Sea LevelGPS Time Stamp : 13:37:16GPS Date Stamp : 2023:05:18GPS Altitude : 93.9 m Above Sea LevelGPS Date/Time : 2023:05:18 13:37:16ZGPS Latitude : 52 deg 40' 11.85" NGPS Longitude : 13 deg 16' 51.10" EGPS Position : 52 deg 40'11.85“ n,13 deg 16'51.10” e

輸出到文本文件

將GPS坐標保存到文本文件:

 exiftool -gpslatitude -gpslongitude -t image.jpg> gps_coordinates.txt

此命令將image.jpg的gps緯度和經度寫入gps_coordinates.txt。

批次提取

從目錄中的所有圖像中提取GPS坐標並將其保存到文本文件中:

 exiftool -fileName -gpslatitude -gpslongitude -t/path/to/Directory> gps_coordinates.txt

此命令將使用指定目錄中所有圖像的文件名和GPS坐標創建一個選項卡 - 刪除的文件gps_coordinates.txt。

小數度輸出

如果您希望以十進製程度為單位的坐標,請添加-n選項:

 exiftool -gpslatitude -gpslongitude -n image.jpg

樣本輸出

 GPS緯度:52.6699589722222GPS經度:13.280862

該命令以小數度輸出GPS坐標。

Exiftool命令作弊表

1。閱讀元數據

基本閱讀:

 Exiftool Image.jpg

提取特定的元數據標籤:

 exiftool -t -tricedate -ofture -shutterspeed -iso image.jpg

將所有元數據提取到文本文件:

 exiftool -a -g1 -s image.jpg> metadata.txt

從目錄中的所有文件中提取元數據:

 Exiftool -r -W .txt -common圖片

2。寫元數據

添加或修改元數據標籤:

 exiftool -tagname =“新值”文件名

批處理處理(對目錄中的所有文件修改元數據):

 Exiftool -Artist =“ John Doe” *.jpg

遞歸批處理處理:

 Exiftool -r -Artist =“ John Doe”/path/to/directory

3。複製元數據

將元數據從一個文件複製到另一個文件:

 exiftool -tagsfromfile source.jpg target.jpg

將元數據從一個文件複製到多個文件:

 exiftool -tagsfromfile source.jpg -ext jpg/path/to/directory

4。去除元數據

刪除所有元數據:

 Exiftool -all = image.jpg

刪除特定的元數據標籤:

 exiftool -tagname =文件名

5。重命名文件

根據所示日期重命名文件:

 Exiftool -d“%y-%m-%d_%h-%m-%s %%  -  c。%% e”  -  fileName <datetimeriginal><p><strong>遞歸重命名:</strong></p>
<pre class="brush:php;toolbar:false"> exiftool -r -d“%y-%m-%d_%h-%m-%s %%  -  c。%% e”  -  filename <datetimeriginal><p><strong>重命名特定文件類型:</strong></p>
<pre class="brush:php;toolbar:false"> Exiftool -r -R-ext Jpg -d“%y-%m-%d_%h-%m-%s %%  -  c。%% e”  -  filename <datetimeriginal><h3> 6。地理標記</h3>
<p><strong>基本地理標記:</strong></p>
<pre class="brush:php;toolbar:false"> exiftool -geotag track.log image.jpg

批處理:

 exiftool -geotag gps_data.csv/path/to/fimage

7。提取GPS坐標

基本提取:

 exiftool -gpslatitude -gpslongitude image.jpg

提取所有GPS數據:

 Exiftool -GPS* image.jpg

輸出到文本文件:

 exiftool -gpslatitude -gpslongitude -t image.jpg> gps_coordinates.txt

批次提取:

 exiftool -fileName -gpslatitude -gpslongitude -t/path/to/Directory> gps_coordinates.txt

小數點的輸出:

 exiftool -gpslatitude -gpslongitude -n image.jpg

8。列表可用標籤

查看可用標籤:

 Exiftool -list

9。驗證元數據

驗證元數據:

 Exiftool -Validate -Warning -Error Image.jpg

10。提取縮略圖圖像

提取縮略圖:

 Exiftool -b -B -Thumbnailimage image.jpg> thumbnail.jpg

EXIF和XMP元數據之間的差異

EXIFXMP都是數字成像中使用的元數據標準,但它們具有不同的目的並且具有不同的特徵。

Exif元數據

  • 來源:由日本電子工業發展協會(JEIDA)開發,用於數碼相機。
  • 內容:主要包含有關圖像的技術信息,例如相機設置(光圈,快門速度,ISO),拍攝照片的日期和時間,有時甚至是GPS坐標。
  • 格式:二進制格式直接嵌入圖像文件(JPEG,TIFF等)。
  • 用法:由數碼相機和圖像查看/編輯軟件得到廣泛支持。它主要用於存儲與攝像機相關的信息。

XMP元數據

  • 來源:由Adobe Systems開發為元數據的開放標準。
  • 內容:可以存儲廣泛的信息,包括技術,描述性和行政元數據。這包括編輯歷史記錄,關鍵字,作者信息等。
  • 格式:基於XML的格式,使其更加靈活和擴展。 XMP元數據可以嵌入到文件中,也可以存儲在單獨的邊防文件中。
  • 用法:在專業照片編輯軟件(如Adobe Photoshop和Lightroom)中廣泛使用,用於管理和保存不同的文件格式和工作流程的元數據。

關鍵差異

  • 目的: EXIF主要用於特定於攝像機的信息,而XMP更廣泛,可以存儲更廣泛的元數據。
  • 格式: EXIF是二進制的,並嵌入在圖像文件中,而XMP基於XML,可以分別嵌入或存儲。
  • 靈活性: XMP更加靈活,可以輕鬆擴展到包括自定義元數據字段,而EXIF則更加剛性和標準化。

EXIF和XMP元數據對於數字成像的不同方面都很重要。 EXIF對於理解如何捕獲圖像的技術細節很有用,而XMP在整個編輯和發布過程中提供了一種更全面,更靈活的方法來管理和保存元數據。

結論

現在,您了解所有有關Exiftool的信息! Exiftool是一個有力的工具,對於想要在數字文件中理解和管理元數據的任何人。這對於攝影師,攝像師以及任何想保持其數字文件井井有條的人可能特別有用。

資源

  • Exiftool網站

相關閱讀

  • 如何在Linux上查看圖像元數據

以上是如何使用Linux中的Exiftool管理圖像元數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn