該詳細的指南說明了什麼是Exiftool ,如何在Linux上安裝Exiftool以及如何使用它使用實際示例來管理圖像元數據信息。
最後,我們將簡要了解兩種類型的元數據標準( EXIF和XMP)之間的區別。甚至還有一張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
寫元數據
在圖像文件中添加或修改元數據:
Exiftool -Artist =“您的名字” image.jpg
此命令將Artist標籤設置為Image.jpg中的“您的名字”。
例子:
將藝術家標籤設置/更改為ostechnix.png中的“ Senthil Kumar”:
讓我們通過閱讀文件的元數據來驗證作者的名稱是否確實更新了:
正如您在上面的輸出中看到的那樣,添加了藝術家名稱。
注意:編寫信息時,通過將“ _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標籤。
例子:
基於元數據重命名文件
您可以使用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 id="遞歸重命名">遞歸重命名</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 id="處理重複的文件名">處理重複的文件名</h3> <p>格式的%% -C一部分確保如果有重複的文件名,則將附加複制號以避免覆蓋文件。例如,如果兩個文件具有相同的日期和時間,則將命名為2024-07-13_12-23-21-1.jpg和2024-07-13_12-23-23-21-2.jpg。</p> <h3 id="重命名特定文件類型">重命名特定文件類型</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 id="提取縮略圖圖像">提取縮略圖圖像</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的元數據並顯示任何警告或錯誤。
將所有元數據提取到文本文件
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緯度和經度。
提取所有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 id="地理標記"> 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元數據之間的差異
EXIF和XMP都是數字成像中使用的元數據標準,但它們具有不同的目的並且具有不同的特徵。
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中文網其他相關文章!

Linux和Windows在虛擬化支持上的主要區別在於:1)Linux提供KVM和Xen,性能和靈活性突出,適合高定制環境;2)Windows通過Hyper-V支持虛擬化,界面友好,與Microsoft生態系統緊密集成,適合依賴Microsoft軟件的企業。

Linux系統管理員的主要任務包括系統監控與性能調優、用戶管理、軟件包管理、安全管理與備份、故障排查與解決、性能優化與最佳實踐。 1.使用top、htop等工具監控系統性能,並進行調優。 2.通過useradd等命令管理用戶賬戶和權限。 3.利用apt、yum管理軟件包,確保系統更新和安全。 4.配置防火牆、監控日誌、進行數據備份以確保系統安全。 5.通過日誌分析和工具使用進行故障排查和解決。 6.優化內核參數和應用配置,遵循最佳實踐提升系統性能和穩定性。

學習Linux並不難。 1.Linux是一個開源操作系統,基於Unix,廣泛應用於服務器、嵌入式系統和個人電腦。 2.理解文件系統和權限管理是關鍵,文件系統是層次化的,權限包括讀、寫和執行。 3.包管理系統如apt和dnf使得軟件管理方便。 4.進程管理通過ps和top命令實現。 5.從基本命令如mkdir、cd、touch和nano開始學習,再嘗試高級用法如shell腳本和文本處理。 6.常見錯誤如權限問題可以通過sudo和chmod解決。 7.性能優化建議包括使用htop監控資源、清理不必要文件和使用sy

Linux管理員的平均年薪在美國為75,000至95,000美元,歐洲為40,000至60,000歐元。提升薪資可以通過:1.持續學習新技術,如雲計算和容器技術;2.積累項目經驗並建立Portfolio;3.建立職業網絡,拓展人脈。

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

互聯網運行不依賴單一操作系統,但Linux在其中扮演重要角色。 Linux廣泛應用於服務器和網絡設備,因其穩定性、安全性和可擴展性受歡迎。

Linux操作系統的核心是其命令行界面,通過命令行可以執行各種操作。 1.文件和目錄操作使用ls、cd、mkdir、rm等命令管理文件和目錄。 2.用戶和權限管理通過useradd、passwd、chmod等命令確保系統安全和資源分配。 3.進程管理使用ps、kill等命令監控和控制系統進程。 4.網絡操作包括ping、ifconfig、ssh等命令配置和管理網絡連接。 5.系統監控和維護通過top、df、du等命令了解系統運行狀態和資源使用情況。

介紹 Linux是一個強大的操作系統,由於其靈活性和效率,開發人員,系統管理員和電源用戶都喜歡。但是,經常使用長而復雜的命令可能是乏味的


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver CS6
視覺化網頁開發工具