Чтобы узнать какое время стоит на компьютере в командной строке Linux используют утилиту date. Она позволяет работать с датой и временем.
Синтаксис
data [параметры] [+ управление выводом ФОРМАТ]
Основные параметры:
- -d. Показывает время и дату в строке. Например tommorow, last tuesday, wednesday, thursday, friday, saturday, sunday. Вся команда пишется date -d tommorow.
- -r. Показывает время изменения файла.
- -R. Выводит время согласно стандарту RFC-2822. Пример Tue, 13 Aug 2019 10:03:27 +0600.
- -s или --set. Устанавливает системное время.
- u. Вывод даты в международном формате UTC.
- --help. На экране покажет справочную информацию.
- --version. Версия программы.
Управление выводом это не обязательный параметр. Чтобы его включить необходимо написать знак + и шаблон.
Основные шаблоны:
- %% - на экране знак процента.
- %a - на экране текущий день недели, в краткой форме. Например "Втр".
- %A - день недели в полной форме. Например "Вторник".
- %b - текущий месяц в краткой форме (Авг).
- %B - месяц в полной форме (Август).
- %c - стандартный вывод даты и времени без часового пояса.
- %C - аргумент покажет две первые цифры от года. Например если в системном времени стоит 2019, то на экране будет "20".
- %d. Покажет какой сегодня день.
- %D. Дата в формате месяц/число/год.
- %e. Покажет какой сегодня день.
- %F. Покажет дату в формате год - месяц - число.
- %h. Текущий месяц в сокращенном варианте. Пример Авг.
- %H. Сколько сейчас часов в формате 24.
- %I. Часы в формате 12.
- %j. Номер дня году, от 001 до 366.
- %m. Какой месяц в формате от 1 -12.
- %M. Выводит минуты в формате 00 до 59.
- %S. Покажет сколько сейчас секунд на системных часах, от 00 до 59.
- %n. Сделает отступ, две строки вниз.
- %t. Табуляция, отступ одна строка вниз.
- %T. Время в формате 00 (часы) : 00 (минуты): 00 (секунды).
- %u. День недели числом, где 1 это понедельник, 2 -вторник, 3 - среда, 4-четверг, 5 - пятница, 6- суббота, 7 - воскресенье.
- %x. Дата - день.месяц.год.
- %X. Время - часы(24) : минуты : секунды.
- %Z. На экране часовой пояс. Пример OMST - это неофициальное название локальной временной зоны города Омска.
- %Y. Год.
Примеры
Для первого примера введем команду без параметров.
date
Как видно на скриншоте выше утилита без параметров покажет текущие время.
Когда синхронизация времени с внешним источником не работает и в локальной сети нет сервера времени, необходимо быстро установить системное время на Линуксе. Для этого используется утилита с параметром "-s". Пусть сейчас точное время 18:00:00.
Тогда установим время так:
date -s 18:00
Добавим дату. Для этого нужно ввести дату по шаблону год-месяц-число и заключить все в кавычки.
date -s "2019-08-14 18:00"
Узнаем дату время изменения файла под именем "file". Для это используем аргумент "-r".
date -r file
ВАЖНО! Если файл не лежит в текущей директории, необходимо указать путь. В моем случае это /root/file
Работа с часовым поясом
Чтобы вывести на экран время в определенном часовом поясе необходимо указать аргумент TZ по шаблону TZ='часовой пояс' date
TZ может принимать значения:
- 'Europe/Moscow';
- 'Europa/Berlin';
- 'Europa/Polsha';
- 'America/Los_Angeles';
- и другие.
Узнаем время по Москве.
TZ='Europe/Moscow' date