Зміст:
Команда date в Linux: як встановити, змінити, відформатувати та відобразити дату
У сьогоднішній статті ми поговоримо про команду яка є в Linux це date. За допомогою цієї команди можна відображати і встановлювати системну дату та час. Ще команда date дозволяє вам вивести на екран час у різних форматах.
1. Синтаксис команди.
Параметри [option] та [format] є не обов’язковими, і тому їх можна не вказувати.
2. Символи форматування.
Найбільш використовувані символи форматування:
- +%D – Вказує дату у форматі мм/дд/гг
- +%Y – Рік (Наприклад, 2022) < /span>
- +%m – Місяць (01-12) < /span>
- +%B – Повна назва місяця (наприклад, травень)
- +%b – Коротка назва місяця (наприклад, травень)
- +%d – День місяця (наприклад, 01)
- +%j – День року (001-365)
- +%u – День тижня (1-7)
- +%A – Повна назва дня тижня (наприклад, понеділок)
- +%a – Коротка назва дня тижня (наприклад, пн)
- +%H – Година (00-23) < /span>
- +%I – Година (01-12) < /span>
- +%M – Хвилина (00-59) < /span>
- +%S – секунда (00-60) < /span>
Приклад: date “+%D” – Результат буде: 05/ 30/22
3. Приклади.
3.1. Просте використання date без настройок.
3.2. Показати час, коли останній раз змінювався файл.
$. date -r /mariadb/config/config-file.cnf
3.3. Показати якийсь рік, місяць і день.
$. date +”Year: %Y, Month: %m, Day: % d”
Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.
Команда 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.