Установка времени и даты в linux: Команда date в Linux | Losst
Команда date в Linux | Losst
Главное свойство утилит GNU/Linux — делать что-то одно, но эффективно. Яркий пример — команда date Linux, работающая с датой и временем. С её помощью можно извлекать любую дату в разнообразном формате, в том числе и рассчитывать прошлое и будущее время. Привилегированные пользователи могут перезаписывать системное время, используя её.
Утилита предустановлена во всех дистрибутивах GNU/Linux. В этой статье будут рассмотрены возможности date и способы применения этой команды.
Содержание статьи:
Синтаксис команды date
Программа может выполнятся от имени обычного пользователя. Стандартный синтаксис команды (квадратные скобки обозначают необязательное наличие):
date [ОПЦИИ] … [+ФОРМАТ]
Ниже представлена таблица с часто применяемыми опциями для date.
Опция | Длинный вариант | Значение |
---|---|---|
-d STRING | —date=STRING | Вывод даты по указанной строке (например ‘yesterday’, ‘tomorrow’, ‘last monday’). |
-I | —iso-8601[=FMT] | Вывод даты в формате ISO 8601. FMT по умолчанию содержит ‘date’. Также может содержать ‘hourse’, ‘minutes’, ‘seconds’, ‘ns’ для отображения соответствующих значений и часовой пояс относительно UTC рядом с датой. |
—rfc-3339=FMT | Вывод даты в формате RFC 3339. FMT по умолчанию содержит ‘date’. Также может содержать ‘seconds’ и ‘ns’ для отображения секунд или наносекунд. | |
-r FILE | —reference=FILE | Вывод даты последней модификации указанного файла в формате по умолчанию. |
-u | —utc | Вывод UTC-даты |
Аргумент ФОРМАТ отвечает за форматирование вывода даты. Для его указания необходимо поставить знак «+» и написать нужную маску. Наиболее популярные форматы:
Формат | Значение |
---|---|
%% | Знак процента |
%a | День недели текущей локали в короткой форме («Чтв») |
%A | День недели текущей локали в длинной форме («Четверг») |
%b | Месяц года текущей локали в короткой форме в родительном падеже («янв») |
%B | Месяц года текущей локали в длинной форме в родительном падеже («января») |
%c | Дата и время текущей локали без указания часового пояса |
%С | Первые две цифры текущего года |
%d | Числовой день месяца с ведущим нулём |
%D | Дата в формате %m/%d/%y |
%e | День месяца; аналог %_d |
%F | Дата в формате %Y-%m-%d |
%h | Аналог %b |
%H | Часы (00. .23) |
%I | Часы (01..12) |
%j | День года (001..366) |
%m | Месяц (01..12) |
%M | Минуты (00..59) |
%n | Новая строка |
%q | Квартал года |
%S | Секунды (00..59) |
%t | Знак табуляции |
%T | Время в формате %H:%M:%S |
%u | Числовой день недели; 1 — понедельник |
%x | Дата в локальном формате |
%X | Время в локальном формате |
%Z | Аббревиатура временной зоны |
Примеры использования date
Введем команду без параметров.
date
Будет отображена текущая дата и время в соответствии с настройками локали системы.
Команда date без параметров по умолчанию применяет маску %a %b %d %X %Z. Поскольку все форматы должны быть переданы как один параметр (из-за принципа обработки данных командным интерпретатором Bash), пробелы между ними необходимо экранировать обратным слэшем (\) или взять в кавычки.
Особое внимание следует уделить параметру -d (—date). Его функциональность не слишком очевидна, но при этом наиболее обширна.
Пример 1. Вычисление даты по числу секунд, прошедших с 1 января 1970 года.
date --date='@1234567890'
Пример 2. Вычисление даты и времени следующего понедельника при указании часового пояса Нью-Йорка в 03:00.
date --date='TZ="America/New_York" 03:00 next mon'
Обратите внимание: указывать название дня недели или месяца можно в любом регистре, в короткой или длинной форме. Параметры next и last обозначают следующий и прошедший, соответственно, ближайшие дни недели.
Пример 3. Если текущий день месяца — последний, сформировать отчет о занятости дискового пространства корневого и домашнего каталога в файл report.
#!/bin/bash
if [[ $(date --date='next day' +%d) = '01' ]]; then
df -h / /home > report
Такой скрипт можно использовать для автоматизации работы с помощью демона crontab или anacron.
Выводы
Команда date Linux является эффективным инструментом работы с датой и временем, с широкой возможностью их расчёта для прошедших или будущих показателей. Также она применяется в написании сценариев в командном интерпретаторе Bash.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Оцените статью:
Загрузка…
Linux установка даты и времени
Содержание статьи
Какие часы бывают в Linux
Немного теории. В любом компьютере есть два вида часов. Одни аппаратные (ЧРВ — часы реального времени или 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?
Кроме графического интерфейса, у вас есть возможность делать все необходимые действия через терминал. Для этого есть утилита date.
Самое первое, что может нам понадобиться — просмотр текущей даты и времени. Узнаём время с помощью команды$ date
Втр Сен 17 12:36:46 UTC 2017
Linux установка датыdate +%Y%m%d -s "20170917"
Linux задать время из консолиdate -s "16:17:00"
Задать время и дату одновременно:date -s "17 SEP 2017 16:17:00"
Если указать только дату без времени, то время будет установлено в 0 часов 0 минут:date -s "17 SEP 2017"
Выдаст результат:Вск Сен 13 00:00:00 UTC 2017
Однако, сразу после этих команд, стсемное время возвращается к предыдущему значению. Поэтому нужно вначале установить аппаратные часы. Узнать, сколько времени на аппаратных часах, можно командой:hwclock
ранее эта команда называлась clock.
Установить аппаратные часы можно командой:hwclock --set --date="2011-08-14 16:45:05"
После чего надо засинхронизировать системные часы с аппаратными:hwclock -s
По идее, если временная зона настроена как локальная, после этой команды время на компьютере будет таким же как и на аппаратных часах.
Если вы сталкиваетесь с ошибкой:date: cannot set date: Operation not permitted
Учтите, что время и дату имеет право изменять только root-пользователь. Поэтому задавайте время с sudo:sudo date +%Y%m%d -s "20170917"
Текущее системное время отображается в строке Local Time. Чтобы изменить дату, используйте опцию -set-time. Синтаксис передаваемого ей параметра такой: ГГГГ-ММ-ДД ЧЧ:ММ:СС. Думаю тут понятно и без комментариев.
Дополнительную информацию вы можете получить командойdate --help
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
Примечание:
Доступные опции, которые можно использовать в качестве строк уже объяснены в Q2 выше.
Вот пример того, как мы использовали параметр -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
Примечание:
Вы можете использовать команду «tzselect», чтобы найти значение, которое нужно для TZ.
Q8. Как распечатать или установить всеобщее Скоординированное время (UTC)?
Для этого используйте параметр -u командной строки. Например, следующая команда будет отображать информацию в формате UTC:
date -u
# date -u Sun Jul 9 16:32:28 UTC 2017
Вывод
Как большинство из вас, согласитесь, команда date не трудно понять и использовать. Кроме того, тот факт, что она также может быть использована при работе с несколькими географическими местами делает ее важным инструментом командной строки. Мы обсудили большинство параметров командной строки здесь, так что просто попробуйте их на вашей системе.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Linux установка даты и времени в консоли
Linux установка даты и времени
Какие часы бывают в Linux
Немного теории. В любом компьютере есть два вида часов. Одни аппаратные (ЧРВ — часы реального времени или 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?
Кроме графического интерфейса, у вас есть возможность делать все необходимые действия через терминал. Для этого есть утилита date.
Самое первое, что может нам понадобиться — просмотр текущей даты и времени. Узнаём время с помощью команды
$ date
Втр Сен 17 12:36:46 UTC 2017
Linux установка даты
date +%Y%m%d -s «20170917»
Linux задать время из консоли
date -s «16:17:00»
Задать время и дату одновременно:
date -s «17 SEP 2017 16:17:00»
Если указать только дату без времени, то время будет установлено в 0 часов 0 минут:
date -s «17 SEP 2017»
Выдаст результат:
Вск Сен 13 00:00:00 UTC 2017
Однако, сразу после этих команд, стсемное время возвращается к предыдущему значению. Поэтому нужно вначале установить аппаратные часы. Узнать, сколько времени на аппаратных часах, можно командой:
hwclock
ранее эта команда называлась clock.
Установить аппаратные часы можно командой:
hwclock —set —date=»2011-08-14 16:45:05″
После чего надо засинхронизировать системные часы с аппаратными:
hwclock -s
По идее, если временная зона настроена как локальная, после этой команды время на компьютере будет таким же как и на аппаратных часах.
Если вы сталкиваетесь с ошибкой:
date: cannot set date: Operation not permitted
Учтите, что время и дату имеет право изменять только root-пользователь. Поэтому задавайте время с sudo:
sudo date +%Y%m%d -s «20170917»
Текущее системное время отображается в строке Local Time. Чтобы изменить дату, используйте опцию -set-time. Синтаксис передаваемого ей параметра такой: ГГГГ-ММ-ДД ЧЧ:ММ:СС. Думаю тут понятно и без комментариев.
Дополнительную информацию вы можете получить командой
date —help
Видео по теме: Linux установка даты и времени
источник
Настройка даты и времени в Linux – команда date
Как это часто бывает, всё самое важное скрывается за самыми простыми вещами. Так и в случае с установкой/настройкой даты и времени в системе. Некорректные значения этих параметров запросто ломают логику работы многих приложений, особенно это касается тех систем, где на этом построены целые сервисы, такие как интернет-магазины, SCADA-системы на производстве и т. д. Поэтому так важно следить за корректными настройками времени, даты, языковых форматов, а также уметь все эти параметры настраивать. В системах Linux всё это позволяет выполнять команда date.
Синтаксис и основные опции
Согласно официальной информации, доступной из справочного руководства (команда man date), синтаксис команды date следующий:
Если дать команду date без аргументов или если аргументы начинаются с символа «+», то по-умолчанию будет выведено текущие значения даты и времени. В ином случае производится установка даты и времени, передаваемые в аргументах в каком-либо из форматов. Например, для установки времени введите команду
MM — Месяц
DD — День,
hh — часы в 24-часовом формате,
mm — минуты,
YYYY — 4 цифры года,
ss — секунды.
Прежде чем установить время проверьте правильность установки временной зоны.
Ниже мы боле подробно рассмотрим параметры ввода даты и времени.
Следующая команда выводит информацию о текущих дате и времени в форматированном виде:
Как видно, символ «+» позволяет печатать установленные (текущие) значения, а следующее за ним выражение задаёт формат вывода этих значений. Шаблон подстановки «%n» здесь служит для переноса строки. Все остальные шаблоны подстановки используются для выборки соответствующих компонент времени: месяцы, дни, часы, минуты и т. д. Само же выражение должно заключаться в кавычках, если в нём присутствуют пробельные символы.
Параметры CC, YY и .ss в синтаксисе date означают две последние цифры года, век и секунды (от 0 до 59) соответственно. И эти параметры не являются обязательными. Для того, чтобы устанавливать дату и время с помощью команды date, необходимы права суперпользователя.
В следующей таблице приводится описание основных опций команды date:
Опция | Значение |
-d, —date=STRING | Вычисляет день недели для заданной даты в качестве STRING. Дата задаётся в формате ггммдд. |
-f, —file=DATEFILE | То же самое, что и -d, но для исходных данных используется содержимое из файла FILE. |
-r, —reference=FILE | Определяет время последней модификации файла FILE. |
-s, —set=STRING | Устанавливает время/дату, заданные строкой STRING. |
-u, —utc, —universal | Использование формата |
Форматы ввода/вывода даты и времени
Для формата ввода даты/времени предусматриваются специальные элементы записи того или иного компонента даты/времени. В следующей таблице приводится описание этих элементов записи в виде пар букв, которым соответствуют составляющие даты и времени:
Элемент | Описание |
mm | Минуты — от 0 до 59. |
hh | Часы — от 0 до 23. |
DD | Дни — от 0 до 28, 29, 30 и 31. |
MM | Месяцы — от 01 до 12. |
Как уже можно было видеть, возвращаемые командой данные из её вывода можно форматировать произвольным способом, используя для этого специальные шаблоны подстановки или параметры форматирования. Они служат, как уже было отмечено выше, для выборки требуемых компонентов данных даты/времени из вывода команды date. Список этих параметров довольно длинный, но при этом его легко запомнить, поскольку наименования параметров довольно логичны. Следующая таблица отражает самые основные и часто используемые параметры форматирования:
Узнать время последнего изменения какого-либо файла:
Узнать день недели по его дате:
Вообще, команду date очень активно используют программисты для написания программного кода приложений, работающих с датой/временем, а также при написании скриптов для автоматизации некоторых процессов. Например, для автоматического наименования фалов, в имени которых содержится подстрока с датой его создания:
В результате будет создана копия файла settings. php под именем settings.php_back-070319. В данном случае используется директива $( ) для задания имени файла. Нужно заметить, что данный приём — очень мощный инструмент при работе в командной оболочке Linux.
Заключение
В заключение следует отметить отличную гибкость и большие возможности простой консольной утилиты, доступной по команде date, которая на первый взгляд не представляется заслуживающей внимания. Однако, команда date – это яркий пример «маленькой, но очень эффективной программы» в UNIX-подобных системах.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
источник
Установка времени 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:
Здесь формат очень прост — часы:минуты:секунды. Можно давать время в 12 часовом формате, для этого добавьте модификатор %p:
Вы изменяете текущее время, но аппаратное системное время 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. Как видите, это очень просто, вы можете использовать различные способы, в зависимости от того, что вам будет удобнее. Если у вас остались вопросы, спрашивайте в комментариях!
источник
Команда Date в Linux с примерами
В этой статье мы рассмотрим основы команды date в Linux.
Использование команды date в Linux
Синтаксис команды date следующий:
Чтобы отобразить текущее системное время и дату, используя форматирование по умолчанию, вызовите команду без каких-либо параметров:
Вывод будет включать день недели, месяц, день месяца, время, часовой пояс и год:
Параметры форматирования даты
Вывод date может быть отформатирован с помощью последовательности символов управления форматом, перед которой стоит знак +. Элементы управления форматом начинаются с символа % и заменяются их значениями.
Символ %Y будет заменен на год, %m на месяц и %d на день месяца:
Ниже приведен небольшой список некоторых наиболее распространенных символов форматирования:
- %a – Сокращенное название дня недели (например, понедельник)
- %A – Сокращенное полное название дня недели (например, понедельник)
- %b – Сокращенное краткое название месяца (например, январь)
- %B – Сокращенное длинное название месяца (например, январь)
- %d – День месяца (например, 01)
- %H – Час (00..23)
- %I – Час (01.12.12)
- %j – День года (001..366)
- %m – Месяц (01.12.12)
- %M – Минута (00..59)
- %S – Секунда (00 .. 60)
- %u – День недели (1..7)
- %Y – Полный год (например, 2019)
Чтобы получить полный список всех параметров форматирования, запустите date –help или man date в своем терминале.
Дата строкой
Опция -d позволяет работать на конкретную дату. Вы можете указать дату в виде удобочитаемой строки даты, как показано ниже:
Использование пользовательского форматирования:
Строка даты также может принимать значения, такие как “tomorrow”, “friday”, “last friday” “next friday”, “next month”, “next week”… и т. д.
Вы также можете использовать параметр строки даты, чтобы показать местное время для разных часовых поясов. Например, чтобы показать местное время для 6:30 утра следующего понедельника по Московскому времени, введите:
Переопределить часовой пояс
Команда date использует системный часовой пояс по умолчанию . Чтобы использовать другой часовой пояс, установите переменную среды TZ в желаемый часовой пояс.
Например, чтобы показать время по Москве, введите:
Чтобы получить список всех доступных часовых поясов, вы можете либо перечислить файлы в каталоге /usr/share/zoneinfo, либо использовать команду timedatectl list-timezones.
Конвертер эпох
Команда date может быть использована в качестве преобразователя эпох. Время, или метки времени Unix, – это количество секунд, прошедших с 1 января 1970 года в 00:00:00 UTC.
Чтобы напечатать количество секунд от эпохи до текущего дня, используйте управление форматом %s:
Чтобы преобразовать секунды с начала эпохи в дату, установите секунды в виде строки даты с префиксом @:
Использование даты с другими командами
Команда date чаще всего используется для создания имен файлов, которые содержат текущее время и дату.
Команда ниже создаст файл резервной копии Mysql в следующем форматеdatabase_name-20190601.sql
Вы также можете использовать команду date в своих сценариях оболочки. В приведенном ниже примере мы присваиваем выход date к переменной date_now:
Показать время последнего изменения файла
Команда dateс c параметром -r показывает время последнего изменения файла. Например:
Если вы хотите изменить временную метку файла, используйте команду touch.
Установите системное время и дату
Установка системного времени и даты вручную с помощью dateкоманды обычно не рекомендуется, поскольку в большинстве дистрибутивов Linux системные часы синхронизируются с ntp помощью служб systemd-timesyncd.
Однако, если вы хотите установить системные часы вручную, вы можете использовать опцию –set=. Например, если вы хотите установить дату и время 12:54, 02 июня 2019 г., введите:
Заключение
К настоящему времени вы должны хорошо понимать, как использовать команду date в Linux.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
источник
Как изменить дату и время в Linux Ubuntu!
Приветствую Всех!
В этой статье я расскажу как изменить дату и время в Linux Ubuntu. Сделать это мы сможем двумя способами.
Рассмотрим первый способ изменить дату и время.
Через панель быстрого запуска открываем «Параметры системы» и выбираем «Время и дата».
В открывшемся окне мы видим карту мира. На ней указанны часовые пояса. Кликнув левой кнопкой мыши по необходимому нам часовому поясу, он будет подсвечен, в поле «Местоположение» мы видим выбранный часовой пояс.
Время в Linux Ubuntu по умолчанию синхронизируется со специальными серверами точного времени. Подключение к данным серверам производится по протоколу сетевого времени NTP.
И в большинстве случаев самому менять ничего не надо. Если ваш компьютер подключен к сети Интернет, то операционная система сама подкорректирует дату и время.
Но если у вас появилась такая необходимость изменить дату и время, то указываем системе «Установить время» вручную и выбираем необходимые нам дату и время.
Второй способ изменить дату и время.
Рассмотрим как изменить часовой пояс. Откроем терминал и запустим следующую команду.
sudo dpkg-reconfigure tzdata
Для получения дополнительных привилегий необходимо ввести пароль пользователя и нажать на клавиатуре клавишу «Enter».
Выбираем географический район, в моем случае это «Европа» и нажимаем на клавиатуре клавишу «Enter».
В следующем окне выбираем часовой пояс. Я выбрал «Москва» и также нажимаем на клавиатуре клавишу «Enter».
В терминале видим установленную временную зону и текущее время
Для просмотра текущей даты и времени в терминале надо ввести следующую команду
data
А для того чтобы, например, установить дату 15 декабря 2015 года и время 20 часов 10 минут вводим команду
sudo data 201520102015.00
date MMDDhhmmCCYY.ss
MM — месяц, DD — день месяца, hh — часы, mm — минуты, CCYY — 4 цифры года, ss — секунды
Мы рассмотрели как можно изменить часовой пояс, а также изменить дату и время в Linux Ubuntu. И если остались непонятные вопросы по данной это теме и есть предложения, то прошу их писать в комментариях. Всем пока!
Команда date — Linux FAQ
Команда date позволяет задействовать одноименную утилиту, которая используется для двух целей. Обычно она используется для получения текущих даты и времени при необходимости в заданном формате, но при этом она также позволяет устанавливать их.
Стандартный синтаксис команды выглядит следующим образом:
$ date [описание времени или формата вывода]
Формат ввода даты и времени
Для начала рассмотрим вопрос установки текущих даты и времени, так как данное действие выполняется достаточно просто (единственная сложность связана с запоминанием формата даты и времени). Вы можете самостоятельно выполнить команду man date для того, чтобы уточнить формат даты и времени, используемый в вашей системе. В большинстве случаев он является следующим:
# date MMDDhhmm[[CC]YY][.ss]
Но все не так сложно, как кажется на первый взгляд. Параметры в квадратных скобках являются необязательными — вы можете как использовать их, так и отказаться от их использования. Каждая пара букв соответствует элементу записи даты или времени:
Элемент записи | Назначение |
MM | Месяц (от 01 до 12) |
DD | День (от 01 до 28, 29, 30 или 31 в зависимости от месяца) |
hh | Часы (от 00 до 24) |
mm | Минуты (от 00 до 59) |
YY | Две последние цифры года (от 00 до 99, не обязательно) |
CC | Век (от 00 до 99, используется вместе с предыдущим элементом, не обязательно) |
. ss | Секунды (от 00 до 59 с символом точки, не обязательно) |
Как утилита вычисляет век? В UNIX-подобных операционных системах время хранится в формате числа секунд, прошедших с 1 января 1970 года в часовом поясе GMT (также известном, как UTC). Из-за того, что с этой даты прошло достаточно много времени, а для хранения количества секунд в 32-битных системах используется 4-байтовое целочисленное значение, в 2038 году на этих системах должен произойти переход счетчика секунд через нулевое значение. Ввиду того, что подсчитывается лишь количество секунд, век попросту не принимается во внимание. Таким образом, на 32-битных системах значения года от 00 до 38 соответствуют 2000-м годам, а значения года от 70 до 99 — 1900 годам. Фактически, на 32-битных системах команда date не позволяет установить год, не входящий в приведенные выше диапазоны. В 64-битных системах все проще: для подсчета времени используется 8-байтовое целочисленное значение, поэтому имеется огромный запас по времени (292 миллиарда лет), доступен полный диапазон годов от 00 до 99, а век вычисляется обычным образом по количеству прошедших секунд.
Для установки текущих даты и времени необходимы права пользователя root, иначе вы получите аналогичное сообщение об ошибке:
date: невозможно установить дату: Операция не позволена
Формат вывода даты и времени
Команда date без параметров хороша в том случае, если вам нужно узнать текущие дату в время. Но функция вывода даты и времени в произвольном формате полезна при разработке сценариев командной оболочки. Иногда нужно использовать максимально краткую запись даты; иногда в сценарии нужно обрабатывать лишь время без даты; иногда дату и время приходится сравнивать с датой и временем из внешнего источника и это сравнение будет гораздо более простым в случае получения текущих даты и времени в том же формате, в котором передаются данные из внешнего источника.
Для форматирования текущих даты и времени в соответствии со своими предпочтениями пользователь должен передать утилите строку форматирования после символа +:
$ date +"<строка форматирования>"
Строка форматирования состоит из параметров форматирования, приведенных в таблице ниже.
Параметр форматирования | Назначение | Пример вывода |
%a | Сокращенное название дня недели | Чт |
%A | Полное название дня недели | Четверг |
%b | Сокращенное название месяца | июн |
%B | Полное название месяца | Июнь |
%d | Номер дня недели | 08 |
%D | Текущая дата в формате ММ/ДД/ГГ | 06/08/17 |
%F | Текущая дата в формате ГГГГ/ММ/ДД | 2017-06-08 |
%H | Часы в 24-часовом формате в диапазоне от 00 до 23 | 18 |
%l | Часы в 12-часовом формате в диапазоне от 01 до 12 | 6 |
%j | Номер дня года в диапазоне от 001 до 366 | 159 |
%m | Номер месяца в диапазоне от 01 до 12 | 06 |
%M | Минуты в диапазоне от 00 до 59 | 24 |
%S | Секунды в диапазоне от 00 до 60 | 22 |
Установить время, часовой пояс даты в Linux из командной строки или Gnome
Написано Гильермо Гарроном
Дата: 2012-04-19 15:55:00 00:00
Наличие правильного времени и даты в Linux очень важно, от этого зависит многое. Не имеет значения, используете ли вы Linux для питания своего персонального компьютера или у вас есть сервер Linux. Серверные и системные часы должны быть вовремя.
Установить дату из командной строки
дата +% Y% m% d -s "20120418"
Установить время из командной строки
дата +% T -s "11:14:00"
Установить время и дату из командной строки
дата -с "19 АПР 2012 11:14:00"
Дата проверки Linux из командной строки
дата
покажет вам что-то вроде этого:
Чт 19 апр, 15:17:34 BOT 2012
Установить аппаратные часы
Аппаратные часы — это часы, которые работают в аппаратном обеспечении вашего ПК, даже если вы отключите его от основного источника питания.Это потому, что в современных компьютерах есть литиевая батарея, а в старых — батарея другого типа.
Мы увидим разницу между аппаратными часами и системными часами
hwclock - показать
выведет что-то вроде этого:
Чт 19 апр 2012 15:23:05 BOT -0,785086 секунд
Теперь проверьте системные часы
дата
выведет что-то вроде этого:
Чт 19 апр, 15:26:41 BOT 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
# Разрешить доступ только для чтения с localhost
ограничить noquery nopeer по умолчанию
ограничить 127.0.0.1
ограничить :: 1
# Расположение дрейфовых и журнальных файлов
дрифт-файл /var/lib/ntp/ntp.drift
файл журнала /var/log/ntp. log
# ПРИМЕЧАНИЕ: если вы запускаете dhcpcd и появляются такие строки, как 'restrict' и 'fudge'
# здесь обязательно добавьте '-Y -N' к переменным dhcpcd_ethX в / etc / conf.д / нетто
Обязательно запустите демон и заставьте его запускаться автоматически при загрузке системы.
В Arch Linux: /etc/rc.d/ntpd start
в Debian и производных /etc/init.d/ntpd start
Обновление из командной строки для сервера времени
Вы можете обновить часы вручную без использования демона с помощью ntpdate
ntpdate 129.6.15.28
Получится примерно так:
19 апр, 15:45:23 ntpdate [10948]: шаг сервера 129.6.15.28 смещение -45.697084 сек
Бонус: установите время и дату в Gnome
Если вы используете Gnome, щелкните правой кнопкой мыши часы и выберите «Настроить» или перейдите по ссылке: Система> Администрирование> Время и дата (вас могут попросить ввести пароль root)
Вы увидите окно, подобное этому:
постоянная ссылка
Если вам понравилась статья, поделитесь ею
Так же можно подписаться разными способами
Установка времени и даты в системах Linux
Написано Гильермо Гарроном
Дата: 2007-08-18 10:36:30 00:00
Многие задачи вашей Linux-машины контролируются временем, такими как задания cron, дата электронной почты, даты файлов, поэтому очень важно, чтобы часы вашего компьютера были вовремя.
Ответственность системного администратора состоит в том, чтобы поддерживать часы на своих серверах Linux с максимальной точностью.
Из командной строки у нас есть множество утилит для настройки часов, установки даты в системе, установки даты на оборудовании или автоматического обновления времени с серверов времени в Интернете.
дата
Дата отображает дату и время системы, используется root, а также может использоваться для изменения даты и времени в системе.
Если вы просто введете:
дата
Вы получите дату системы, например:
Сб 18 августа 19:36:53 BOT 2007
Вы можете установить дату, введя (как root):
дата nnddhhmm [[cc] yy] [.ss]
Где
- nn: месяц года (с 01 по 12)
- дд: день месяца (с 01 по 31)
- чч: час дня (с 00 до 23)
- мм: минуты часа (от 00 до 59)
- cc: Первые цифры года
- yy: две последние цифры года
- . ss: Секунды
hwclock
С помощью этой команды вы можете установить или получить время своих аппаратных часов, аппаратные часы — это часы, которые работают в вашем оборудовании ПК, даже если вы отключите его от основного источника питания, потому что в нем есть литиевая батарея. современные компьютеры и другой тип батареи в старых.
Использование
hwclock [функция] [опции ...]
Функции
- –help: показать эту справку
- –show: прочитать аппаратные часы и распечатать результат
- –set: установить rtc на время, указанное с –date
- –hctosys: установить системное время с аппаратных часов
- –systohc: установить аппаратные часы на текущее системное время
- –adjust: отрегулируйте rtc для учета систематического отклонения с момента последней установки или регулировки часов
- –getepoch: распечатать значение эпохи аппаратных часов ядра –setepoch установить значение эпохи аппаратных часов ядра равным –epoch
- –version: распечатать версию hwclock на стандартный вывод
Опции
- –utc: аппаратные часы хранятся в скоординированном всемирном времени
- –localtime: аппаратные часы хранятся в местном времени
- –directisa: доступ к шине ISA напрямую вместо / dev / rtc
- –badyear: игнорировать год rtc, потому что BIOS не работает
- –date: указывает время, на которое устанавливаются аппаратные часы
- –epoch = year: указывает год, который является началом значения эпохи аппаратных часов
- –noadjfile: не обращаться к / etc / adjtime.Требуется использование –utc или –localtime
Если вы хотите установить аппаратные часы на ваше местное время, вы можете использовать эту команду:
hwclock --set --date = '08 / 18/07 21:08:40 '--localtime
Это установит часы 8 августа 2007 года в 21:08 и сообщит вашим часам, что это местное время, вы можете использовать –utc вместо –localtime, чтобы установить часы на всемирное время (время по Гринвичу).
Если вы хотите прочитать, введите эту команду:
hwclock - показать
Вы должны получить такой результат:
Сб, 18 августа 2007 г., 21:19:03 BOT -0.677125 секунд
Персональные инструменты
- Создать аккаунт
- Войти
Пространства имен
- Страница
- Обсуждение
Варианты
Просмотры
- Читать
- Просмотреть источник
- Просмотреть историю
Подробнее
Поиск
Навигация
- Главная страница
- Содержание
- Участие
- Новости вики
- Случайная страница
Взаимодействие
- Справка
- Содействие
- Последние изменения
- Недавние обсуждения
- Новые страницы
- Статистика
- Запросы
Инструменты
- Какие ссылки здесь
- Связанные изменения
- Специальные страницы
- Версия для печати
- Постоянная ссылка
- Информация о странице
- Последний раз эта страница была отредактирована 24 октября 2018 в 16:00.
- доступен по лицензии GNU Free Documentation License 1.3 или более поздней, если не указано иное.
Контент
- Политика конфиденциальности
- Об ArchWiki
- Заявление об отказе от ответственности
Как установить дату, время / NTP и часовой пояс с помощью timedatectl — The Geek Diary
RHEL 7 предлагает другую утилиту для настройки и отображения информации о дате и времени, timedatectl .Эта утилита является частью системы systemd и диспетчера служб. С помощью команды timedatectl вы можете:
- Изменить текущую дату и время
- Установить часовой пояс
- Настроить NTP
Если вы запустите timedatectl без каких-либо параметров, вы получите результат, аналогичный приведенному ниже:
# timedatectl Местное время: вс 2017-09-24 13:16:39 IST Мировое время: вс 24.09.2017 07:46:39 UTC Время RTC: Вс 2017-09-24 07:46:39 Часовой пояс: Азия / Калькутта (IST, +0530) NTP включен: нет NTP синхронизирован: да RTC в местной ТЗ: нет Летнее время активно: нет данных
Приведенные выше выходные данные показывают — местное время, всемирное время, время RTC, часовой пояс, конфигурацию NTP и летнее время (DST)
Изменить текущую дату и время
Используйте аргумент set-time , чтобы изменить текущую дату и текущее время.
1. Чтобы изменить дату, используйте следующий синтаксис:
# timedatectl set-time [ГГГГ-ММ-ДД]
2. Чтобы изменить текущее время, используйте следующий синтаксис. Введите час в 24-часовом формате.
# timedatectl set-time [ЧЧ: ММ: СС]
3. Чтобы настроить систему на поддержание часов по местному времени, используйте следующую команду:
# timedatectl set-local-rtc да
4. Чтобы настроить систему на использование UTC, используйте следующую команду:
# timedatectl set-local-rtc №
Изменить часовой пояс
Используйте следующую команду для вывода списка всех доступных часовых поясов:
# timedatectl list-timezones Африка / Абиджан Африка / Аккра Africa / Addis_Ababa Африка / Алжир Африка / Асмэра Африка / Бамако .....
Используйте аргумент set-timezone , чтобы изменить часовой пояс. В следующем примере часовой пояс изменяется на Asia / Kolkata :
# timedatectl set-timezone Asia / Kolkata
Настройка NTP
Используйте аргумент set-ntp, чтобы включить или отключить автоматическую синхронизацию системных часов с удаленным сервером по протоколу сетевого времени (NTP).