В системах 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
Изменение временной метки относительно текущего времени
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 вы можете легко и точно управлять метаданными файлов.