- Устанавливаем в системе Linux время, дату и часовой пояс из командной строки или из Gnome | Используем ntp
- Команда Date в Linux с примерами
- Linux Date Command with Examples
- В этом руководстве мы рассмотрим основы date команды.
- Использование Date
- Параметры форматирования даты
- Пользовательское форматирование даты
- Переопределить часовой пояс
- Конвертер эпох
- Использование date с другими командами
- Показать время последнего изменения файла
- Установите системное время и дату
- Вывод
- ⏲️ 8 примеров команды date на Linux
- Базовый синтаксиc
- 1) Команда date без параметров
- 2) Отображение даты и времени в формате UTC
- 3) Отображение определенной даты в строковом формате
- 4) Использование команды date, чтобы проверить прошлые даты
- 5) Использование команды date, чтобы проверить будущие даты
- 6) Параметры форматирования даты
- 7) Как установить дату и время
- 8) Использование команды Date в переменной
- Заключение
- Linux установка даты и времени
- Какие часы бывают в Linux
- Установка времени в ОС Linux
- Установка временной зоны (timezone)
- Как задать время через консоль в Linux?
- Команда date в Linux
- Синтаксис команды date
- Примеры использования date
- Выводы
Устанавливаем в системе Linux время, дату и часовой пояс из командной строки или из Gnome | Используем ntp
В системе Linux очень важно иметь правильное время и дату, поскольку от этого зависит многое. Причем неважно, используете ли вы систему Linux на своем персональном компьютере или у вас Linux-сервер. Серверные и системные часы должны указывать правильное время.
Аппаратные часы — это те часы, которые работают на вашем компьютере даже тогда, как питание компьютера отключено. Это возможно благодаря наличию в современных компьютерах литиевой батареи или батареи другого типа в более старых компьютерах.
Мы можем увидеть различие между аппаратными и системными часами
Вы увидите что-то вроде следующего:
Теперь проверьте системные часы
Вы увидите что-то вроде следующего:
Давайте установим аппаратные часы по местному времени:
Если вы хотите установить их на использование времени по Гринвичу (UTC):
Установка часового пояса
Чтобы в ваших системных часах установить часовой пояс, выполните следующее:
Правильно укажите ваш часовой пояс.
Автоматическая регулировка часов
Для того, чтобы ваша система могла автоматический регулировать время, вам нужно установить программу ntp . Получите ее из репозитария. После того, как она будет установлена, вы можете настроить ее следующим образом:
Отредактируйте файл /etc/ntpd.conf . Он будет выглядеть следующим образом:
Удостоверьтесь, что вы запустили демон, и сделайте так, чтобы он автоматически запускался при загрузке системы.
Для Arch Linux это: /etc/rc.d/ntpd start ; для Debian и производных систем: /etc/init.d/ntpd start
Обновление из командной строки времени по значению, получаемому с сервера времени
Вы можете обновлять время вручную без использования демона ntpdate
Вы получите что-то вроде следующего:
Бонус: Установка времени и даты в Gnome
Если вы используете Gnome, щелкните правой кнопкой мыши по изображению часов и выберите пункт настройки adjust, или в меню выберите пункт System > Administration > Time and Date (Система > Администрирование > Время и дата). Вам, возможно, будет предложено ввести пароль.
Источник
Команда Date в Linux с примерами
Linux Date Command with Examples
В этом руководстве мы рассмотрим основы date команды.
Команда date отображает или устанавливает системную дату. Чаще всего он используется для печати даты и времени в разных форматах и для расчета будущих и прошлых дат.
Использование Date
Синтаксис 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 Опция позволяет работать на дату конкретного. Вы можете указать дату в виде удобочитаемой строки даты, как показано ниже:
Использование пользовательского форматирования:
Строка даты принимает значения, такие как «завтра», «пятница», «последняя пятница», «следующая пятница», «следующий месяц», «следующая неделя» .. и т. Д.
Вы также можете использовать параметр строки даты, чтобы показать местное время для разных часовых поясов. Например, чтобы показать местное время 6:30 утра следующего понедельника на восточном побережье Австралии, введите:
Переопределить часовой пояс
Команда date возвращает дату в системном часовом поясе по умолчанию . Чтобы использовать другой часовой пояс, установите переменную среды TZ в желаемый часовой пояс.
Например, чтобы показать время в Мельбурне, введите:
Чтобы получить список всех доступных часовых поясов , вы можете либо перечислить файлы в /usr/share/zoneinfo каталоге, либо использовать timedatectl list-timezones команду.
Конвертер эпох
date Команда может быть использована в качестве преобразователя Epoch. Время, или метки времени Unix, — это количество секунд, прошедших с 1 января 1970 года в 00:00:00 UTC.
Чтобы напечатать количество секунд от эпохи до текущего дня, вызовите date с %s контролем формата:
Чтобы преобразовать секунды с начала эпохи в дату, установите секунды в виде строки даты с префиксом @ :
Использование date с другими командами
Команда date чаще всего используется для создания имен файлов, которые содержат текущее время и дату.
Команда ниже создаст файл резервной копии Mysql в следующем формате database_name-20190601.sql
Вы также можете использовать date команду в своих сценариях оболочки. В приведенном ниже примере мы присваиваем выход date к date_now переменной:
Показать время последнего изменения файла
Команда date с -r параметром показывает время последнего изменения файла. Например:
Если вы хотите изменить временную метку файла, используйте touch команду .
Установите системное время и дату
Установка системного времени и даты вручную с помощью этой date команды не рекомендуется, поскольку в большинстве дистрибутивов Linux системные часы синхронизируются с ntp помощью systemd-timesyncd служб или .
Однако, если вы хотите установить системные часы вручную, вы можете использовать эту —set= опцию. Например, если вы хотите установить дату и время 17:30, 01 июня 2019 г., введите:
Вывод
Команда Linux date отображает или устанавливает системную дату и время.
Источник
⏲️ 8 примеров команды date на Linux
Базовый синтаксиc
Базовый синтаксис команды date представлен ниже:
1) Команда date без параметров
2) Отображение даты и времени в формате UTC
Чтобы отобразить время в формате UTC (всемирное координированное время), ранее называвшееся GMT (среднее время по Гринвичу), добавьте параметр -u.
3) Отображение определенной даты в строковом формате
4) Использование команды date, чтобы проверить прошлые даты
Команда date также может выводить дату и время в прошлом относительно вашей текущей даты.
Например, чтобы проверить дату 9 дней назад, выполните команду.
5) Использование команды date, чтобы проверить будущие даты
Так же, как вы можете проверять прошлые даты, команда date также позволяет отображать будущие даты.
Например, чтобы узнать дату завтрашнего дня:
6) Параметры форматирования даты
- %D – Отображение даты в формате мм / дд / гг
- %Y – Год (например, 2021 г.)
- %m – Месяц (01-12)
- %B – Название месяца в формате полной строки (например, February)
- %b –Название месяца в сокращенном строковом формате (например, Feb).
- %d – День месяца (например, 01)
- %j – День года (001-366)
- %u – День недели (1-7)
- %A –День недели в формате полной строки (например, Friday)
- %a – День недели в сокращенном формате (например, Fri)
- %H – Час (00-23)
- %I – Час (01-12)
- %M – Mинута (00-59)
- %S – Секунда (00-60)
Синтаксис использования опции date довольно прост:
Чтобы вывести день недели, месяц, год и текущее время:
7) Как установить дату и время
Команда date также позволяет вам установить дату и время.
Например, чтобы установить дату и время на 25 июня 2021 года в 11:15, выполните команду:
Такой способ установки даты и времени в системе не рекомендуется, поскольку время, скорее всего, будет неточным.
Лучший способ добиться этого – использовать утилиту chrony, которая является заменой устаревшего демона ntpd.
Фактически, современные системы, такие как CentOS 8/RHEL 8, не поддерживают NTP.
У нас есть подробное руководство о том, как синхронизировать время и дату с помощью chrony.
Если вы хотите изменить часовой пояс, используйте команду timedatectl, пример показан ниже.
8) Использование команды Date в переменной
Заключение
Мы надеемся, что пролили свет на использование команды date на 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
Источник
Команда date в Linux
Главное свойство утилит 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 без параметров по умолчанию применяет маску %a %b %d %X %Z. Поскольку все форматы должны быть переданы как один параметр (из-за принципа обработки данных командным интерпретатором Bash), пробелы между ними необходимо экранировать обратным слэшем (\) или взять в кавычки.
Особое внимание следует уделить параметру -d (—date). Его функциональность не слишком очевидна, но при этом наиболее обширна.
Пример 1. Вычисление даты по числу секунд, прошедших с 1 января 1970 года.
Пример 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.
Источник