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

Linux Date Command with Examples

10 Мая 2020 | Терминал

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

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

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


Использование 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.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: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 Команда может быть использована в качестве преобразователя Epoch. Время, или метки времени Unix, - это количество секунд, прошедших с 1 января 1970 года в 00:00:00 UTC.

Чтобы напечатать количество секунд от эпохи до текущего дня, вызовите 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, 01 июня 2019 г., введите:

date --set="20190601 17:30" 


Вывод

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


    Комментарии

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

Загрузка комментариев...