В Linux управление временными метками файлов является распространённой задачей, выполняемой для различных целей, таких как тестирование, анализ данных и соблюдение нормативных требований. В этой статье объясняется, как изменять и проверять временные метки файлов на примере Linux. В ней также рассматриваются практические примеры использования временных меток в различных сценариях.
Команда touch
— это универсальный инструмент для создания пустых файлов или обновления временных меток файлов. Чтобы изменить временную метку файла на определённую дату и время, используйте опцию -t
.
Предположим, вы хотите изменить дату создания файла с именем example.txt
на 14 ноября 2024 года в 12:30.
touch -t 202411141230 andreyex.txt
20241114
соответствует 14 ноября 2024 года.1230
соответствует 12:30 вечера.
После выполнения этой команды время доступа и изменения andreyex.txt будет установлено на 14 ноября 2024 года, 12:30.
Если вы хотите установить метку времени на определённую дату в полночь, опустите часть со временем.
touch -t 202411140000 andreyex.txt
20241114
соответствует 14 ноября 2024 года.0000
соответствует полуночи (12:00 утра).
Чтобы убедиться, что временные метки были изменены правильно, вы можете использовать команды ls
и stat
.
ls
Команда ls
с параметром -l
выводит список файлов в длинном формате, включая временные метки.
Пример:
ls -l andreyex.txt
Эта команда выведет что-то вроде:
-rw-r--r-- 1 andreyex andreyex 158 Nov 14 12:30 andreyex.txt
В этом выводе метка времени Nov 14 12:30
указывает время последней модификации файла.
stat
Команда stat
предоставляет подробную информацию о файле, включая его временные метки.
Пример:
stat andreyex.txt
Эта команда выведет что-то вроде:
File: andreyex.txt Size: 158 Blocks: 8 IO Block: 4096 regular file Device: 259,2 Inode: 1578889 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/andreyex) Gid: ( 1000/andreyex) Access: 2024-11-14 12:30:00.000000000 +0530 Modify: 2024-11-14 12:30:00.000000000 +0530 Change: 2024-11-14 17:47:19.624593116 +0530 Birth: 2024-10-11 15:39:59.515973804 +0530
В этом выводе:
Access
это время последнего доступа.Modify
это время последнего изменения.Change
это время последнего изменения состояния (изменения метаданных).
С помощью команд ls
и stat
вы можете легко проверить, были ли изменены временные метки файла на нужную дату и время.
Команда ls
обеспечивает быстрый обзор, а команда stat
предоставляет более подробную информацию, включая время доступа, изменения и смены статуса.
Вам может быть интересно, зачем кому-то понадобилось менять временные метки файлов. Для этого есть несколько практических причин, в том числе:
touch
для их сброса до исходных значений.
Предположим, вы работаете над проектом, в котором вам нужно смоделировать сценарий, при котором файлы журналов создавались в разные дни. У вас есть скрипт, который обрабатывает эти файлы журналов в зависимости от даты их создания.
# Создайте файлы журналов с определёнными временными метками touch -t 202401010000 log_jan1.txt touch -t 202401020000 log_jan2.txt touch -t 202401030000 log_jan3.txt # Проверьте временные метки ls -l log_*.txt
Команда ls -l
покажет временные метки файлов журнала, подтвердив, что они установлены на нужные даты.
Изменить и проверить временные метки файлов в Linux можно с помощью команд touch
, ls
, и stat
. Эти команды помогают управлять временными метками файлов для различных целей, от тестирования до соответствия требованиям.
Следуя инструкциям, приведённым в этой статье, вы сможете легко устанавливать и проверять временные метки файлов по мере необходимости.