Как изменить дату создания файла linux
Next: Разделение файла на меньшие Up: Средства управления файлами Previous: Определение типа и формата Contents Index
Для изменения времени модификации файла без исправлений его содержимого используйте команду touch. Укажите имя требуемого файла в качестве аргумента. По умолчанию время модификации устанавливается на текущий момент.
Чтобы сменить время модификации файла `pizzicato’ на текущий момент, введите:
$ touch pizzicato [Enter]
Если Вы хотите установить иное время модификации, укажите опцию `-d’ и требуемые дату и время в апострофах. Вы можете указать либо дату, либо время, либо и то и другое.
Для установки времени модификации файла `pizzicato’ на `17 мая 1999 14:16′, введите:
$ touch -d ’17 May 1999 14:16′ pizzicato [Enter]
Примечание: Если указать только дату, время устанавливается в `0:00′; если не указывать год, будет использован текущий.
Alex Otwagin 2002-12-16
Массово изменить дату создания файлов
Есть ли какой-то пакетный обработчик файлов, который бы проставил дату создания файла равной дате изменения файла, которая соответствует дате и времени съемки.

Max77
11.05.22 22:51:32 MSK
- Ответить на это сообщение
- Ссылка

–preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,time‐ stamps), if possible additional attributes: context, links, xattr, all
SpaceRanger ★★
( 11.05.22 23:00:40 MSK )
Последнее исправление: SpaceRanger 11.05.22 23:01:18 MSK (всего исправлений: 1)
- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от SpaceRanger 11.05.22 23:00:40 MSK

Не пойдет, так как файлы уже скопированы, а оригиналы с карт памяти удалены
Max77
( 11.05.22 23:07:26 MSK ) автор топика
- Ответить на это сообщение
- Показать ответ
- Ссылка

Да, это называется «скрипт-однострочник на bash».
Vsevolod-linuxoid ★★★★★
( 11.05.22 23:09:06 MSK )
- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от Vsevolod-linuxoid 11.05.22 23:09:06 MSK

Тоже в этом направлении думаю
Нужно в каталоге последовательно читать время изменения файла и через touch устанавливать время создания?
Max77
( 11.05.22 23:12:03 MSK ) автор топика
- Ответить на это сообщение
- Ссылка
Ух ты, первый раз вижу кого-то кто интересуется содержанием какого-либо таймстапма файла кроме даты модификации. Ещё много какой софт, думаю, забивает на atime/ctime/birthtime.
firkax ★★★★★
( 12.05.22 02:17:21 MSK )
Последнее исправление: firkax 12.05.22 02:17:54 MSK (всего исправлений: 1)
- Ответить на это сообщение
- Показать ответ
- Ссылка
Ответ на: комментарий от firkax 12.05.22 02:17:21 MSK

digiKam считает, что фото двухлетней давности отсняты вчера. Отсюда и интерес к дате создания
Max77
( 12.05.22 08:27:44 MSK ) автор топика
- Ответить на это сообщение
- Показать ответ
- Ссылка
Для пакетного изменения экзифа есть exiftool. Примеры в гугле в изобилии.
Entmatix ★
( 12.05.22 08:41:30 MSK )
- Ответить на это сообщение
- Показать ответ
- Ссылка
Не на всякой файловой системе хранится время создания файла.
akk ★★★★★
( 12.05.22 10:34:32 MSK )
- Ответить на это сообщение
- Ссылка
Ответ на: комментарий от Max77 12.05.22 08:27:44 MSK

debugfs в помощь
vel ★★★★★
( 12.05.22 11:46:10 MSK )
- Ответить на это сообщение
- Ссылка
Ответ на: комментарий от Entmatix 12.05.22 08:41:30 MSK

Проблема не в EXIF. С ним как раз все нормально.
Проблема в crtime
Вот пример кадра с камеры, скопированного на диск
$ stat ~/Test/IMG_3379.CR2 Файл: /home/max/Test/IMG_3379.CR2 Размер: 24955660 Блоков: 48744 Блок В/В: 4096 обычный файл Устройство: 0/44 Инода: 255026 Ссылки: 1 Доступ: (0644/-rw-r--r--) Uid: ( 1000/ maxim) Gid: ( 1000/ max) Доступ: 2021-09-13 04:00:00.000000000 +0400 Модифицирован: 2019-10-24 20:56:26.000000000 +0400 Изменён: 2022-05-12 22:41:04.006824106 +0400 Создан: 2022-05-12 22:41:04.006824106 +0400
Если я его добавляю в альбом через digiKam, то digiKam считает, что фото снято сегодня, а не в октябре 2019 года
Max77
( 12.05.22 21:51:59 MSK ) автор топика
- Ответить на это сообщение
- Показать ответы
- Ссылка
Ответ на: комментарий от Max77 12.05.22 21:51:59 MSK

Копирование файлов между разными FS может привести к подобному, к сожалению
Dimez ★★★★★
( 13.05.22 00:25:21 MSK )
- Ответить на это сообщение
- Ссылка
Рекурсивная смена даты изменение файла в Linux
Задача: рекурсивно заменить дату изменения файлов и папок в диретории сайта.
// Подключаемся через SSH и пеерходим в нужную директорию (или настраиваем директорию с помощью регулярки. Заменять точку.) find . -exec touch <> \; // Проверяем ls -ltr

Терминал во время рекурсивной смены даты изменения файлов и папок.
Если нужно что-то более экзотическое, то нужно копать в сторону настройки команды touch. Вот и все 🙂
Вас могут заинтересовать следующие услуги
Как изменить дату файла в Linux
Однажды на одном TFTP сервере, на который мои скрипты скачивали резервные копии с сетевого оборудования, понадобилось очищать файлы старее 200 дней, чтобы память дисковой системы не переполнилась, для очистки я использовал команду:
find /srv/tftp/ -type f -mtime +200 -exec rm <> \;
Но так как на TFTP сервере был нужный файл телефонной книги, который нельзя было удалять, его использовали IP телефоны Grandstream, то я просто решил добавить в скрипт команду которая изменяет дату изменения файла на текущую:
touch -mat "`date +%Y%m%d%H%M.%S`" phonebook.xml
Соответственно файл не будет устаревать и его не удалит скрипт, проверим дату файла:
stat phonebook.xml
- Нажмите, чтобы открыть на Facebook (Открывается в новом окне)
- Нажмите, чтобы поделиться на Twitter (Открывается в новом окне)
- Нажмите, чтобы поделиться записями на Pinterest (Открывается в новом окне)
- Нажмите, чтобы поделиться на LinkedIn (Открывается в новом окне)
- Нажмите, чтобы поделиться записями на Tumblr (Открывается в новом окне)
- Нажмите, чтобы поделиться в Telegram (Открывается в новом окне)
- Ещё