JHead: консольная утилита для просмотра
Jhead — компактная программа для просмотра и изменения служебных данных внутри цифровых фотографий. Ее основная область — EXIF-заголовки JPEG-файлов: дата съемки, модель камеры, выдержка, диафрагма, фокусное расстояние, ориентация кадра, встроенная миниатюра, GPS-данные, комментарии JPEG, IPTC и XMP-блоки. В отличие от графических EXIF-редакторов, Jhead работает через командную строку: пользователь не открывает окно с кнопками Open, Save или Apply, а вводит точную команду и получает результат сразу в консоли.
Содержание
- 1 Скачать JHead
- 2 Для чего нужна Jhead
- 3 Общий принцип работы
- 4 Интерфейс программы
- 5 Просмотр EXIF-данных
- 6 Работа с датой и временем съемки
- 7 Переименование фотографий по дате съемки
- 8 Очистка EXIF, IPTC, XMP и других метаданных
- 9 Комментарии JPEG
- 10 Работа со встроенными EXIF-миниатюрами
- 11 Автоповорот JPEG по EXIF Orientation
- 12 Перенос EXIF из оригинала в обработанный JPEG
- 13 Создание минимального EXIF-заголовка
- 14 Фильтрация файлов и выборочная обработка
- 15 Пакетная обработка фотографий
- 15.1 Сценарий 1: привести даты файлов к EXIF
- 15.2 Сценарий 2: исправить часовой пояс
- 15.3 Сценарий 3: синхронизировать две камеры
- 15.4 Сценарий 4: очистить фото перед публикацией
- 15.5 Сценарий 5: вернуть EXIF после обработки
- 15.6 Сценарий 6: сохранить встроенные миниатюры
- 15.7 Сценарий 7: разложить фотографии по годам и месяцам
- 16 Работа с PNG и WebP
- 17 Команда -cmd и внешняя обработка
- 18 Ограничения программы
- 19 История версий Jhead
- 20 Практические инструкции
- 20.1 Проверить EXIF в одном файле
- 20.2 Проверить EXIF во всей папке
- 20.3 Найти снимки с конкретной камеры
- 20.4 Сделать короткую таблицу по всем файлам
- 20.5 Исправить время на один час вперед
- 20.6 Исправить время на 30 минут назад
- 20.7 Исправить год съемки
- 20.8 Задать точную дату одному снимку
- 20.9 Переименовать фотографии по дате
- 20.10 Переименовать с сохранением исходного имени
- 20.11 Разложить по папкам год/месяц
- 20.12 Удалить EXIF
- 20.13 Удалить XMP
- 20.14 Удалить IPTC
- 20.15 Максимально очистить JPEG
- 20.16 Повернуть фото по Orientation
- 20.17 Очистить тег поворота
- 20.18 Извлечь встроенные миниатюры
- 20.19 Удалить встроенные миниатюры
- 20.20 Перенести EXIF из оригиналов
- 21 Частые ошибки при использовании Jhead
- 22 Преимущества Jhead
- 23 Недостатки Jhead
- 24 Сравнение с аналогами
- 25 Когда стоит использовать Jhead
- 26 Когда лучше выбрать другой инструмент
- 27 Шпаргалка команд Jhead
- 28 Итоговая оценка
Скачать JHead
Новейшая версия для Windows и macOS. Удобный редактор с ИИ и профессиональными функциями.
Главная идея Jhead — быстро выполнять конкретные операции с фотографиями: посмотреть EXIF, исправить дату съемки, переименовать снимки по времени создания, удалить лишние метаданные, вытащить встроенную миниатюру, повернуть JPEG по тегу Orientation, перенести EXIF из исходника в отредактированный файл. Это не фотоменеджер, не RAW-конвертер и не универсальный редактор всех метаданных подряд. Jhead ценен именно как быстрый инструмент для тех случаев, когда нужно обработать папку JPEG-файлов без лишнего интерфейса и без ручного кликанья по каждому снимку.
Jhead особенно хорошо ложится в рабочие процессы, где фотографии уже лежат в каталогах, а задача сводится к аккуратной обработке заголовков. Например, после поездки можно синхронизировать время двух камер, затем переименовать файлы по шаблону YYYYMMDD-HHMMSS, а после этого удалить приватные метаданные перед публикацией на сайте. Для такой задачи графический редактор часто избыточен, а Jhead делает все одной-двумя командами.

На скриншоте видно типичную работу Jhead: сначала программа выводит EXIF-информацию по файлу IMG00001.jpg, затем выполняется команда jhead -autorot *.jpg, после чего файл переименовывается через шаблон даты. Это хорошо показывает реальный формат взаимодействия с программой: вся работа идет через команды, аргументы и вывод в терминале.
Для чего нужна Jhead
Jhead нужна там, где требуется не красиво открыть фотографию, а быстро прочитать или изменить служебные данные JPEG-файла. Программа показывает параметры съемки, которые камера записывает в EXIF: производитель и модель камеры, дата и время, разрешение, вспышка, фокусное расстояние, выдержка, диафрагма, ISO, баланс белого, режим экспозамера, GPS-информация. В простом режиме Jhead выводит не все возможные теги, а наиболее полезные параметры в удобочитаемом виде.
Для фотографа это способ быстро проверить, на каких настройках был сделан снимок. Для владельца сайта — инструмент очистки изображений перед публикацией. Для архивирования семейных фото — средство привести имена файлов к хронологическому порядку. Для разработчика или администратора — маленькая консольная утилита, которую легко использовать в скриптах и пакетных обработках.
Типовые задачи Jhead:
просмотр EXIF JPEG без открытия графического редактора;
исправление неправильной даты съемки;
сдвиг времени после поездки в другой часовой пояс;
синхронизация снимков с двух камер;
переименование фотографий по
DateTimeOriginal;перенос EXIF-заголовка из оригинального файла в обработанную копию;
удаление EXIF, XMP, IPTC и комментариев;
очистка JPEG от лишних секций;
извлечение встроенной EXIF-миниатюры;
удаление или пересоздание встроенной миниатюры;
автоповорот JPEG по EXIF Orientation через
jpegtran;фильтрация файлов по модели камеры.
Jhead не пытается заменить ExifTool или полноценный менеджер изображений. Ее сильная сторона — не ширина функций, а прямой доступ к самым частым операциям с JPEG/EXIF. В этом и есть логика программы: команда должна быть короткой, действие — предсказуемым, результат — сразу видимым.
Общий принцип работы
Jhead запускается в терминале по схеме:
jhead [опции] [файлы]Сначала указывается имя программы jhead, затем один или несколько параметров, затем имя файла, список файлов или маска. Без дополнительных параметров Jhead просто читает EXIF и выводит сводку:
jhead photo.jpgДля пакетной обработки используется маска:
jhead *.jpgДля обработки конкретной группы файлов можно указать несколько имен:
jhead DSC_0001.jpg DSC_0002.jpg DSC_0003.jpgВ Windows-версии поддерживаются расширенные шаблоны с рекурсивным обходом через **, например:
jhead C:Photos***.jpgТакой вызов проходит по вложенным папкам и находит JPEG-файлы внутри дерева каталогов. Под Unix-подобными системами расширение масок обычно выполняет сама оболочка, поэтому поведение зависит от shell и настроек globbing.
В Jhead нет проекта, каталога импорта, базы данных, панели предпросмотра и корзины изменений. Команда применяется сразу к указанным файлам. Поэтому перед массовым изменением EXIF или очисткой метаданных правильный порядок такой:
Скопировать папку с фотографиями.
Выполнить команду на 2–3 тестовых файлах.
Проверить результат.
Применить команду к полной папке.
Это особенно важно для команд -de, -purejpg, -ta, -da, -ts, -ds, -n, потому что они меняют структуру файла, дату или имя.
Интерфейс программы
Интерфейс Jhead — это командная строка. У программы нет графических кнопок, выпадающих меню и окон настроек. Вместо этого у нее есть точные параметры:
| Элемент работы | Как выглядит в Jhead | Что делает |
|---|---|---|
| Запуск программы | jhead | вызывает утилиту |
| Файл | photo.jpg | указывает конкретное изображение |
| Маска | *.jpg | выбирает группу JPEG-файлов |
| Опция просмотра | -c, -v, -V, -h | меняет формат вывода |
| Опция очистки | -de, -dx, -di, -dc, -purejpg | удаляет выбранные блоки метаданных |
| Опция даты | -ft, -dsft, -ta, -da, -ts, -ds | управляет временем файла и EXIF |
| Опция переименования | -n%Y%m%d-%H%M%S | переименовывает по дате съемки |
| Опция поворота | -autorot, -norot | работает с EXIF Orientation |
| Опция миниатюр | -dt, -st, -rt, -rgt | удаляет, сохраняет, заменяет или пересоздает миниатюры |
Для пользователя, привыкшего к графическим программам, это выглядит непривычно. Но для пакетной обработки такой интерфейс часто удобнее. Команду можно повторить, вставить в .bat-файл, добавить в shell-скрипт, использовать в автоматизации сайта или фотоархива.
Пример стандартного вывода:
jhead IMG00001.jpgРезультат выглядит примерно так:
File name : IMG00001.jpg
File size : 2119329 bytes
File date : 2013:04:22 20:59:58
Camera make : Canon
Camera model : Canon IXUS 310 HS
Date/Time : 2013:04:22 20:59:58
Resolution : 3000 x 4000
Flash used : Yes (auto, red eye reduction mode)
Focal length : 5.8mm (35mm equivalent: 34mm)
Exposure time: 0.017 s (1/60)
Aperture : f/2.8
ISO equiv. : 200
Whitebalance : Auto
Metering Mode: patternВ таком выводе нет сырого дампа всех тегов. Jhead специально показывает практичные параметры, которые нужны фотографу, вебмастеру или человеку, разбирающему архив снимков. Для глубокого анализа всех тегов лучше подходит ExifTool, но для повседневного просмотра EXIF JPEG Jhead быстрее и проще.
Просмотр EXIF-данных
Самый простой сценарий — открыть терминал в папке с фотографиями и выполнить:
jhead photo.jpgJhead прочитает EXIF-заголовок и выведет основные поля. Обычно в сводке важны следующие строки:
| Поле в выводе Jhead | Что означает |
|---|---|
File name | имя файла |
File size | размер файла |
File date | системная дата изменения файла |
Camera make | производитель камеры |
Camera model | модель камеры |
Date/Time | дата и время съемки из EXIF |
Resolution | размер изображения в пикселях |
Flash used | была ли вспышка |
Focal length | фокусное расстояние |
Exposure time | выдержка |
Aperture | диафрагма |
ISO equiv. | чувствительность ISO |
Whitebalance | баланс белого |
Metering Mode | режим экспозамера |
Для просмотра нескольких файлов:
jhead *.jpgJhead пройдет по всем JPEG-файлам, подходящим под маску, и выведет данные по каждому. Это удобно, когда нужно быстро понять, из каких камер собрана папка, какие снимки были сделаны со вспышкой, где сбилась дата и какие файлы вообще содержат EXIF.
Для более компактного вывода используется параметр -c:
jhead -c *.jpgКраткий режим выводит информацию в одну строку на файл. Такой формат удобен для поиска, фильтрации, копирования в таблицу и последующего анализа. Этот режим ориентирован на grep-поиск и импорт в электронные таблицы: текст разделяется пробелами, а текстовые значения берутся в кавычки.
Для подробного вывода используется -v:
jhead -v photo.jpgОн полезен, когда обычной сводки мало и нужно увидеть больше информации о JPEG/EXIF-структуре. При этом Jhead все равно остается не универсальным просмотрщиком всех возможных метаданных, а прикладным инструментом для EXIF-заголовков цифровых фотографий.
Работа с датой и временем съемки
Одна из сильнейших сторон Jhead — операции с датой. Камера может быть настроена неправильно, батарея может сбросить дату, время может отставать на несколько минут, а после поездки в другой часовой пояс фотографии могут идти вразнобой. Jhead решает такие задачи не вручную по одному файлу, а пакетно.
Установить дату файла по EXIF
Команда -ft устанавливает системную дату изменения файла по дате съемки из EXIF:
jhead -ft *.jpgЭто полезно, когда файловые даты испорчены после копирования, восстановления, пересылки или обработки, но EXIF-дата внутри снимка осталась правильной. После -ft файловый менеджер, XnView MP, ACDSee и другие просмотрщики смогут сортировать снимки по дате файла так, чтобы порядок совпадал со временем съемки.
Установить EXIF-дату по дате файла
Обратная операция выполняется через -dsft:
jhead -dsft *.jpgКоманда переносит системное время файла в EXIF timestamp. Это нужно реже, но бывает полезно после восстановления старого архива, когда дата файла правильная, а EXIF-дата отсутствует или повреждена. Для такой операции EXIF-заголовок должен уже существовать; при необходимости Jhead умеет создать минимальный EXIF через -mkexif, но создание нового EXIF в программе ограничено датой и пустыми полями миниатюры.
Сдвинуть время на час, минуту или секунды
Команда -ta меняет время внутри EXIF на заданный сдвиг. Синтаксис:
jhead -ta+1:00 *.jpgЭта команда добавляет один час. Для уменьшения времени используется минус:
jhead -ta-0:00:23 *.jpgТак можно сдвинуть EXIF-время назад на 23 секунды. Такой сценарий характерен для синхронизации снимков с двух камер: одна камера шла точно, вторая отставала на несколько секунд, и после коррекции оба набора кадров становятся правильно упорядоченными.
Команда -ta меняет все основные поля даты/времени в EXIF, включая DateTimeOriginal и DateTimeDigitized. Это важно: Jhead не оставляет конфликт между разными EXIF-временами, а приводит их к новому значению.
Исправить крупный сдвиг даты
Если камера сбросилась на заводскую дату или пользователь снимал с неправильным годом, удобнее использовать -da. Эта команда задает разницу между правильной и неправильной датой:
jhead -da2005:03:01-2004:03:01 *.jpgЗдесь логика такая: снимки записаны так, будто дата была в 2004 году, но фактически они должны относиться к 2005 году. Jhead вычисляет сдвиг между двумя датами и применяет его к файлам.
Для ситуации, когда дата камеры сбросилась в конкретный день и время, можно использовать расширенный формат:
jhead -da2005:05:29/11:21-2002:01:01 *.jpgВ отличие от простого прибавления месяцев или лет, такой подход учитывает реальное количество дней между датами. Это снижает риск ошибки на високосных годах и месяцах разной длины.

На скриншоте показан пакетный сдвиг времени через команду jhead -ta+15397:57 *.JPG. После выполнения Jhead выводит строки Modified: для каждого обработанного файла. Это типичный признак успешного изменения EXIF-даты.
Задать точную дату и время
Если нужно не сдвинуть время, а установить конкретное значение, используется -ts:
jhead -ts2024:05:18-14:30:00 photo.jpgФормат строгий:
yyyy:mm:dd-hh:mm:ssКоманда меняет дату и время в EXIF на заданное значение. Такой вариант подходит для отдельных снимков или небольших наборов файлов, когда известна точная дата съемки.
Задать только дату
Параметр -ds задает дату без необходимости указывать полное время:
jhead -ds2024:05:18 photo.jpgТакже можно задать только год и месяц:
jhead -ds2024:05 photo.jpgИли только год:
jhead -ds2024 photo.jpgТакая команда полезна для старых фотографий, где точное время неизвестно, но нужно хотя бы привести архив к правильному году или месяцу.
Взять дату из другого файла
Параметр -tf устанавливает EXIF-дату по времени изменения другого файла:
jhead -tf reference.jpg target.jpgПрактический сценарий: есть файл-ориентир с правильной датой, и нужно перенести его время в другой снимок. Это не массовый инструмент для сложной синхронизации, но удобная точечная операция при восстановлении архива.
Переименование фотографий по дате съемки
Jhead часто используют как утилиту для пакетного переименования фотографий. Камеры создают файлы вида IMG_0001.JPG, DSC_0192.JPG, P1003456.JPG. Такие имена не отражают дату съемки и плохо сортируются при объединении снимков с нескольких устройств. Jhead решает это через параметр -n.
Базовая команда:
jhead -n%Y%m%d-%H%M%S *.jpgПосле выполнения файлы получают имена вида:
20240518-143000.jpg
20240518-143015.jpg
20240518-143211.jpgШаблон строится через форматные подстановки:
| Подстановка | Значение |
|---|---|
%Y | год полностью, например 2024 |
%y | год без века, например 24 |
%m | месяц, 01–12 |
%d | день месяца, 01–31 |
%H | часы в 24-часовом формате |
%M | минуты |
%S | секунды |
%j | день года |
%w | день недели числом |
%f | исходное имя файла без расширения |
%i | порядковый номер |
%03i | порядковый номер с ведущими нулями |
Пример с исходным именем:
jhead -n%Y%m%d-%H%M%S-%f *.jpgЕсли исходный файл назывался IMG_1234.JPG, новое имя может стать таким:
20240518-143000-IMG_1234.jpgПример с порядковым номером:
jhead -n%Y%m%d-%H%M%S-%03i *.jpgРезультат:
20240518-143000-001.jpg
20240518-143000-002.jpg
20240518-143000-003.jpgЭто удобно, если несколько файлов имеют одинаковую секунду съемки. Jhead не перезаписывает файлы с одинаковыми именами: если целевое имя уже занято, к нему добавляется буква или цифра.
Перемещение по папкам через шаблон
Jhead умеет не только переименовывать, но и переносить файлы в папки, если в шаблоне есть разделитель пути. Например:
jhead -n%Y/%m/%Y%m%d-%H%M%S *.jpgТакая команда может разложить снимки по папкам:
2024/05/20240518-143000.jpg
2024/05/20240518-143015.jpg
2024/06/20240602-091100.jpgЕсли нужной папки нет, Jhead создает ее автоматически. Это делает программу удобной для первичной сортировки фотоархива: снимки можно разложить по годам и месяцам без отдельного менеджера изображений.
Особенность Windows batch-файлов
В обычной командной строке Windows команда выглядит так:
jhead -n%Y%m%d-%H%M%S *.jpgНо внутри .bat или .cmd файла символ % используется самой Windows для переменных, поэтому его нужно удваивать:
jhead -n%%Y%%m%%d-%%H%%M%%S *.jpgЕсли этого не сделать, шаблон будет обработан неправильно еще до запуска Jhead. Это частая ошибка при автоматизации переименования на Windows.
Очистка EXIF, IPTC, XMP и других метаданных
Jhead подходит для удаления метаданных перед публикацией фотографий. Это актуально для сайтов, маркетплейсов, форумов, блогов и любых публичных страниц, где не нужны GPS-координаты, модель камеры, дата съемки, история обработки или лишние служебные блоки.
Удалить JPEG comment
jhead -dc *.jpgПараметр -dc удаляет комментарий JPEG. Важно понимать: JPEG comment — это отдельный комментарий в JPEG-заголовке, а не EXIF-комментарий. Поэтому -dc не равен полной очистке EXIF.
Удалить EXIF
jhead -de *.jpgПараметр -de полностью удаляет EXIF-заголовок. При этом другие секции, например XMP, IPTC или комментарий JPEG, остаются на месте. Это точечная команда: она убирает именно EXIF, а не все метаданные сразу.
Удалить IPTC
jhead -di *.jpgПараметр -di удаляет IPTC-секцию, если она присутствует. IPTC часто используется для описания снимка, подписи, авторства, ключевых слов, редакционных данных.
Удалить XMP
jhead -dx *.jpgПараметр -dx удаляет XMP-секцию. XMP может содержать сведения о редактировании, рейтингах, ключевых словах, авторских данных и другой информации, которую записывают Adobe-программы, DAM-системы и некоторые просмотрщики.
Удалить лишние секции JPEG
jhead -du *.jpgПараметр -du удаляет секции JPEG, которые не являются EXIF, не являются комментарием и не нужны для отображения самого изображения. Например, это могут быть служебные данные, оставленные графическими редакторами.
Очистить JPEG до чистого изображения
jhead -purejpg *.jpgИли:
jhead -pure *.jpgПараметр -purejpg удаляет все JPEG-секции, которые не нужны для отображения изображения. Это сочетание операций очистки, которое убирает лишние метаданные и оставляет саму картинку пригодной для просмотра. В практическом смысле это одна из самых полезных команд для подготовки JPEG перед публикацией.
Сравнение команд очистки:
| Команда | Что удаляет | Что остается |
|---|---|---|
-dc | JPEG comment | EXIF, XMP, IPTC, изображение |
-de | EXIF | XMP, IPTC, JPEG comment, изображение |
-di | IPTC | EXIF, XMP, JPEG comment, изображение |
-dx | XMP | EXIF, IPTC, JPEG comment, изображение |
-du | лишние неключевые JPEG-секции | EXIF и comment не трогаются |
-purejpg | все лишнее для отображения JPEG | остается изображение и необходимые JPEG-секции |
Для приватности обычно недостаточно выполнить только -de, потому что XMP или IPTC могут сохраниться. Для широкой очистки JPEG удобнее -purejpg.
Комментарии JPEG
Jhead умеет работать с JPEG comment. Это не то же самое, что EXIF-поле UserComment. JPEG comment находится вне EXIF-структуры и может присутствовать даже в JPEG без EXIF.
Заменить комментарий строкой
jhead -cl "Photo archive 2024" photo.jpgКоманда -cl записывает комментарий из командной строки. Если комментарий уже был, он заменяется.
Редактировать комментарий во внешнем редакторе
jhead -ce photo.jpgПараметр -ce создает временный файл с комментарием и открывает текстовый редактор. После закрытия редактора Jhead записывает новый комментарий обратно в JPEG и удаляет временный файл. На Windows используется Notepad, на Unix-подобных системах — vi, если переменная окружения EDITOR не задана. Если EDITOR задан, Jhead открывает указанный редактор.
Сохранить комментарий в файл
jhead -cs comment.txt photo.jpgКоманда -cs извлекает JPEG comment и сохраняет его в текстовый файл.
Заменить комментарий текстом из файла
jhead -ci comment.txt photo.jpgКоманда -ci берет текст из файла и записывает его как JPEG comment.
Такие функции полезны, если JPEG используется не только как фотография, но и как элемент архива: можно записывать краткое описание, источник, номер съемки, служебный комментарий для обработки. Но для профессиональных описательных метаданных лучше использовать IPTC/XMP-редактор, потому что JPEG comment слишком прост и не имеет структуры полей.
Работа со встроенными EXIF-миниатюрами
Во многих JPEG-файлах с цифровых камер есть встроенная миниатюра. Она хранится внутри EXIF-заголовка и используется некоторыми камерами, просмотрщиками и файловыми менеджерами. Jhead умеет удалять, сохранять, заменять и пересоздавать такие миниатюры.
Удалить встроенную миниатюру
jhead -dt *.jpgПараметр -dt удаляет миниатюру из EXIF, но оставляет полезные EXIF-данные. Это может немного уменьшить размер файла. Встроенная миниатюра обычно маленькая и низкого разрешения; она не является основным изображением.
Сохранить миниатюру в отдельный файл
jhead -st thumb.jpg photo.jpgКоманда -st извлекает встроенную миниатюру и сохраняет ее как JPEG-файл.
Для пакетного извлечения можно использовать относительное имя:
jhead -st "thumbnails/&i" *.jpgЗдесь &i заменяется исходным именем файла. Если обрабатывается IMG_1234.JPG, миниатюра будет сохранена с соответствующим именем в папку thumbnails. В командных оболочках символ & может иметь специальное значение, поэтому аргумент лучше заключать в кавычки.
Заменить миниатюру
jhead -rt newthumb.jpg photo.jpgПараметр -rt заменяет встроенную миниатюру. Эта операция работает только если EXIF-заголовок уже содержит миниатюру и она расположена в поддерживаемой структуре.
Пересоздать миниатюру
jhead -rgt160 photo.jpgПараметр -rgt[size] пересоздает встроенную EXIF-миниатюру с заданным максимальным размером по ширине или высоте. Для этой операции Jhead использует ImageMagick. Такой сценарий нужен после некорректного поворота или обработки, когда основное изображение уже изменено, а старая встроенная миниатюра показывает прежний вариант кадра.
Автоповорот JPEG по EXIF Orientation
Современные камеры и смартфоны часто не поворачивают пиксели изображения физически, а записывают в EXIF тег Orientation. Просмотрщик читает этот тег и показывает фото вертикально или горизонтально. Проблема возникает, когда один редактор уже повернул изображение, но не очистил тег Orientation, а другой просмотрщик снова поворачивает кадр при показе. В результате фотография выглядит перевернутой или повернутой дважды.
Jhead решает эту задачу двумя командами.
Повернуть изображение по Orientation
jhead -autorot *.jpgПараметр -autorot читает EXIF Orientation, поворачивает JPEG так, чтобы он стал нормальным, и сбрасывает ориентацию в значение normal. Для фактического поворота используется jpegtran, то есть операция рассчитана на без потерь поворот JPEG. EXIF-миниатюра также поворачивается.
Практический сценарий:
jhead -autorot DCIM/*.jpgПосле этого снимки перестают зависеть от того, умеет ли конкретный просмотрщик читать Orientation. Они уже физически приведены к правильному положению.
Очистить Orientation без поворота
jhead -norot *.jpgПараметр -norot просто очищает тег поворота, не меняя изображение. Это нужно, если картинка уже была правильно повернута другим инструментом, но EXIF Orientation остался старым. В этом случае -autorot может повернуть изображение лишний раз, а -norot просто убирает конфликтный тег.
Когда использовать -autorot, а когда -norot
| Ситуация | Команда |
|---|---|
| Фото визуально лежит боком, но Orientation есть | jhead -autorot *.jpg |
| Фото уже выглядит правильно, но в некоторых просмотрщиках переворачивается | jhead -norot *.jpg |
| Миниатюра не совпадает с основным изображением | jhead -norot -rgt160 *.jpg |
| Нужно привести архив к независимому от EXIF Orientation виду | jhead -autorot *.jpg |
У Jhead есть ограничение: после внешних операций поворота или изменения размера некоторые EXIF-поля, включая размеры и миниатюры, могут не быть полностью приведены в соответствие. Поэтому после проблемных поворотов полезно не только очистить Orientation, но и пересоздать миниатюру через -rgt.
Перенос EXIF из оригинала в обработанный JPEG
Многие редакторы изображений при сохранении JPEG могут удалить EXIF или оставить только часть метаданных. Если есть оригинал и обработанная версия, Jhead может перенести EXIF-заголовок из исходного файла в новый.
Базовая команда:
jhead -te original.jpg edited.jpgЗдесь EXIF берется из original.jpg и вставляется в edited.jpg.
Для пакетной обработки используется &i:
jhead -te "originals/&i" *.jpgЕсли в текущей папке лежат обработанные файлы, а в папке originals — оригиналы с теми же именами, Jhead подставит имя каждого файла вместо &i и перенесет EXIF из соответствующего оригинала.
Практический пример структуры:
project/
edited/
IMG_1001.jpg
IMG_1002.jpg
originals/
IMG_1001.jpg
IMG_1002.jpgКоманда из папки edited:
jhead -te "../originals/&i" *.jpgРезультат: обработанные JPEG-файлы сохраняют визуальные изменения, но получают EXIF из оригиналов.
Эта функция особенно полезна после пакетной обработки, сжатия или ретуши, когда нужно вернуть дату съемки, модель камеры, фокусное расстояние и другие параметры.
Создание минимального EXIF-заголовка
Команда -mkexif создает минимальный EXIF-заголовок:
jhead -mkexif photo.jpgТакой EXIF содержит дату/время и пустые поля миниатюры. По умолчанию дата берется из времени файла. Это не полноценное создание EXIF с моделью камеры, объективом, GPS, автором и пользовательскими тегами. Jhead не предназначен для сложного заполнения EXIF с нуля.
Типичный сценарий:
jhead -mkexif photo.jpg
jhead -ds2024:05:18 photo.jpgСначала создается минимальный EXIF, затем задается дата. Для сложной записи тегов лучше использовать ExifTool, Exiv2 или графический редактор метаданных.
Фильтрация файлов и выборочная обработка
Jhead умеет ограничивать обработку файлов по условиям. Это важно, когда в одной папке лежат снимки с разных камер, обработанные файлы без EXIF и изображения, которые трогать нельзя.
Обрабатывать только снимки конкретной модели камеры
jhead -model S100 *.jpgПараметр -model выбирает только те файлы, у которых в EXIF-модели камеры есть указанная строка. Например, можно обработать только снимки с Canon S100, не затрагивая файлы с другой камеры.
Практический вариант:
jhead -model "Canon" -ft *.jpgКоманда установит дату файла по EXIF только для снимков, где модель камеры содержит Canon.
Пропустить файлы без EXIF
jhead -exonly *.jpgПараметр -exonly пропускает JPEG-файлы без EXIF-заголовка. Это полезно при смешанных папках, где часть изображений уже была обработана редакторами, часть скачана из интернета, часть создана программно, а часть пришла напрямую с камеры.
Тихий режим
jhead -q -ft *.jpgПараметр -q подавляет сообщения об успешных операциях. Такой режим удобен в скриптах, где нормальное выполнение не должно засорять лог.
Подавление сообщений о поврежденном EXIF
jhead -se *.jpgПараметр -se подавляет сообщения об ошибках, связанных с поврежденной структурой EXIF. Это не исправление файлов, а именно управление выводом. Такой вариант бывает полезен при пакетном анализе большого архива, где часть JPEG имеет некорректные заголовки.
Версия и справка
jhead -VКоманда выводит информацию о сборке программы.
jhead -hКоманда показывает краткую справку по параметрам. Это один из главных экранов интерфейса Jhead: вместо окна настроек пользователь видит список доступных ключей.

На скриншоте показан фрагмент справки Jhead в Windows Command Prompt. Видны реальные группы параметров: OUTPUT VERBOSITY CONTROL, FILE MATCHING AND SELECTION, -h, -v, -q, -V, -exifmap, -se, -c, -model, -exonly, -cmd, -orp, -orl.
Пакетная обработка фотографий
Jhead особенно удобна для пакетной обработки. В графическом редакторе пользователь выбирает файлы, открывает окно, выставляет параметры, подтверждает операцию. В Jhead достаточно одной команды.
Сценарий 1: привести даты файлов к EXIF
jhead -ft *.jpgПосле этого системная дата файла совпадает с датой съемки. Это удобно для сортировки в файловом менеджере и фотокаталогах.
Сценарий 2: исправить часовой пояс
jhead -ta+2:00 *.jpgКоманда добавляет два часа ко всем EXIF-датам. Такой случай возникает после поездки, если камера осталась в домашнем часовом поясе.
Сценарий 3: синхронизировать две камеры
Допустим, камера A шла правильно, камера B отставала на 37 секунд. Сначала отделяем снимки камеры B, например по папке или модели:
jhead -model "Nikon" -ta+0:00:37 *.jpgЗатем переименовываем все снимки по дате:
jhead -n%Y%m%d-%H%M%S-%03i *.jpgПосле этого кадры с двух камер встанут в общий хронологический порядок.
Сценарий 4: очистить фото перед публикацией
jhead -autorot -purejpg *.jpgЗдесь сначала выполняется автоповорот по Orientation, затем удаляются лишние JPEG-секции. Такой порядок логичен: сначала привести изображение к правильному виду, затем очистить метаданные.
Сценарий 5: вернуть EXIF после обработки
jhead -te "../originals/&i" *.jpgКоманда переносит EXIF из оригиналов в обработанные JPEG. Это удобно после ресайза, ретуши или оптимизации, если редактор удалил метаданные.
Сценарий 6: сохранить встроенные миниатюры
jhead -st "thumbs/&i" *.jpgJhead извлечет встроенные EXIF-миниатюры в отдельную папку. Практическая ценность ограничена низким разрешением таких миниатюр, но для диагностики и восстановления поврежденных архивов функция бывает полезна.
Сценарий 7: разложить фотографии по годам и месяцам
jhead -n%Y/%m/%Y%m%d-%H%M%S *.jpgФайлы будут перемещены в структуру папок по году и месяцу. Это один из самых полезных способов быстро привести хаотичную папку к архивному виду.
Работа с PNG и WebP
Хотя Jhead исторически ассоциируется с JPEG и EXIF цифровых камер, программа также умеет работать с EXIF-заголовками в PNG и WebP, если такие заголовки присутствуют. Здесь важно не переоценивать возможности: основная логика Jhead все равно построена вокруг EXIF и задач, типичных для фотографий с камер. PNG и WebP поддерживаются именно в контексте присутствующих EXIF-данных, а не как полноценные контейнеры для всех возможных метаданных и операций.
На практике это означает следующее:
если PNG или WebP содержит EXIF, Jhead может прочитать и частично обработать эти данные;
если файл не содержит EXIF, программа не создаст полноценный набор метаданных уровня профессионального редактора;
JPEG остается наиболее естественным и предсказуемым форматом для Jhead;
для сложной работы с WebP, PNG, TIFF, RAW и документами лучше использовать ExifTool или Exiv2.
Команда -cmd и внешняя обработка
Jhead умеет запускать внешнюю команду для каждого обработанного файла через параметр -cmd. После выполнения внешней команды Jhead может заново вставить EXIF и комментарии обратно в изображение. Такой механизм похож на упрощенный вариант find -exec, но ориентирован на JPEG-файлы и сохранение заголовков.
Пример с ImageMagick:
jhead -cmd "magick mogrify -quality 80 &i" *.jpgЗдесь &i подставляется как имя входного файла.
Пример с jpegtran:
jhead -cmd "jpegtran -progressive &i &o" *.jpg&o используется для выходного файла. Такой сценарий применим, когда нужно прогнать JPEG через внешнюю утилиту, но сохранить важные заголовки.
Эта функция требует аккуратности. Ошибка во внешней команде может испортить группу файлов. Поэтому -cmd лучше применять только после проверки на копиях.
Ограничения программы
Jhead не является универсальным редактором EXIF. Ее возможности записи ограничены: программа в основном меняет существующие поля фиксированной длины, а не создает произвольные сложные структуры метаданных. Создание нового EXIF через -mkexif минимально: дата/время и пустые поля миниатюры, без полноценного набора тегов камеры, объектива, автора и GPS.
Главные ограничения:
| Ограничение | Что это значит на практике |
|---|---|
| Нет графического интерфейса | нельзя открыть фото в окне и нажать кнопку сохранения |
| Ограниченная запись EXIF | нельзя удобно редактировать любые теги |
| Основной фокус на JPEG | для RAW, видео, PDF и сложных контейнеров нужен другой инструмент |
| Массовые команды применяются сразу | нужна резервная копия перед обработкой |
| Часть операций зависит от внешних программ | -autorot использует jpegtran, -rgt использует ImageMagick |
| Нельзя ожидать полноценный DAM-функционал | нет каталогизации, рейтингов, визуального поиска |
| Миниатюры EXIF низкого качества | их извлечение не заменяет нормальную генерацию превью |
| После поворота или ресайза возможны рассинхронизации отдельных EXIF-полей | иногда требуется -norot и -rgt |
Эти ограничения не делают Jhead слабой программой. Они определяют ее правильное место: это узкий, быстрый и точный инструмент для JPEG/EXIF-операций, а не большая программа для управления всей медиатекой.
История версий Jhead
Jhead появилась как инструмент для просмотра EXIF в период, когда удобных программ для стабильного чтения заголовков цифровых камер было мало. Автор начал проект в 1999 году, а затем постепенно добавлял функции по мере появления практических задач: удаление комментариев, сохранение миниатюр, перенос EXIF, исправление времени, автоповорот, работа с IPTC, XMP, GPS и улучшение устойчивости к поврежденным файлам.
История Jhead хорошо показывает, что программа развивалась не как тяжелый комбайн, а как набор прикладных функций вокруг реальных JPEG-файлов с камер.
| Период / версия | Что изменилось |
|---|---|
| 1999 | появление Jhead как программы для чтения EXIF-заголовков цифровых камер |
| 2001, ветка 1.x | добавлены удаление комментариев, сохранение миниатюр, перенос EXIF-заголовков, удаление EXIF, сдвиг времени |
| 1.4–1.6 | появились установка абсолютного времени, сохранение миниатюры в stdout, редактирование комментария, -V, -exonly, улучшенное удаление миниатюр |
| 1.7–1.9 | добавлены вывод Orientation, улучшение расчета фокусного расстояния, %f в шаблоне переименования, -ci и -cs |
| 2.0 | добавлен автоповорот по Orientation через -autorot, оформлена man-страница |
| 2.1–2.3 | появились -cl, -norot, последовательное переименование через %i, -purejpg, -du, вывод GPS |
| 2.4–2.6 | добавлен -da для крупных сдвигов даты, улучшены коды возврата, сохранение прав и времени файла, замена и пересоздание миниатюр, -a, -ds, -mkexif |
| 2.7–2.84 | добавлена обработка IPTC, тихий режим -q, чтение дополнительных тегов, улучшения XMP и GPS, исправления безопасности строк |
| 2.86–2.97 | доработки -ce, распознавание дополнительных тегов, обработка нестандартных дат, исправления поврежденных JPEG, вывод качества JPEG, -zt для обрезки хвостовых нулей в некоторых Nikon-файлах |
| 3.0 | крупный рубеж с исправлениями, улучшениями поворота и обработкой накопленных задач |
| 3.02–3.06 | исправления thumbnail replacement, патчи Debian, перенос проекта на GitHub, тесты, fuzz-test-исправления |
| 3.08 | исправления, связанные с накопленными GitHub issue и fuzz-тестированием |
| 3.2–3.3 | добавлена ограниченная поддержка PNG и WebP EXIF, удалены некоторые старые редко используемые функции, усилено тестирование |
По истории видно, что программа развивалась вокруг практических проблем: камеры писали EXIF по-разному, редакторы удаляли заголовки, просмотрщики по-разному реагировали на Orientation, миниатюры рассинхронизировались с изображением, а поврежденные JPEG могли ломать обработку. Jhead постепенно закрывала именно такие сценарии, не превращаясь в универсальный графический редактор.
Практические инструкции
Проверить EXIF в одном файле
jhead IMG_1001.jpgЭта команда нужна первой. Она показывает, есть ли EXIF, какая дата записана в Date/Time, какая модель камеры указана, видит ли Jhead разрешение, ISO, выдержку и другие параметры.
Проверить EXIF во всей папке
jhead *.jpgКоманда выводит сводку по каждому JPEG. Если файлов много, вывод можно направить в текстовый файл:
jhead *.jpg > exif-report.txtТак получается простой отчет по папке.
Найти снимки с конкретной камеры
jhead -model "Canon" *.jpgКоманда обработает только те файлы, в EXIF которых модель камеры содержит Canon.
Сделать короткую таблицу по всем файлам
jhead -c *.jpg > report.txtФайл report.txt можно открыть в текстовом редакторе или импортировать в таблицу. Краткий вывод удобен для массовой проверки.
Исправить время на один час вперед
jhead -ta+1:00 *.jpgКоманда подходит для ситуации, когда камера не была переведена на летнее время или часовой пояс.
Исправить время на 30 минут назад
jhead -ta-0:30 *.jpgКоманда сдвигает EXIF-время назад на 30 минут.
Исправить год съемки
jhead -da2024:01:01-2023:01:01 *.jpgКоманда сдвигает даты так, будто неправильный 2023 год должен стать 2024 годом.
Задать точную дату одному снимку
jhead -ts2024:05:18-14:30:00 IMG_1001.jpgКоманда задает точное время съемки.
Переименовать фотографии по дате
jhead -n%Y%m%d-%H%M%S *.jpgЭто один из самых полезных шаблонов. Он делает имена файлов хронологическими.
Переименовать с сохранением исходного имени
jhead -n%Y%m%d-%H%M%S-%f *.jpgТак легче сохранить связь с оригинальными именами камеры.
Разложить по папкам год/месяц
jhead -n%Y/%m/%Y%m%d-%H%M%S *.jpgКоманда создает структуру архива.
Удалить EXIF
jhead -de *.jpgУдаляется EXIF-заголовок, но не обязательно все метаданные.
Удалить XMP
jhead -dx *.jpgУдаляется XMP-секция.
Удалить IPTC
jhead -di *.jpgУдаляется IPTC-секция.
Максимально очистить JPEG
jhead -purejpg *.jpgОстаются только данные, необходимые для отображения изображения.
Повернуть фото по Orientation
jhead -autorot *.jpgКоманда приводит кадры к нормальной ориентации.
Очистить тег поворота
jhead -norot *.jpgКоманда нужна, если изображения уже повернуты, но просмотрщики продолжают поворачивать их по старому Orientation.
Извлечь встроенные миниатюры
jhead -st "thumbs/&i" *.jpgJhead сохранит встроенные EXIF-миниатюры в папку thumbs.
Удалить встроенные миниатюры
jhead -dt *.jpgКоманда уменьшает EXIF-заголовок и удаляет превью, не трогая основные EXIF-поля.
Перенести EXIF из оригиналов
jhead -te "../originals/&i" *.jpgКоманда возвращает EXIF в обработанные изображения, если рядом есть оригиналы с теми же именами.
Частые ошибки при использовании Jhead
Запуск двойным кликом
Jhead не является графическим приложением. Двойной клик по исполняемому файлу не открывает полноценное окно программы. Работать нужно из командной строки.
Отсутствие резервной копии
Команды Jhead применяются сразу. Если выполнить -de, EXIF будет удален. Если выполнить -n, файлы будут переименованы. Если выполнить -ta, дата будет изменена. Перед массовой обработкой нужна копия папки.
Путаница между -de и -purejpg
-de удаляет EXIF, но оставляет другие секции. -purejpg удаляет все лишнее для отображения изображения. Для приватной публикации лучше понимать разницу и не считать -de полной очисткой.
Неверные кавычки в путях
Если путь содержит пробелы, его нужно брать в кавычки:
jhead "C:My Photos*.jpg"Иначе оболочка разобьет путь на части.
Символ % в batch-файлах Windows
В .bat-файле нужно писать %%Y, %%m, %%d, а не %Y, %m, %d:
jhead -n%%Y%%m%%d-%%H%%M%%S *.jpgНепонимание Orientation
Если фото уже выглядит правильно, но некоторые программы поворачивают его неправильно, не надо сразу применять -autorot. Возможно, нужен -norot, потому что пиксели уже повернуты, а старый тег Orientation остался.
Ожидание полноценного редактора всех тегов
Jhead не предназначена для редактирования каждого EXIF/IPTC/XMP-поля. Для массовой правки авторов, копирайта, ключевых слов, координат и сложных XMP-структур лучше использовать более широкий инструмент.
Преимущества Jhead
Jhead сильна тем, что делает ограниченный набор задач быстро и прямо.
| Преимущество | Почему это важно |
|---|---|
| Командный интерфейс | легко автоматизировать |
| Быстрый просмотр EXIF | не нужно открывать тяжелый редактор |
| Хорошее пакетное переименование | удобно для фотоархивов |
| Сильные функции даты | можно исправлять часовые пояса, годы и сбросы камеры |
| Очистка метаданных | удобно перед публикацией |
| Автоповорот по Orientation | помогает нормализовать JPEG |
| Перенос EXIF | спасает метаданные после редактирования |
| Работа с миниатюрами | полезно при диагностике и восстановлении |
| Малый размер и простая логика | программа быстро запускается и легко встраивается в скрипты |
Для пользователя XnView MP или ACDSee Jhead может быть вспомогательным инструментом. Например, визуально отбирать снимки удобнее в графическом просмотрщике, а массовое переименование или исправление даты — через Jhead.
Недостатки Jhead
Недостатки Jhead напрямую следуют из ее философии.
| Недостаток | Что это значит |
|---|---|
| Нет GUI | новичку сложнее начать |
| Нет предпросмотра | нельзя визуально проверить снимок внутри программы |
| Нет пошагового мастера | команды нужно вводить точно |
| Нет отката изменений | откат возможен только из резервной копии |
| Ограниченная запись EXIF | нельзя полноценно редактировать любые теги |
| Не универсальна по форматам | основной рабочий формат — JPEG с EXIF |
| Для некоторых операций нужны внешние утилиты | jpegtran и ImageMagick должны быть доступны |
| Ошибка в маске может затронуть много файлов | нужно внимательно проверять команду |
Это не программа для всех. Она подходит пользователям, которые не боятся терминала и понимают, что делают с файлами. Зато в правильном сценарии Jhead быстрее многих графических решений.
Сравнение с аналогами
ExifTool
ExifTool — наиболее мощный инструмент для чтения, записи и редактирования метаданных. Он поддерживает множество форматов и большое количество стандартов: EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, maker notes разных камер и другие типы данных.
По сравнению с ним Jhead проще и уже. Если нужно изменить десятки разных тегов, работать с RAW, видео, PDF, аудио или сложными XMP-структурами, ExifTool заметно сильнее. Если же задача сводится к JPEG: посмотреть EXIF, исправить дату, переименовать, удалить заголовок, сделать -autorot, Jhead быстрее осваивается и не перегружает пользователя сотнями параметров.
| Критерий | ExifTool | Jhead |
|---|---|---|
| Ширина форматов | очень высокая | ограниченная |
| Глубина редактирования тегов | очень высокая | ограниченная |
| Простота типовых JPEG-задач | средняя | высокая |
| Переименование по EXIF | есть | есть, очень удобно |
| Очистка JPEG | есть | есть |
| Автоповорот JPEG | возможен через команды | встроенный сценарий -autorot через jpegtran |
| Лучший сценарий | сложные метаданные | быстрые JPEG/EXIF-операции |
Exiv2
Exiv2 — C++ библиотека и командная утилита для работы с метаданными изображений. Она читает и записывает Exif, IPTC, XMP, ICC Profile и поддерживает разные графические форматы. Exiv2 часто используется не только как CLI-инструмент, но и как библиотека внутри других приложений.
Jhead проще. Ее не стоит выбирать как основу для широкого приложения с большим количеством форматов и тегов. Но если нужно быстро обработать JPEG-папку, Jhead воспринимается легче: команды короче, набор функций меньше, логика яснее.
| Критерий | Exiv2 |
|---|---|
| Сильная сторона | библиотека и CLI для Exif/IPTC/XMP/ICC |
| Где удобнее Jhead | быстрые операции с JPEG-дата/имя/очистка |
| Где сильнее Exiv2 | программная интеграция и более широкая работа с метаданными |
| Для кого | разработчики, Linux-пользователи, автоматизация метаданных |
XnView MP
XnView MP — графический просмотрщик и менеджер изображений. В нем удобно визуально просматривать папки, сортировать снимки, открывать свойства файла, работать с IPTC/XMP, использовать пакетные операции и чистку метаданных через меню. Для редактирования и удаления EXIF/IPTC/XMP в XnView MP используются команды меню Metadata > Edit IPTC, Metadata > Edit XMP, Metadata > Clean Metadata.
Jhead выигрывает там, где нужно выполнить повторяемую команду без интерфейса. Например, переименовать 5000 JPEG по шаблону и поправить время на 37 секунд. XnView MP удобнее, когда нужно видеть картинки, выбирать файлы глазами, править подписи, рейтинги, ключевые слова и проверять результат визуально.
| Критерий | XnView MP |
|---|---|
| Сильная сторона | графический просмотр, каталогизация, визуальный отбор |
| Где удобнее Jhead | терминал, скрипты, повторяемые пакетные команды |
| Где сильнее XnView MP | просмотр, выбор файлов, визуальная работа с метаданными |
| Для кого | фотографы, контент-менеджеры, пользователи без терминала |
Exif Pilot
Exif Pilot — графический EXIF-редактор для Windows, который позволяет просматривать, создавать и редактировать EXIF, EXIF GPS, IPTC и XMP, удалять теги, работать с ключевыми словами, а также импортировать и экспортировать метаданные в XML, Excel и TXT.
Jhead не конкурирует с Exif Pilot по удобству ручного редактирования полей. Exif Pilot лучше подходит пользователю, которому нужно открыть изображение и править теги через интерфейс. Jhead лучше там, где однотипные действия нужно выполнить быстро и пакетно.
| Критерий | Exif Pilot |
|---|---|
| Сильная сторона | графическое редактирование EXIF/IPTC/XMP |
| Где удобнее Jhead | простые массовые команды без интерфейса |
| Где сильнее Exif Pilot | ручное создание и правка тегов |
| Для кого | Windows-пользователи, которым нужен GUI |
digiKam
digiKam — крупный фотоменеджер с инструментами каталогизации, тегов, альбомов и редактирования метаданных. Его Metadata Editor предназначен для добавления и изменения Exif, IPTC и XMP в изображениях.
По сравнению с digiKam Jhead выглядит минималистично. Она не ведет базу фотографий, не строит альбомы, не работает как полноценный менеджер коллекции. Но если нужно только поправить дату или очистить JPEG перед публикацией, запускать крупный фотокаталог ради одной операции необязательно.
| Критерий | digiKam |
|---|---|
| Сильная сторона | управление фотоколлекцией и метаданными |
| Где удобнее Jhead | быстрые операции над файлами в папке |
| Где сильнее digiKam | каталогизация, теги, альбомы, визуальная работа |
| Для кого | фотографы с большими библиотеками |
Когда стоит использовать Jhead
Jhead стоит использовать, если задача конкретная и повторяемая:
нужно быстро посмотреть EXIF JPEG;
нужно переименовать много фотографий по дате съемки;
нужно исправить сбившееся время камеры;
нужно очистить JPEG от метаданных;
нужно повернуть снимки по Orientation;
нужно вернуть EXIF после обработки;
нужно встроить обработку в скрипт;
нужно работать с папками без графического интерфейса.
Jhead особенно хороша для старых архивов цифровых камер, где файлы имеют имена вроде DSC0001.JPG, а порядок съемки нужно восстановить по EXIF. Команда -n%Y%m%d-%H%M%S быстро превращает такой архив в понятную хронологическую структуру.
Когда лучше выбрать другой инструмент
Jhead не лучший выбор, если нужно:
редактировать десятки разных EXIF-тегов вручную;
работать с RAW-форматами;
заполнять авторство, описание, ключевые слова, copyright через форму;
просматривать фотографии в интерфейсе;
управлять большой коллекцией изображений;
работать с видео, PDF, аудио или документами;
массово редактировать сложные XMP-поля;
видеть предпросмотр до и после обработки.
В этих случаях разумнее использовать ExifTool, Exiv2, XnView MP, Exif Pilot или digiKam в зависимости от задачи.
Шпаргалка команд Jhead
| Задача | Команда |
|---|---|
| Показать EXIF | jhead photo.jpg |
| Показать EXIF всех JPEG | jhead *.jpg |
| Краткий вывод | jhead -c *.jpg |
| Подробный вывод | jhead -v photo.jpg |
| Справка | jhead -h |
| Информация о сборке | jhead -V |
| Установить дату файла по EXIF | jhead -ft *.jpg |
| Установить EXIF-дату по дате файла | jhead -dsft *.jpg |
| Добавить 1 час | jhead -ta+1:00 *.jpg |
| Убрать 23 секунды | jhead -ta-0:00:23 *.jpg |
| Исправить большой сдвиг даты | jhead -da2024:01:01-2023:01:01 *.jpg |
| Задать точную дату и время | jhead -ts2024:05:18-14:30:00 photo.jpg |
| Задать дату | jhead -ds2024:05:18 photo.jpg |
| Переименовать по дате | jhead -n%Y%m%d-%H%M%S *.jpg |
| Переименовать с исходным именем | jhead -n%Y%m%d-%H%M%S-%f *.jpg |
| Разложить по папкам | jhead -n%Y/%m/%Y%m%d-%H%M%S *.jpg |
| Удалить JPEG comment | jhead -dc *.jpg |
| Удалить EXIF | jhead -de *.jpg |
| Удалить IPTC | jhead -di *.jpg |
| Удалить XMP | jhead -dx *.jpg |
| Очистить JPEG | jhead -purejpg *.jpg |
| Удалить EXIF-миниатюру | jhead -dt *.jpg |
| Сохранить миниатюру | jhead -st "thumbs/&i" *.jpg |
| Повернуть по Orientation | jhead -autorot *.jpg |
| Очистить Orientation | jhead -norot *.jpg |
| Перенести EXIF | jhead -te "../originals/&i" *.jpg |
| Обработать только файлы с EXIF | jhead -exonly *.jpg |
| Обработать только модель камеры | jhead -model "Canon" *.jpg |
Итоговая оценка
Jhead — не универсальная программа для всех видов метаданных, а точная консольная утилита для практических JPEG/EXIF-задач. Она хорошо показывает параметры съемки, исправляет даты, переименовывает фотографии по DateTimeOriginal, очищает EXIF/XMP/IPTC, работает с JPEG comment, встроенными миниатюрами и Orientation. Главная ценность программы — скорость, простота команд и удобство пакетной обработки.
Jhead стоит держать под рукой, если приходится работать с архивами JPEG-фотографий, готовить изображения для сайта, исправлять сбитое время камеры или приводить имена файлов к нормальному хронологическому виду. Для визуального редактирования удобнее XnView MP, Exif Pilot или digiKam. Для максимально глубоких метаданных сильнее ExifTool и Exiv2. Но в своей нише — быстрая командная обработка JPEG/EXIF — Jhead остается прямым и эффективным инструментом.
