Linux date примеры: руководство для начинающих.

Если вы начинаете изучать работу с командной строкой в Linux или хотите лучше понять, как управлять датой и временем в системе, эта статья для вас.

Мы подробно расскажем о команде date, приведем популярные примеры и объясним, как использовать эту команду для различных задач.

Что такое команда date в Linux?

Команда date — это одна из стандартных команд в Linux, которая отображает текущую дату и время. Она также позволяет задавать или изменять системные часы (требуются root права) и выводить дату в нужном формате.

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

1. Проверка текущей даты и времени

Самый простой пример — вывести текущую дату и время в системе:

[root@waky practice]# date
Wed Jan  7 06:05:16 AM MSK 2026
[root@waky practice]#

Здесь отображается день недели, дата, время, часовой пояс и год.

2. Форматирование вывода даты

Вы можете настроить вывод так, чтобы он отображал только нужные вам части даты. Для этого команда date использует специальные форматы, задаваемые с помощью +, например:

[root@waky practice]# date +%Y-%m-%d
2026-01-07
[root@waky practice]#

Существуют следующие значения:

ОбозначениеОписаниеПример
%Yгод в четырехзначном формате2026
%mмесяц в числовом виде (01-12)01
%dдень (01-31)07
%Hчас (00-23)06
%Mминута (00-59)05
%Sсекунда (00-60)16
%Aдень недели (название)Wednesday
%Bмесяц (название)January
%Zчасовой пояс (аббревиатура)MSK

В данном примере мы вывели текущую дату: год-месяц-день. при этом использовали дефис () в качестве разделителя.

В качестве разделителя можно использовать различные символы, например:

  • дефис (-): date +%Y-%m-%d
  • прямой слеш (/): date +%m/%d/%Y
  • двоеточие(:): date +%H:%M:%S
  • точку(.): date +%d.%m.%y
  • пробел( ): date «+%d %B %Y»
  • подчеркивание(_): date +%Y_%m_%d

Можно использовать и несколько разделителей одновременно:

[root@waky practice]# date +"%d/%B/%Y %H:%M:%S"
07/January/2026 06:22:36
[root@waky practice]#

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

3. Создание и отображение произвольной даты

Команда date позволяет не только показывать текущие дату и время, но и создавать произвольные значения с помощью опции -d:

[root@waky practice]# date -d "2027-01-01 00:00" +"%A, %d %B %Y"
Friday, 01 January 2027
[root@waky practice]#

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

4. Расчет даты

Чтобы узнать, какая дата будет через некоторое время, используется относительное задание даты/времени. Например, завтра:

[root@waky practice]# date -d "+1 day"
Thu Jan  8 06:34:41 AM MSK 2026
[root@waky practice]#

Послезавтра:

[root@waky practice]# date -d "+2 day"
Fri Jan  9 06:35:13 AM MSK 2026
[root@waky practice]#

Через неделю:

[root@waky practice]# date -d "+1 week"
Wed Jan 14 06:35:41 AM MSK 2026
[root@waky practice]#

Или назад в прошлое, вчера:

[root@waky practice]# date -d "-1 day"
Tue Jan  6 06:36:24 AM MSK 2026
[root@waky practice]#

Неделю назад:

[root@waky practice]# date -d "-1 week"
Wed Dec 31 06:37:29 AM MSK 2025
[root@waky practice]#

Доступные варианты вполне очевидны: second, minute, hour, day, week, month, year.

5. Получение UNIX времени

Unix-время — это система исчисления времени, представляющая собой количество секунд, прошедших с «эпохи Unix» — 00:00:00 по Всемирному координированному времени (UTC) 1 января 1970 года.

Это просто число — временная метка (timestamp), удобное для компьютеров, так как оно одинаково для всех систем и позволяет легко работать с датами и временем в программном обеспечении.

Получить такую временную метку можно с помощью формата %s:

[root@waky practice]# date +%s
1767757317
[root@waky practice]#

Так же работает и обратное превращение:

[root@waky ~]# date -d @1767757317
Wed Jan  7 06:41:57 AM MSK 2026
[root@waky ~]#

6. Смена времени

С помощью команды date можно не только выводить текущее время, но и устанавливать его.

Задание конкретной даты с помощью опции s:

[root@waky practice]# date -s "2026-01-03"
Sat Jan  3 12:00:00 AM MSK 2026
[root@waky practice]# date
Sat Jan  3 12:00:10 AM MSK 2026
[root@waky practice]#

Либо с помощью относительного указания:

[root@waky practice]# date -s "+ 4 day"
Wed Jan  7 12:01:16 AM MSK 2026
[root@waky practice]# date
Wed Jan  7 12:01:26 AM MSK 2026
[root@waky practice]#

Имейте в виду, что такое изменение носит временный характер, и после перезагрузки будет восстановлено прежнее значение. Возможность менять системное время в моменте, может быть полезна при диагностике процессов и ошибок, зависящих от времени.

Для реальной смены времени используйте timedatectl.

Почему команда date важна для пользователей Linux?

Команда date — универсальный инструмент для работы с датой и временем. Она помогает:

  • выводить текущие дату и время в нужном формате
  • создавать отчеты и лог-файлы с правильной отметкой времени
  • автоматизировать задачи, связанные с датами
  • управлять временными метками при скриптовании

Краткие советы:

Чтобы вывести дату в новом формате, используйте date +»ваш_формат»

Для работы с произвольной датой используйте -d

Для получения Unix-времени используйте +%s

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

Заключение

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