- Вывод даты и времени в Linux
- Синтаксис
- Отображение даты и времени в Linux с помощью команды timedatectl
- Переменная среды TZ
- Инструмент с графическим интерфейсом: Администрирование времени
- Как изменить настройки даты и времени в рабочем столе Linux на базе Gnome
- Заключение
- Как узнать текущее время Linux
- Текущее время Linux
- С помощью date
- 2. С помощью hwclock
- 3. С помощью timedatectl
- Выводы
- Время линукс командная строка
- Формат ввода даты и времени
- Формат вывода даты и времени
- Примеры использования
- Получение текущих даты и времени
- Добавление текущей даты в имена создаваемых файлов
- Установка текущих даты и времени
- Использование утилиты на удаленных системах
Вывод даты и времени в Linux
Для отображения текущей даты и времени в операционной системе Linux с помощью командной строки используйте команду date или команду timedatectl. Эти команды также могут отображать текущее время / дату в заданном ФОРМАТЕ. Мы также можем установить системную дату и время от имени пользователя root.
Синтаксис
Откройте приложение терминала и введите следующую команду:
Команда Date вернет следующий результат
Вы можете отформатировать дату следующим образом в формате dd-mm-yy:
Простое отображение текущего времени в Linux:
Чтобы вывести дату позавчерашнего дня, выполните:
Хотите узнать день года Рождества в текущем году? Попробуйте:
Выведите полное название текущего месяца и день месяца:
Получение текущего времени в секундах с момента наступления эпохи Linux
Отображение даты и времени в Linux с помощью команды timedatectl
В большинстве современных дистрибутивов Linux с системой systemd используется команда timedatectl. Она используется для запроса и изменения системных часов и их настроек, а также для включения или отключения служб синхронизации времени. Все, что вам нужно сделать, это ввести следующую команду:
Переменная среды TZ
Среда TZ сообщает Linux, в каком часовом поясе вы находитесь. Во многих случаях, когда вы хотите временно изменить часовой пояс. Например, вы можете захотеть вывести текущую дату и время в часовом поясе «America/Los_Angeles», хотя вы находитесь в «Europe/London». Чтобы установить TZ, при использовании TCSH/CSH выполните следующую команду:
TZ="America/Los_Angeles" date TZ="Asia/Tokyo" date
timedatectl list-timezones
timedatectl list-timezones | more
timedatectl list-timezones | grep -i Hong_kong
timedatectl list-timezones | grep -i paris
timedatectl list-timezones | grep -E -i 'paris|london|kolkata'
Инструмент с графическим интерфейсом: Администрирование времени
Инструмент администрирования времени позволяет вам установить время, дату и часовой пояс вашей системы, а также установить любой сервер времени для синхронизации вашего локального сервера времени. Введите следующую команду, чтобы запустить инструмент администрирования времени:
gnome-control-center datetime
Вам может быть предложено ввести пароль администратора (пароль root), это необходимо, так как изменения, сделанные с помощью этого инструмента, повлияют на всю систему.
Как изменить настройки даты и времени в рабочем столе Linux на базе Gnome
Во-первых, вам нужно Настройки в Деятельности, а затем нажмите Детали в боковой панели. Обязательно нажмите Дата и время в боковой панели, чтобы открыть панель:
Заключение
В этом кратком руководстве вы узнали о команде date, которую можно использовать для просмотра или изменения даты/времени в операционных системах Linux. Далее мы объяснили, как использовать инструменты графического интерфейса. Команда date имеет множество дополнительных опций. Посмотрите страницу man, набрав следующую команду man:
man date man bash man ksh man timedatectl
Как узнать текущее время Linux
Иногда знание текущего времени на компьютере играет большую роль, например, при отслеживании выполнения тех или иных процессов. И далеко не всегда нужную информацию можно посмотреть через системный интерфейс Linux. Поэтому существуют различные команды для терминала.
В данной статье мы расскажем про то, как узнать текущее время Linux. Заодно упомянем тему часовых поясов и синхронизацию с серверами времени.
Текущее время Linux
В системе Linux есть три удобных утилиты для определения точного времени. Наиболее продвинутой из них можно назвать date. Но и остальные имеют свои особенности.
С помощью date
Чтобы получить общую информацию, выполните команду:
Сначала выводится дата (день-число-месяц-год), время в 12-часовом формате с пометками AM (до полудня) и PM (после полудня) и часовой пояс. Информацию можно вывести в мировом UTC-формате:
Форматирование задается после знака +. Первый символ после знака % интерпретируется как один из модификаторов. А остальные символы выводятся как обычный текст. Этим можно пользоваться:
date +’Какой сегодня день? Сегодня %e число %m месяца %Y года’
Еще один пример – вывод даты в кратком виде и времени в 24-часовом формате:
Ну и не совсем стандартный вариант – вывести, какой это по счету день в году, и сам год:
date +’Сегодня %j день %Y года’
данной статьей. В ней детально описан синтаксис, опции, форматирование вывода и конкретные примеры использования. А мы переходим к следующему способу.
2. С помощью hwclock
Вообще утилита hwclock используется для настройки даты и времени в системе Linux. Но еще она подходит для простого вывода этой информации. Запускать ее следует с правами супер-пользователя:
Обратите внимание на формат вывода времени. Он включает в себя еще и миллисекунды. И через дефис указывается часовой пояс. По умолчанию это UTC. Ну а для вывода локального времени нужно добавить к команде опцию —localtime:
3. С помощью timedatectl
Еще один вариант просмотра текущего времени – использование утилиты timedatectl. Достаточно ввести команду в терминале:
Помимо даты и времени, здесь есть следующие интересующие нас поля:
- Time zone – часовой пояс.
- System clock synchronized – синхронизация часов с сервером.
- NTP service – подключение к серверу точного времени.
Выводы
Каждый из упомянутых в статье способов Как узнать текущее время Linux имеет свои особенности. Для утилиты date можно детально настроить форматирование вывода. hwclock подходит для беглого просмотра информации, ведь в основном используется для настройки. А через timedatectl получится узнать еще и статус синхронизации часов.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Время линукс командная строка
Команда date позволяет задействовать одноименную утилиту, которая используется для двух целей. Обычно она используется для получения текущих даты и времени при необходимости в заданном формате, но при этом она также позволяет устанавливать их.
Стандартный синтаксис команды выглядит следующим образом:
$ date [описание времени или формата вывода]
Формат ввода даты и времени
Для начала рассмотрим вопрос установки текущих даты и времени, так как данное действие выполняется достаточно просто (единственная сложность связана с запоминанием формата даты и времени). Вы можете самостоятельно выполнить команду man date для того, чтобы уточнить формат даты и времени, используемый в вашей системе. В большинстве случаев он является следующим:
Но все не так сложно, как кажется на первый взгляд. Параметры в квадратных скобках являются необязательными — вы можете как использовать их, так и отказаться от их использования. Каждая пара букв соответствует элементу записи даты или времени:
Элемент записи | Назначение |
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 без параметров хороша в том случае, если вам нужно узнать текущие дату в время. Но функция вывода даты и времени в произвольном формате полезна при разработке сценариев командной оболочки. Иногда нужно использовать максимально краткую запись даты; иногда в сценарии нужно обрабатывать лишь время без даты; иногда дату и время приходится сравнивать с датой и временем из внешнего источника и это сравнение будет гораздо более простым в случае получения текущих даты и времени в том же формате, в котором передаются данные из внешнего источника.
Для форматирования текущих даты и времени в соответствии со своими предпочтениями пользователь должен передать утилите строку форматирования после символа +:
Строка форматирования состоит из параметров форматирования, приведенных в таблице ниже.
Параметр форматирования | Назначение | Пример вывода |
%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 |
%N | Наносекунды в диапазоне от 000000000 до 999999999 | 335288238 |
%T | Время в формате ЧЧ:ММ:СС в 24-часовом формате | 18:24:22 |
%u | Номер дня недели в диапазоне от 1 до 7 | 4 |
%U | Номер недели в году в диапазоне от 00 до 53 | 23 |
%Y | Полный номер года | 2017 |
%Z | Обозначение часового пояса | MSK |
Примеры использования
Получение текущих даты и времени
Для получения текущих даты и времени в стандартном формате достаточно выполнить следующую команду:
Утилита выведет аналогичную информацию:
Для вывода даты и/или времени в пользовательском формате достаточно добавить символ + и строку форматирования. Например, для вывода даты и времени может использоваться команда:
В результате будет выведена следующая информация:
Добавление текущей даты в имена создаваемых файлов
Отличным примером использования команды date в сценариях является создание суффикса имени файла для автоматизированного создания нескольких файлов с аналогичными именами. Например, процесс создания создании резервных копий данных. Файл резервной копии данных создается с помощью утилиты tar и сохраняется на жестком диске большого, но не бесконечного объема. Локальная машина носит имя bugler, поэтому данное слово присутствует и в имени файла резервной копии. Файловая система с жесткого диска большого объема скопирована в директорию /bkup. Команда для создания резервных копий будет выглядеть следующим образом:
$ tar -zcf /bkup/bugler.backup.$(date +%a).tgz /
Она создает сжатый (благодаря параметру -z) файл архива всей файловой системы (благодаря символу / в конце команды) и сохраняет этот файл под именем /bkup/bugler.backup.Sat.tgz. В результате использования команды date при формировании имени файла, файл архива будет перезаписываться ровно через неделю, что позволит сэкономить дисковое пространство — оно будет просто повторно использоваться.
Примечание: конструкция $() позволяет использовать вывод дополнительной команды в качестве части основной команды. Альтернативным решением является использование обратных кавычек: . backup `date +%a`.tgz. При этом формат $() гораздо проще в использовании.
Установка текущих даты и времени
В том случае, если вы не будете вводить необязательные элементы записи даты и времени, утилита будет считать, что вы выбрали текущий год. Таким образом, в случае исполнения следующей команды:
системные часы будут переведены на 5 июня 2017 года (да, эта статья писалась именно в этот день). Теперь предположим, что нам нужно установить 2018 год. В этом случае команда примет следующий вид:
Использование утилиты на удаленных системах
Для сравнения дат на локальном и удаленном компьютере достаточно настроить вход в удаленную систему без пароля и выполнить команду:
Для установки локального времени на удаленном компьютере может использоваться следующая команда: