Установка даты и времени в linux: Как изменить дату и время в консоли linux

Как установить дату и время в Linux

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

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

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

Как управляется время в Linux

Для обеспечения точного времени в Linux используются два вида часов:

  • Часы реального времени (RTC) или аппаратные часы, встроенные в печатную плату вашего компьютера, работают независимо от операционной системы. Часы по-прежнему работают, даже когда ваша операционная система выключена, перезагружена или находится в спящем режиме.
  • Системные часы также широко известны как программные часы. Поддерживаемые ядром Linux, системные часы зависят от часов реального времени, чтобы получить их начальное время, когда ваша ОС Linux загружается.

По умолчанию ваше системное время хранится в формате универсального скоординированного времени (UTC). Затем ваша система Linux преобразует UTC в правильное местное время в зависимости от вашего региона или часового пояса. Местное время отображается на рабочем столе.

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

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

timedatectl

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

Как настроить или изменить время в Linux

Чтобы установить или изменить время, используйте команду timedatectl вместе с подкомандой set-time:

sudo timedatectl set-time hh:mm:ss

У вас должны быть повышенные привилегии, чтобы установить время или дату.

В вышеупомянутой команде hh означает часы, mm — минуты, а ss — секунды. Время, которое вы указываете, должно быть в 24-часовом формате.

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

sudo timedatectl set-time 00:00:00

Команда обновляет как часы реального времени, так и системные или программные часы. Однако вы не сможете изменить время или дату, если в вашей системе включен протокол сетевого времени (NTP).

Как включить/отключить NTP в Linux

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

Чтобы отключить NTP в Linux, выполните следующую команду:

sudo timedatectl set-ntp false

Чтобы повторно активировать или включить NTP, просто запустите:

sudo timedatectl set-ntp true

После включения система автоматически настроит и синхронизирует время с настроенным временем сервера.

Подкоманда set-ntp не будет работать, если ваша система не поддерживает NTP.

Как установить дату в Linux

Чтобы изменить дату на своем компьютере, вы можете запустить команду timedatectl с подкомандой set-time в следующем формате:

sudo timedatectl set-time YYYY-MM-DD

…где YYYY – год, MM – месяц, а DD – день.

Например, чтобы изменить дату на 1 января 2000 г., введите следующую команду:

sudo timedatectl set-time "2000-01-01 23:00:01"

Мы также указали время, потому что, когда вы указываете только дату, timedatectl автоматически устанавливает время на 00:00, то есть полночь.

Изменение часового пояса в Linux

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

timedatectl list-timezones

Используйте клавишу F на клавиатуре для прокрутки вперед и клавишу B для прокрутки назад по указанным часовым поясам. Кроме того, вы можете использовать клавиши со стрелками для прокрутки.

После того, как вы определите свой часовой пояс, вы можете, например, переключиться на часовой пояс Африки/Блантайра, используя следующую команду:

timedatectl set-timezone Africa/Blantyre

Получение справки из командной строки

Чтобы узнать больше о timedatectl, введите следующую команду:

timedatectl help

Для более полного охвата команды вы можете просмотреть ее справочные страницы, выполнив:

man timedatectl

Альтернативные утилиты часов в Linux

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

Другими традиционными утилитами для настройки часов в Linux являются команды hwclock и date.

2656100cookie-checkКак установить дату и время в Linuxno

Команда Date (Дата) в Linux

Содержание

  1. Как использовать команду Date (дата) Linux?
  2. Отображения команды Date
  3. Показать будущие даты
  4. Показ прошлых дат в Linux
  5. Параметры формата команды Date
  6. Отображение даты из строкового значения
  7. Показать время последнего изменения файла
  8. Команда date для установки часового пояса
  9. date в качестве преобразователя эпох
  10. Использование date с другими командами
  11. Установка даты в Linux
  12. Заключение

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

В этой инструкции мы расскажем про команду date в Linux и покажем примеры использования.

Как использовать команду Date (дата) Linux?

Ниже приведен синтаксис команды date в терминале Linux:

date [option]... [+format]

По умолчанию команда date выводит дату и часовой пояс, в котором настроена система. Чтобы изменить дату и время, вам потребуется пользователь с правами root или sudo.

Отображения команды Date

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

$ date

Команда Date в Linux без параметров (атрибутов)

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

Показать будущие даты

Параметр в строке date -d или —date покажет будущие или предстоящие даты. Чтобы вывести в терминале будущую дату, введите значение например «next Friday» (следующая пятница) или “tomorrow” (завтра).

Чтобы отобразить в терминале завтрашнюю дату, введите следующую команду:

$ date -d ”tomorrow”

Показ завтрашней даты в терминале

Отображение даты следующей пятницы:

$ date -d "next Friday"

Отображение даты следующей пятницы

Показ прошлых дат в Linux

Используя опцию -d, вы можете посмотреть прошлые даты в системе Linux. Команда даты позволяет вводить такие значения, как “yesterday” (вчера), «Saturday» (Суббота), «3 year ago» (3 года назад) и аналогичные. Таким образом, используя следующую параметр -date, вы можете отобразить прошлые даты:

$ date -date "1 year ago"

Показ прошлой даты в Linux 1 год назад

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

$ date -d ”yesterday”

Показ вчерашней даты

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

$ date -d ”last Friday”

Показ даты последней пятницы

Параметры формата команды Date

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

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

$ date +"Year: %Y, Month: %m, Day: %d"

Параметры формата команды Date

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

  • %a — Печатает название дня недели в кратком формате (например, Пн)
  • %A — Используется для отображения полного названия дня недели (например, понедельник)
  • %b — Отображение названия месяца в краткой форме (например, январь)
  • %B — Используется для отображения полного названия месяца (например, январь)
  • %d — Отображает день месяца (например, 05)
  • %H — Время отображения (00. .23)
  • %I — Время отображения в формате (01..12)
  • %j — Отображает день года (001..366)
  • %m — Отображает число месяцев (01..12)
  • %M — Показ минут за 00..59 сек.
  • %S — Отображает секунды (00..60)
  • %u — Отображение числа дней недели (1..7)
  • %Y — Используется для отображения полного года (например, 2019)

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

$ date --help
$ man date

Отображение даты из строкового значения

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

$ date -d "2020-10-09 10:22:47"

Отображение даты из строкового значения

Используя опцию -d, вы также можете отобразить дату в пользовательском форматировании следующим образом:

$ date -d '12 Jan 2021' +'%A, %d %B %Y'

отобразить дату в пользовательском форматировании

Показать время последнего изменения файла

Иногда нам нужно просмотреть время последнего изменения файла. Команда «Date» в системе Linux помогает вам отобразить время последнего изменения файла. При использовании команды «Date«, за которой следует опция «— r«, выводится время изменения файла.

Например, чтобы отобразить дату последнего изменения файла «/etc/hosts«, используйте следующую команду:

$ date -r /etc/hosts

Показать время последнего изменения файла

Команда date для установки часового пояса

Команда «date» отображает часовой пояс вашей системы по умолчанию, определенный в файле «/etc/localtime«. Однако для отображения часового пояса другой страны установите переменную среды » TZ » в нужный часовой пояс.

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

$ timedatectl list-timezones

Просмотреть все доступные списки часовых поясов в Linux

Например, чтобы установить часовой пояс для отображения времени от Сиднея до Австралии, выполните следующую команду:

$ TZ='Australia/Melbourne' date

Изменение часового пояса в Linux

date в качестве преобразователя эпох

Команда «date» также работает как конвертер эпох. Эпоха отображает время в количестве секунд, прошедших со 2 февраля 1975 года в 00:00:00 UTC. Чтобы отобразить время, прошедшее в секундах до текущей даты, используйте команду date  вместе с элементом управления форматом %s:

$ date +%s

Команда date в качестве преобразователя эпох

Например, чтобы просмотреть, сколько секунд прошло с эпохи до определенной даты, используйте следующую команду:

$ date -d "1980-10-25" +"%s"

Команда date в качестве преобразователя эпох

Использование date с другими командами

Команда «date» в системе Linux может быть реализована вместе с другими командами для создания различных имен файлов, содержащих информацию о текущей дате и времени.

В следующем примере мы создали новый файл резервной копии SQL с помощью приведенной ниже команды:

$  mysqldump database_name > database_name-$(date +%Y%m%d). sql

Команда date также может быть использована в сценарии командной оболочки. В следующем примере мы назначили вывод команды date новой переменной » date_now’.

$ date_current=$(date "+%F-%H-%M-%S")
$ echo $date_current

Использование date с другими командами

Установка даты в Linux

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

Например, чтобы вручную установить дату и время в системе Linux на 2:30 вечера 13 октября 2021 года. Выполните приведенную ниже команду:

$ date --set="20211013 05:30"

Установка даты в Linux

В большинстве дистрибутивов Linux системное время по умолчанию синхронизируется с NTP или timedatectl / timesyncd. Так что не нужно сильно беспокоиться о его изменении.

Заключение

Мы рассказали о том, как использовать команду date в системе Linux. Чтобы узнать больше о команде date, можете посмотреть справочные страницы команды date.

 

linux — Как изменить строку часового пояса команды даты?

С export TZ='-8' вы бы определили текущий часовой пояс как названный UTC+8 и на 8 часов опережающий UTC круглый год для прошлых, текущих и будущих дат. .

Затем:

 $ date +'%::z %Z'
+08:00:00 UTC+8
 
 $ дата
Чт 1 декабря 23:04:48 UTC+8 2022
 

Сохранить Азия/Тайбэй (с его историческими изменениями в часовом поясе), но изменить то, что %Z возвращается, вам нужно изменить и перекомпилировать tzdata, из которого он получен.

 подходящий источник tzdata
sudo apt build-dep tzdata
 

Измените раздел для Тайваня на:

 # Правило ИМЯ ОТ К - В НА ПРИ СОХРАНЕНИИ БУКВА/S
Правило Тайваня только 1946 г. - 15 мая 00:00 1:00 9
Правило Тайваня только 1946 — 1 окт 0:00 0 8
Правило Тайваня только 1947 — 15 апреля 00:00 1:00 9
Правило Тайваня только 1947 — 1 ноября 0:00 0 8
Правило Тайвань 1948 1951 — 1 мая 0:00 1:00 9
Правило Тайвань 1948 1951 - 1 окт 0:00 0 8
Правило Тайваня только 1952 – 1 марта 0:00 1:00 9
Рул Тайвань 1952 1954 - 1 ноя 0:00 0 8
Правило Тайвань 1953 1959 - 1 апр 0:00 1:00 9
Правило Тайвань 1955 1961 - 1 окт 0:00 0 8
Правило Тайвань 1960 1961 - 1 июня 0:00 1:00 9
Правило Тайвань 1974 1975 - 1 апр 00:00 1:00 9
Рул Тайвань 1974 1975 - 1 окт 0:00 0 8
Правило Тайвань 19Только 79 - 1 июля 0:00 1:00 9
Правило Тайваня только 1979 — 1 октября 0:00 0 8
# НАЗВАНИЕ ЗОНЫ STDOFF ПРАВИЛА ФОРМАТ [ДО]
# Тайбэй или Тайбэй или Тайбэй
Зона Азия/Тайбэй 8:06:00 - UTC+8:06 1896 1 января
            8:00 – UTC+8 1 октября 1937 г. 
            9:00 - UTC+9 1945 21 сент. 1:00
            8:00 Тайвань UTC+%s
 

Затем создайте новый пакет tzdata с помощью:

 dpkg-buildpackage -b
 

Установите созданный пакет.

Затем:

 $ экспорт TZ=Азия/Тайбэй
$ дата
Чт 1 декабря 23:17:41 UTC+8 2022
$ дата -d 1979-08-01
Ср 1 августа 00:00:00 UTC+9 1979
$ дата -d 1892-06-01
Ср 1 июня 00:00:00 UTC+8:6 1892
 

Вам нужно будет повторять это каждый раз, когда обновляется исходный пакет Ubuntu (что происходит довольно много раз в год, например, каждый раз, когда любое правительство в любой стране принимает решение о новой дате или правиле изменения летнего времени), так что, вероятно, нет практичный.

Если у вас проблемы только с выводом date , вы также можете сделать:

 $ date +"$(locale date_fmt | sed 's/%Z/UTC%:z/')"
Пт 2 дек 00:31:05 UTC+08:00 2022
 

вместо

 $ дата
Пт 2 декабря 00:31:05 CST 2022
 

Или:

 $ date +"$(locale d_t_fmt | sed 's/%Z/UTC%:z/')"
Пт 02 дек 2022 00:33:02 UTC+08:00
 

вместо:

 $ дата +%c
Пт 02 дек 2022 00:33:02 CST
 

Те:

 $ locale -k LC_TIME | grep fmt
d_t_fmt="%a %d %b %Y %T %Z"
d_fmt="%d/%m/%y"
t_fmt="%T"
t_fmt_ampm="%l:%M:%S %P %Z"
эра_d_fmt=""
эра_d_t_fmt=""
эра_т_фмт=""
date_fmt="%a %e %b %H:%M:%S %Z %Y"
 

Можно изменить, скомпилировав новую локаль с вашими предпочтениями:

 localedef -i <(sed 's/%Z/UTC%z/g' /usr/share/i18n/locales/en_GB) \
          -f UTF-8 ~/. locales/en_GB.UTF-8@mytimezoneformat
экспорт LOCPATH=~/.locales LC_TIME=en_GB.UTF-8@mytimezoneformat
 

(выше установлен в моем домашнем каталоге, но вы также можете сделать это для всей системы и не устанавливать $LOCPATH ).

Тогда:

 $ дата
Пт 2 дек 01:11:16 UTC+0800 2022
$ дата +%c
Пт 02 дек 2022 01:11:20 UTC+0800
 

Установить время, дату, часовой пояс в Linux из командной строки или Gnome

Автор Guillermo Garron
Дата: 19.04.2012 15:55:00 00:00


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

Установить дату из командной строки

 дата +%Y%m%d -s "20120418"
 

Установить время из командной строки

 дата +%T -s "11:14:00"
 

Установить время и дату из командной строки

 дата -s "19 апреля 2012 г.  11:14:00"
 

Дата проверки Linux из командной строки

 дата
 

Покажет что-то вроде этого:

 Чт 19 апр 15:17:34 БОТ 2012
 

Установка аппаратных часов

Аппаратные часы — это часы, которые работают на оборудовании вашего ПК, даже если вы отключите его от основного источника питания. Это потому, что в современных компьютерах используется литиевая батарея, а в старых — другой тип батареи.

Мы увидим разницу между аппаратными и системными часами

 hwclock --show
 

Выведет что-то вроде этого:

 Чт, 19 апреля 2012 г., 15:23:05 BOT -0,785086 секунд
 

Теперь проверьте системные часы

 дата
 

Выведет что-то вроде этого:

 Чт 19 апр 15:26:41 БОТ 2012
 

Давайте установим аппаратные часы на местное время:

 hwclock --set --date="2012-04-19 16:45:05" --localtime
 

Если вы хотите установить время UTC, используйте:

 hwclock --set --date="2011-04-19 20:45:05" --utc
 

Установить часовой пояс

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

 cp /usr/share/zoneinfo/America/La_Paz /etc/localtime
 

Выберите подходящий для вас часовой пояс.

Автоматическая настройка часов компьютера

Чтобы ваша система автоматически настраивала время, нам нужно установить ntp . Получите его из своего репозитория. После установки вы можете настроить его следующим образом:

Отредактируйте файл /etc/ntpd.conf . Это будет выглядеть так:

 # С приведенными ниже настройками по умолчанию ntpd будет синхронизировать только ваши часы.
#
# Подробнее см.:
# - справочная страница ntp.conf
# - http://support.ntp.org/bin/view/Support/GettingStarted
# - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon
# Связь с общедоступными серверами пула NTP; см. http://www.pool.ntp.org/
сервер 0.pool.ntp.org
сервер 1.pool.ntp.org
сервер 2.pool.ntp.org
# Разрешить доступ только для чтения с локального хоста
ограничить noquery nopeer по умолчанию
ограничить 127.0.0.1
ограничить ::1
# Расположение дрейфа и лог-файлов
файл дрейфа /var/lib/ntp/ntp.drift
лог-файл /var/log/ntp.