Команда date · 4 min read · Sep 17, 2025
Учебник по команде date в Linux для начинающих (8 примеров)
При работе в командной строке Linux вы можете оказаться в ситуациях, когда вам нужно отобразить (или даже изменить) текущее системное время. Более того, если вы работаете в команде с участниками из разных часовых поясов, вам может понадобиться быть в курсе временной информации для зон, в которых находятся другие участники.
Если вы ищете инструмент, который позволяет вам делать все это (и многое другое), вам будет приятно узнать, что существует команда - названная date - которая делает все это. В этом учебнике мы обсудим основы команды ‘date’, а также как вы можете ее использовать. Но прежде чем мы это сделаем, стоит упомянуть, что все команды и инструкции, упомянутые здесь, были протестированы на Ubuntu 16.04 LTS.
Команда date в Linux
Вот общая синтаксическая структура команды date:
date [OPTION]... [+FORMAT]А вот что говорит страница man об этом инструменте:
date - печатает или устанавливает системную дату и время
Отобразить текущее время в заданном ФОРМАТЕ или установить системную дату.Следующие примеры в формате вопросов и ответов должны дать вам хорошее представление о том, как работает эта команда.
Вопрос 1. Как получить информацию о системной дате/времени с помощью команды date?
Это поведение инструмента по умолчанию. Чтобы узнать дату и время вашей системы, все, что вам нужно сделать, это запустить инструмент следующим образом (да, без каких-либо опций):
dateВот команда в действии:
Таким образом, вы можете видеть, что информация, такая как день, дата, время, часовой пояс, а также год была отображена в выводе.
Вопрос 2. Как получить дату, соответствующую дню?
Чаще всего мы обращаемся к календарям, чтобы узнать, какая дата на определенный день недели. Например, может возникнуть необходимость узнать дату для ‘следующего вторника’. Вам будет приятно узнать, что это также возможно с помощью команды ‘date’.
Опция командной строки -d или –date будет полезна в этом случае:
date -d "next Tuesday"Вот вышеуказанная команда в действии:
Таким образом, как вы можете видеть, команда показала, что следующий вторник - 4 июля.
Ввод для опции -d/–date может быть разного типа. Вот как страница man описывает это:
--date=STRING - это в основном свободный формат читаемой человеком строки даты, такой как
"Вс, 29 Фев 2004 16:21:42 -0800" или "2004-02-29 16:21:42" или даже "следующий четверг".
Строка даты может содержать элементы, указывающие на календарную дату, время суток, часовой пояс, день недели,
относительное время, относительную дату и числа. Пустая строка указывает на начало дня.
Формат строки даты более сложен, чем это легко задокументировать здесь, но полностью описан в
документации info.Чтобы получить доступ к документации info для date, используйте следующую команду:
info dateВопрос 3. Как отобразить информацию о дате/времени в формате ISO 8601?
В случае, если вы хотите, чтобы инструмент отображал информацию о дате/времени в формате ISO 8601, вы можете использовать опцию командной строки –iso-8601. Эта опция требует от вас указать формат.
--iso-8601[=FMT]Вот как страница man объясняет ‘формат’:
FMT='date' для только даты (по умолчанию), 'hours', 'minutes', 'seconds' или 'ns' для даты и времени с
указанной точностью. Пример: 2006-08-14T02:34:56-0600Например, я протестировал следующую команду:
date --iso-8601=secondsИ вот вывод, который она произвела:
2017-06-27T14:20:39+05:30Вопрос 4. Как отобразить дату/время в формате RFC 3339?
Как вы могли догадаться, для этого также существует специальная опция командной строки: –rfc-3339. Как и опция, обсуждаемая в предыдущем разделе, эта также требует от вас ввода спецификатора формата.
Следующий скриншот показывает эту опцию в действии:
Аналогично, вы можете использовать опцию –rfc-2822, чтобы отобразить вывод в этом формате.
Вопрос 5. Как использовать date для отображения времени последнего изменения файла?
Вы также можете использовать команду date для отображения времени последнего изменения файла. Опция -r инструмента позволяет вам это сделать. Вот пример:
date -r file1Вопрос 6. Как установить системную дату/время с помощью команды date?
Чтобы установить системную дату/время на другое значение, используйте опцию командной строки -s. Эта опция требует строки, которая будет использоваться в качестве ввода для установки системной даты/времени.
date -s STRINGПРИМЕЧАНИЕ: Доступные опции, которые вы можете использовать в качестве СТРОК, уже объяснены в Вопросе 2 выше.
Вот пример того, как мы использовали опцию -s, чтобы установить дату и время нашей системы:
date -s "2017-06-27 14:53:00"Пожалуйста, обратите внимание, что вам может понадобиться использовать ‘sudo’, чтобы опция -s работала. Для тех, кто не уверен, что такое sudo, перейдите сюда.
Вопрос 7. Как отобразить текущее время в другом месте?
Чтобы команда ‘date’ отображала текущее время в другом месте - скажем, в Мельбурне, Австралия - используйте ее следующим образом:
TZ="Australia/Melbourne" dateВот вышеуказанная команда в действии:
*Примечание: Вы можете использовать команду ‘tzselect’, чтобы найти значение, которое вам нужно передать в TZ.*
Вопрос 8. Как напечатать или установить Всемирное координированное время (UTC)?
Для этого используйте опцию командной строки -u. Например, следующая команда отобразит информацию в UTC:
date -uЗаключение
Как большинство из вас согласится, команда date вовсе не трудна для понимания и использования. Плюс, тот факт, что она также может использоваться при работе с несколькими географическими местоположениями, делает ее важным инструментом командной строки. Мы обсудили большинство опций командной строки этого инструмента здесь, так что просто попробуйте их на своей системе. Чтобы узнать больше, перейдите на страницу man команды.
Get new posts in your inbox
No spam. Unsubscribe anytime.