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

Обновлено: 07.07.2024

Немного теории. В любом компьютере есть два вида часов. Одни аппаратные (ЧРВ — часы реального времени или RTC — real time clock), которые работают даже при выключенном блоке питания, на это у них есть батарейка на материнской плате. Другие программные, то есть часы операционной системы. Показания этих часов могут различаться. При этом программные часы опираются на показания аппаратных при старте операционной системы. А в дальнейшем могут синхронизироваться через интернет с эталонными и корректировать ход аппаратных.
В большинстве случаев если компьютер работает под управлением операционной системой Windows показания аппаратных и программных часов совпадают. В Linux же чаще всего аппаратные часы настраивают по гринвичу (времени нулевого меридиана), а программные по необходимому смещению для часового пояса где расположен сервер.
Абсолютное большинство программ (приложений и сервисов) в своей работе опираются на показания системных (программных) часов.

Установка времени в ОС Linux

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

Установка временной зоны (timezone)

Временная зона под Linuxом устанавливается через символическую ссылку, из /etc/localtime на файл из дирректории /usr/lib/zoneinfo(или /usr/share/zoneinfo), чем указывается в какой временной зоне вы находитесь. Например я живу в Киев (Киевский часовой пояс EET) я должен сделать ссылку /etc/localtime на файл /usr/lib/zoneinfo/Europe/Kiev. Для этого даем команду:
ln -sf ../usr/share/zoneinfo/Europe/Kiev /etc/localtime
Замените your/zoneна соответствующую вашему месту расположения зону, например Europe/Moscow или Australia/Perth. Чтобы узнать какие временные зоны доступны посмотрите в дирректорию /usr/lib/zoneinfo(или /usr/share/zoneinfo).

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

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

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

Как работает время на компьютере?

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

Операционная система передает значение таймера в память BIOS при выключении и берет его оттуда при включении. Отсюда берутся проблемы со временем при двойной загрузке Windows и Linux, но эта тема раскрыта в другой статье - сбивается время в Ubuntu и Windows. Другая проблема почему может сбиваться время - это неверно установленный часовой пояс. Если вы установили часовой пояс linux неверно, то часы будут постоянно синхронизироваться через интернет и идти неверно.

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

Установка времени Linux

Вы можете видеть текущее время прямо на вашем рабочем столе, в KDE часы добавлены на панель, да и в Gnome, они размещены по центру панели по умолчанию:


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


Но настроить время здесь уже не получится. Для этого нужно открывать настройки системы. Мы будем рассматривать настройки для Gnome. Откройте меню Dash и наберите в строке поиска "Параметры":

Дальше откройте "Дата и время":

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


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


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

Установка времени через терминал

Кроме графического интерфейса, у вас есть возможность делать все необходимые действия через терминал. Для этого есть утилита date. Сначала смотрим текущее время:


У утилиты есть множество опций отображения и настроек, но мы не будем их рассматривать. Есть еще одна команда, которая позволяет посмотреть системное время linux:


Чтобы установить время можно использовать ту же команду date. Для этого ей нужно передать строку со временем и датой, например:

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

sudo date --set "Wed Sep 6 20:43:36 EEST 2017"


Если у вас включена коррекция даты через интернет, то ее нужно отключить перед этим, потому что вы даже заметить изменений не успеете, как сервер времени linux установит правильное время. Можно сократить эту строку:

sudo date --set "Sep 6 20:43:36 2017"

Это даст тот же результат. Еще один вариант - указать формат данных, которые вы собираетесь передавать с помощью модификаторов, например, изменить время linux:

sudo date +%T -s "20:43:36"

Здесь формат очень прост - часы:минуты:секунды. Можно давать время в 12 часовом формате, для этого добавьте модификатор %p:

date +%T%p -s "8:43:36PM"

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

Еще один новый инструмент от systemd для управления временем - timedatectl. С помощью него можно выполнить те же операции, сначала смотрим доступную информацию о времени:

Текущее системное время отображается в строке Local Time. Чтобы изменить дату, используйте опцию -set-time. Синтаксис передаваемого ей параметра такой: ГГГГ-ММ-ДД ЧЧ:ММ:СС. Думаю тут понятно и без комментариев. Например:

sudo timedatectl --set-time "2017-09-06 20:43:36"


Можно задать только время, тогда нужно использовать синтаксис времени ЧЧ:ММ:СС, например:

sudo timedatectl --set-time "20:43:36"

Еще раз говорю, что если включена синхронизация по сети, то вы не сможете изменить время. Но с помощью timedatectl ее можно отключить:

sudo timedatectl set-ntp no

Или включить обратно:

sudo timedatectl set-ntp yes

C помощью этой же команды можно не только установить время linux, но и настроить часовой пояс, для этого используйте опцию set-timezone:

sudo timedatectl set-timezone 'Russia/Moscov'

Вы можете посмотреть список доступных часовых поясов командой:


Видео о настройке времени с помощью timedatectl:

Выводы

Вот и все. Теперь вы знаете как выполняется установка времени linux. Как видите, это очень просто, вы можете использовать различные способы, в зависимости от того, что вам будет удобнее. Если у вас остались вопросы, спрашивайте в комментариях!

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

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

Установка времени в Linux

Количество прошедших секунд может быть получено этой командой в системах Linux / Unix:

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

Дата Linux может быть установлена ​​с использованием следующего синтаксиса:

Например, мы можем установить дату до 22 июня 2090 года:

Установите время в Linux

Время Linux можно установить с помощью следующего синтаксиса:

Например, мы можем установить время до 12:28:

Установка даты и времени в Linux

Дата и время могут быть установлены командой даты одновременно:

Например, мы можем установить дату и время до 11:28 22 июня 2090 года:

Способ установки даты и времени:

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

Конфигурационный файл для часового пояса обычно используется / etc / localtime, который часто является символической ссылкой на локальное время файла или на правильный файл часового пояса в системе. Каталог часового пояса: / usr / share / zoneinfo, где вы можете найти список регионов часовых поясов. В некоторых дистрибутивах, таких как Fedora / RHEL / Cent OS, файлы зон используют формат / usr / share / zoneinfo / REGION / CITY.

Метод установки часового пояса Linux:

При необходимости обновлять информацию о часовом поясе

Найдите соответствующий часовой пояс из / etc / localtime и создайте для него символическую ссылку
Например, мы хотим установить часовой пояс в Гонконге:

Проверка изменения часового пояса
$ date
Вы можете получить такой вывод:

$ date
Вт Июн 22 12:33:10 HKT 2017

Некоторые связанные с этим утилиты

Вот некоторые связанные с ним утилиты времени и времени Linux.

Обновление текущего системного времени по rdate

Установите аппаратные часы

У Fedora / RHEL / CentOS есть инструмент установки даты / времени
Вы можете использовать GUI-инструмент в дистрибутивах Red Hat:

и затем выберите запись в часовом поясе.

Выводы

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

Также, не забывайте делится мнением о руководстве на своих страницах в Facebook, Google+, Twitter, ВКонтакте или Одноклассники. Мы будем очень признательным вам за это.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.


Время является важным аспектом в системах Linux, особенно в критически важных службах, таких как задания cron.

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

В этой статье мы сконцентрируемся на том, как установить время / дату / часовой пояс и синхронизировать часы сервера с вашим компьютером с Ubuntu Linux.

Проверьте текущее время

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

Эти команды могут быть выполнены прямо из терминала от обычного пользователя или от суперпользователя.

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

Войдите в систему как пользователь root и используйте команду следующим образом:

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

Использование команды timedatectl

Для проверки состояния времени в вашей системе, а также текущих настроек времени, используйте команду timedatectl, как показано далее:

Изменение времени

Мы используем timedatectl для изменения системного времени в формате HH: ММ: ss.

Для установки времени на 09:08:07 используйте команду следующим образом (используя timedatectl)

Используя команду date

Изменение времени означает, что все системные процессы выполняются в одно и то же время, при этом рабочий стол и сервер работают одновременно.

Из командной строки используйте команду date следующим образом:

• 10: час (hh)
• 13: минута (мм)
• 13: Второй (ss)

Чтобы изменить локаль на AM или PM, используйте %p в следующем формате.

Изменение даты

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

Если по какой-либо причине вам необходимо изменить его вручную с помощью команды date, мы можем использовать эту команду:

Он установит текущую дату и время вашей системы на «25 января 2014 года» и «09: 17: 00 AM».

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

Вы можете использовать timedatectl, чтобы установить время и дату соответственно.

Чтобы изменить дату на 15 января 2019 года, вы должны использовать следующую команду

Создать пользовательский формат даты

Чтобы создать собственный формат даты, используйте знак плюс (+)

$ date +”Day : %d Month : %m Year : %Y”
Day: 05 Month: 12 Year: 2013

Формат %D соответствует формату год / месяц / день.

Вы также можете указать название дня, если хотите.

Вот некоторые примеры :

$ date +”%A %B %d %Y %T”
Friday December 06 2013 00:30:37

$ date +”%A %B-%d-%Y %c”
Friday December-06-2013 12:30:37 AM WIB

Отобразить список / изменить часовые пояса

Изменение часового пояса имеет решающее значение, если вы хотите, чтобы все синхронизировалось с сетевым протоколом времени.

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

Приведенная выше команда представит прокручиваемый формат.


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

Для отображения часового пояса выполните:

Установите Local-RTK

Часы реального времени (RTC), которые также называются аппаратными часами, не зависят от операционной системы и продолжают работать, даже когда сервер выключен.

Используйте следующую команду:

Кроме того, следующая команда для местного времени

Проверить / изменить время CMOS

Аккумулятор CMOS компьютера автоматически синхронизирует время с системными часами, если CMOS работает правильно.

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

Для синхронизации даты CMOS с системной датой используйте следующий формат

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

Читайте также: