Веб-Мастеру

Команда Date в Linux с примерами

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

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

 

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

date [OPTION]... [+FORMAT]

 

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

date

 

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

Sat Jun  1 14:31:01 MSK 2019

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

date +"Год: %Y, Месяц: %m, День: %d"

 

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

Год: 2019, Месяц: 06, День: 02

 

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

date "+ДАТА: %D%nВРЕМЯ: %T"
ДАТА: 06/02/19
ВРЕМЯ: 01:47:04

 

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

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

 

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

 

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

date -d "2010-02-07 12:54:21"
Sun Feb  7 12:54:21 MSK 2010

 

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

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

 

Строка даты также может принимать значения, такие как “tomorrow”, “friday”, “last friday” “next friday”, “next month”, “next week”… и т. д.

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

 

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

date -d 'TZ="Europe/Moscow" 06:30 next Monday'
Mon Jun 10 06:30:00 MSK 2019

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

Например, чтобы показать время по Москве, введите:

TZ='Europe/Moscow' date
Sat Jun  1 22:35:10 MSK 2019

 

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

 

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

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

date +%s
1559393792

 

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

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

Команда 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-02-12-54-31

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

date -r /etc/hosts
Tue Jul 24 12:54:31 MSK 2019

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

 

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

Однако, если вы хотите установить системные часы вручную, вы можете использовать опцию –set=. Например, если вы хотите установить дату и время 12:54, 02 июня 2019 г., введите:

date --set="20190602 12:54"

К настоящему времени вы должны хорошо понимать, как использовать команду date в Linux.

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

Источник: AndreyEx.ru

Похожие записи

Загрузка ....