🐧 Как изменить временные метки файлов на Linux

В системах Linux управление временными метками файлов является неотъемлемой частью системного администрирования.

Если вам нужно изменить временные метки в целях резервного копирования, для отслеживания изменений или по любой другой причине, Linux предоставляет простой и эффективный инструмент для выполнения этой задачи: команду touch.

В этой статье мы рассмотрим, как изменить временные метки файлов в Linux с помощью команды touch, и приведем примеры для лучшего понимания.

Быстрый ответ

Чтобы изменить временные метки файлов в Linux, вы можете использовать команду touch. Простое выполнение команды touch filename обновит временные метки модификации и доступа до текущего системного времени. Если вам нужно установить конкретную временную метку, вы можете использовать опцию -d, за которой следует строка даты и времени. Кроме того, вы можете изменять временные метки относительно текущего времени, используя в команде touch фразы типа “2 hours ago”.

Понимание временных меток файлов

Прежде чем мы перейдем к командам, важно понять, что такое временные метки файлов.

В системах Linux существует три типа временных меток, связанных с файлом:

  • Время доступа (atime): Время, когда файл был прочитан в последний раз.
  • Время модификации (mtime): Время, когда содержимое файла было изменено в последний раз.
  • Время изменения (ctime): Время, когда метаданные файла (например, права или право владения) были изменены в последний раз.

Обратите внимание, что ctime не является надежным показателем времени создания файла, поскольку оно меняется при каждом обновлении метаданных файла.

Команда touch

Команда touch – это стандартная команда, используемая для изменения временных меток доступа и модификации файла.

Синтаксис команды touch следующий:

touch [option]... [file]...

Команда touch без каких-либо опций создает новый файл, если он не существует.

Если файл уже существует, она обновляет время доступа и модификации до текущего времени.

 

Изменение времени модификации файла

Чтобы изменить время модификации файла на текущее, просто используйте команду touch, за которой следует имя файла:

touch filename

Эта команда обновит mtime и atime файла до текущего системного времени.

 

Установка конкретной временной метки

Чтобы задать конкретную временную метку, используйте опцию -d (или –date), за которой следует строка, представляющая желаемую дату и время:

touch -d "YYYY-MM-DD HH:MM:SS" filename

Параметр -d указывает touch разобрать следующую строку как дату.

Например, чтобы установить временную метку на 14:00 20 октября 2022 года, мы используем:

touch -d "2022-10-20 14:00:00" filename

 

Изменение временной метки относительно текущего времени

Вы также можете изменить временную метку относительно текущего времени.

 

Например, чтобы установить временную метку на 2 часа назад:
touch -d "2 hours ago" filename

Эта команда установит mtime и atime файла на 2 часа раньше текущего времени.

Изменение временных меток нескольких файлов

Чтобы изменить временные метки нескольких файлов, можно использовать команду find в сочетании с touch.

Например, чтобы изменить временные метки всех файлов в каталоге:

find DIRECTORY -exec touch -d "2 hours ago" {} +

Эта команда установит mtime и atime всех файлов в указанном каталоге на 2 часа раньше текущего времени.

Заключение

Управление временными метками файлов – важный аспект системного администрирования Linux.

Команда touch предлагает простой и эффективный способ изменения временных меток файлов.

Помните, что изменение временных меток файлов может повлиять на такие процессы, как резервное копирование и аудит, поэтому всегда действуйте с осторожностью.

Независимо от того, являетесь ли вы опытным системным администратором или новичком в Linux, понимание того, как управлять временными метками файлов, является ценным навыком.

С помощью команды touch вы можете легко и точно управлять метаданными файлов.

Друзья помогите этому контенту стать доступнее в социальных сетях.

Не проходи мимо жмакни по кнопке возможно кому то еще он будет полезен!