Команда Date в Linux

Примеры команд даты в Linux

В этом уроке мы рассмотрим основы команды date .

Команда date отображает или устанавливает системную дату. Чаще всего она используется для вывода даты и времени в различных форматах, а также для расчёта будущих и прошедших дат.

Использование команды Linux date

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

 date [ OPTION ] ... [ +FORMAT ]

Чтобы отобразить текущее системное время и дату с использованием форматирования по умолчанию, вызовите команду без каких-либо параметров и аргументов:

 date

Вывод включает день недели, месяц, число месяца, время, часовой пояс и год:

 Sat Jun 1 14:31:01 CEST 2019

Параметры форматирования даты

Вывод команды date можно отформатировать с помощью последовательности символов управления форматом, которым предшествует знак + . Элементы управления форматом начинаются с символа % и заменяются своими значениями.

 date +"Year: %Y, Month: %m, Day: %d"

Символ %Y будет заменен на год, %m на месяц, а %d на день месяца:

 Year: 2019, Month: 06, Day: 02

Вот еще один пример:

 date "+DATE: %D%nTIME: %T"
 DATE: 06/02/19 TIME: 01:47:04

Ниже приведен небольшой список наиболее распространенных символов форматирования:

  • %a — сокращенное название дня недели в данном регионе (например, Пн)
  • %A — сокращенное полное название дня недели в соответствии с регионом (например, понедельник)
  • %b — сокращенное название месяца в соответствии с регионом (например, Янв)
  • %B — сокращенное название месяца в соответствии с региональными настройками (например, январь).
  • %d — День месяца (например, 01)
  • %H — Час (00..23)
  • %I — Час (01..12)
  • %j — День года (001..366)
  • %m — Месяц (01..12)
  • %M — Минута (00..59)
  • %S — Секунда (00..60)
  • %u — День недели (1..7)
  • %Y — полный год (например, 2019)

Чтобы получить полный список всех параметров форматирования, выполните команду date --help или man date в терминале.

Дата Строка

Параметр -d позволяет работать с конкретной датой. Вы можете указать дату в виде строки, удобной для восприятия человеком, как показано ниже:

 date -d "2010-02-07 12:10:53"
 Sun Feb 7 12:10:53 CET 2010

Использование пользовательского форматирования:

 date -d '16 Dec 1974' +'%A, %d %B %Y'
 Monday, 16 December 1974

Строка даты принимает такие значения, как «завтра», «пятница», «прошлая пятница», «следующая пятница», «следующий месяц», «следующая неделя» и т. д.

 date -d "last week"
 Sat May 25 14:31:42 CEST 2019

Вы также можете использовать строку даты для отображения местного времени в разных часовых поясах. Например, чтобы увидеть местное время в 6:30 утра следующего понедельника на восточном побережье Австралии, введите:

 date -d 'TZ="Australia/Sydney" 06:30 next Monday'
 Sun Jun 2 22:30:00 CEST 2019

Переопределить часового пояса

Команда date возвращает дату в системном часовом поясе по умолчанию. Чтобы использовать другой часовой пояс, задайте переменную окружения TZ в соответствии с желаемым часовым поясом.

Например, чтобы увидеть время в Мельбурне, Австралия, введите:

 TZ='Australia/Melbourne' date
 Sat Jun 1 22:35:10 AEST 2019

Чтобы вывести список всех доступных часовых поясов , вы можете либо вывести список файлов в каталоге /usr/share/zoneinfo либо использовать команду timedatectl list-timezones .

Конвертер эпох

Команда date может использоваться для преобразования эпохи. Эпоха, или временные метки Unix, — это количество секунд, прошедших с 00:00:00 UTC 1 января 1970 года.

Чтобы напечатать количество секунд от эпохи до текущего дня, вызовите date с элементом управления форматом %s :

 date +%s
 1559393792

Чтобы преобразовать секунды с начала эпохи в дату, задайте секунды как строку даты с префиксом @ :

 date -d @1234567890
 Sat Feb 14 00:31:30 CET 2009

Использование date с другими командами

Команда date чаще всего используется для создания имен файлов , содержащих текущее время и дату.

Приведенная ниже команда создаст файл резервной копии Mysql в следующем формате database_name-20190601.sql

 mysqldump database_name > database_name-$(date +%Y%m%d).sql

Вы также можете использовать команду date в своих скриптах оболочки. В примере ниже мы присваиваем вывод date переменной date_now :

 date_now = $( date "+%F-%H-%M-%S" ) echo $date_now
 2019-06-01-15-02-27

Отображение времени последнего изменения файла

Команда date с опцией -r показывает время последнего изменения файла. Например:

 date -r /etc/hosts
 Tue Jul 24 11:11:48 CEST 2018

Если вы хотите изменить временную метку файла, используйте команду touch .

Установите системное время и дату

Устанавливать системное время и дату вручную с помощью команды date не рекомендуется, поскольку в большинстве дистрибутивов Linux системные часы синхронизируются с помощью служб ntp или systemd-timesyncd .

Однако, если вы хотите установить системные часы вручную, вы можете использовать параметр --set= . Например, чтобы установить дату и время на 17:30 1 июня 2019 года, введите:

 date --set="20190601 17:30"

Заключение

Команда Linux date отображает или устанавливает системную дату и время.

Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.

дата терминала

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *