Что такое метка времени в Linux?

11

Читая о Linux, я получил следующее:

Touch предлагает несколько вариантов, но вот один из интересных:

Опция -t позволяет вам установить дату и время файла. Чтобы установить отметку времени для определенного времени:

$ touch -t 03201600 myfile

Это устанавливает файл, метку времени, метку времени на 16:00 20 марта (03 20 1600).

Здесь я не понимаю логику 03201600 -> 4 вечера 20 марта.

Лазарь
источник
5
Это не то, что обычно называют меткой времени Unix (там нет метки времени Linux, только метка Unix). См. Stackoverflow.com/questions/20822821/… для получения дополнительной информации о метках времени Unix.
Муру,

Ответы:

13

Вывод, который вы опубликовали, объясняет формат, разбивая числа на (03 20 1600):

03 - March
20 - 20th
1600 - 4:00 PM (24-hour clock, where 0000 is midnight)
Nattgew
источник
это 1 час = 100 с 12:00
Лазарь
23

Добро пожаловать в Linux! Вы, вероятно, читали тот touchтекст, который цитировали в своем вопросе, из руководства или книги.

В Linux почти каждая команда имеет «руководство», объясняющее ее параметры. Вы можете просмотреть страницу руководства любой команды, выполнив ее man <command>на компьютере с Linux.

Итак, из команды man touch:

   -t STAMP
          use [[CC]YY]MMDDhhmm[.ss] instead of current time

Итак, ваш пример:

-t 03201600

# Разбираем это вниз:

-t 03 20 16 00
-т     ММ      ДД      чч       мм
-т месяц день часы минуты

Итак, 20 марта, 16:00 (24-часовой формат).

Если у вас нет доступа к машине с Linux, вы можете просмотреть эти manстраницы онлайн здесь: http://unixhelp.ed.ac.uk/CGI/man-cgi . manСтраница для команды touchнаходится здесь: http://unixhelp.ed.ac.uk/CGI/man-cgi?touch

Алаа али
источник
спасибо @Alaa Али, я полностью понял
Лазарь
5

По словам man touch:

   -t STAMP
          use [[CC]YY]MMDDhhmm[.ss] instead of current time

Таким образом, ваша метка времени может быть переведена на DD/MM hh:mm: 20/03 16:00.

Мур
источник
1

Отметка времени - это текущее время события, которое записывается компьютером.

Временные метки широко используются в компьютерах и в сетях для различных типов синхронизации. Например, они назначаются пакетам в некоторых сетевых протоколах, чтобы облегчить повторную сборку данных (например, человеческой речи) в правильной последовательности принимающим хостом (т.е. компьютером). Кроме того, они используются системами управления базами данных (СУБД) для определения порядка транзакций в случае сбоя системы (например, сбой компьютера, вызванный потерей электропитания или отказом диска).

Временные метки также обычно используются для предоставления информации о файлах, в том числе о том, когда они были созданы и когда последний раз обращались или изменялись. Эта информация включена в индекс, который представляет собой структуру данных в файловой системе в Unix-подобной операционной системе, которая хранит всю информацию о файле, кроме его имени и его фактических данных.

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

Время, записанное метками времени, может быть измерено с точки зрения времени суток или относительно некоторой начальной точки. И это измерено с высокой точностью в маленьких долях секунды.

Точность времени поддерживается с помощью различных механизмов, включая высокоточные часы, встроенные в компьютеры, и сетевой протокол времени (NTP). NTP использует координированное универсальное время (UTC) для синхронизации времени компьютера с точностью до миллисекунды (а иногда и доли миллисекунды) и использует UDP (протокол пользовательских дейтаграмм), один из основных протоколов Интернета, в качестве транспортного механизма. Отметка

Нажмите здесь, чтобы конвертировать

Митч
источник
спасибо @ Митч, еще один вопрос, это как-то связано с NTP (протокол сетевого времени)?
Лазарь
1
Да, он использует это для расчета времени.
Митч
Хотя в этом случае touchфактически не использует метку времени Unix.
IQAndreas
1
Вопрос ОП: «Что такое временная метка в Linux?» и я объяснил, что такое отметка времени.
Митч