ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

8 Примеров команды Date для начинающих в Linux

8 Примеров команды Date для начинающих в Linux

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

Если вы ищете инструмент, который позволяет делать все это (и многое другое), вы будете рады узнать, что существует команда date. В этой статье мы обсудим основные команды «date», а также, как вы можете использовать ее. Но прежде чем мы это сделаем, стоит отметить, что все команды и инструкции, упомянутые здесь, были протестированы на Ubuntu 16,04 LTS.

Команда date в Linux

Вот общий синтаксис команды date:

date [OPTION]... [+FORMAT]

 

А вот что говорит страница man об этом:

date - вывод или установка даты и время системы 

Отображение текущего времени в данном формате, или установка системной даты.

 

Следующие примеры должны дать вам хорошее представление о том, как эта команда работает.

 

Q1. Как получить системную дату/время с помощью команды date?

Это поведение по умолчанию. Чтобы узнать дату и время вашей системы, все, что вам нужно сделать, это запустить программу следующим образом (да, любой вариант без):

date

 

Вот команда в действии:

date
Sun Jul  9 19:41:10 MSK 2017

 

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

 

Q2. Как получить дату, соответствующую дню?

Чаще всего, мы смотрим на календари, чтобы знать дату в определенный день недели. Например, требование может быть такое, узнать дату «когда следующий вторник». Вы будете рады узнать, что это возможно с помощью команды «date».

-d или –date параметр командной строки будет помощью в этом случае:

date -d "next Tuesday"

 

Вот вышеприведенная команда в действии:

date -d "next Tuesday"
Tue Jul 11 00:00:00 MSK 2017

 

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

Входной параметр -d/–date может быть разных типов. Вот как man описывает эту команду:

--date = строка в основном свободный формат удобочитаемой строки даты, такие как 
«Sun, 09 Feb 2017 19:21:20 -1905» или «2017-02-09 19:21:20» или даже «в следующий четверг»,  

Строка даты может содержать элементы, указывающие на календарную дату, время суток, часовой пояс, день недели, 
относительное время, относительную дату и номер. Пустая строка указывает на начало дня. 

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

 

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

info date

 

Q3. Как отображать информацию о дате/времени в формате ISO 8601?

В случае, если вы хотите, инструмент для отображения информации о дате/времени в формате ISO 8601, вы можете использовать параметр –iso-8601 командной строки. Эта опция требует, указать формат.

--iso-8601[=FMT]

 

Вот как страница man объясняет «format»:

FMT='date' только для даты (по умолчанию), 'hours', 'minutes', 'seconds', или 'ns' для даты и времени с 
указанной точностью. Пример: 2017-07-09T19:20:30-0600

 

Например, мы тестировали следующую команду:

date --iso-8601=seconds

 

На выходе было произведено:

2017-07-09T19:48:20+03:00

 

Q4. Как отображать дату/время в формате RFC 3339?

Как вы уже догадались, есть специальный параметр командной строки для этого: –rfc-3339. Как вариант, рассмотренный в предыдущем разделе, один также требует ввести формат.

Следующий пример показывает эту опцию в действии:

date --rfc-3339=seconds
2017-07-09 19:49:58+03:00

 

Кроме того, вы можете использовать –rfc-2822 для возможности выводить данные в этом формате.

Q5. Как использовать дату для отображения времени последнего изменения файла?

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

date -r file1

 

Вывод:

date -r file1
Tue Jul 09 19:53:10 MSK 2017

 

Q6. Как установить системную дату/время, используя команду date?

Для установки системной даты/времени на другое значение, используйте параметр -s командной строки. Эта опция требует строку, которая будет использоваться в качестве входных данных для установки системной времени/даты.

date -s STRING

 

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

date -s "2017-06-27 14:53:00"

 

Пожалуйста, обратите внимание, что вам, возможно, придется использовать «sudo» для опции -s.

 

Q7. Как отобразить текущее время в другом месте?

Для того, чтобы команда date отображала текущее время в другом месте – скажем, Мельбурн в Австралии – использовать ее надо следующим образом:

TZ="Australia/Melbourne" date

 

Вот вышеприведенная команда в действии:

TZ="Australia/Melbourne" date
Mon Jul 10 02:59:50 AEST 2017

 

 

Q8. Как распечатать или установить всеобщее Скоординированное время (UTC)?

Для этого используйте параметр -u командной строки. Например, следующая команда будет отображать информацию в формате UTC:

date -u

 

# date -u
Sun Jul  9 16:32:28 UTC 2017

 

Вывод

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

Exit mobile version