- Команда Date (Дата) в Linux с примерами использования
- Как использовать команду Date (дата) Linux?
- Отображения команды Date
- Показать будущие даты
- Показ прошлых дат в Linux
- Параметры формата команды Date
- Отображение даты из строкового значения
- Показать время последнего изменения файла
- Команда date для установки часового пояса
- date в качестве преобразователя эпох
- Использование date с другими командами
- Установка даты в Linux
- Заключение
- Как работать с датой и временем в Bash с помощью команды date
- Изменить системную дату и время Linux
- Параметры форматирования
- Дата обработки в Linux
- Время обработки в Linux
- С флагом —date или -d
- Общие операции
Команда Date (Дата) в Linux с примерами использования
Команда Date в Linux используется для отображения или установки системной даты и времени. Эта команда позволяет пользователям отображать время в различных форматах и посмотреть прошлые и будущие даты.
В этой инструкции мы расскажем про команду date в Linux и покажем примеры использования.
Как использовать команду Date (дата) Linux?
Ниже приведен синтаксис команды date в терминале Linux:
По умолчанию команда date выводит дату и часовой пояс, в котором настроена система. Чтобы изменить дату и время, вам потребуется пользователь с правами root или sudo.
Отображения команды Date
Когда команда дата используется без каких-либо параметров и аргументов, то она отображает текущую дату и время в формате по умолчанию. Выглядит это следующим образом:
Выходные данные показывают день недели, день месяца, текущий месяц, год, текущее время и часовой пояс с указанием года. Так же команда « Date » отображает часовой пояс по умолчанию, установленный в вашей операционной системе.
Показать будущие даты
Параметр в строке date -d или —date покажет будущие или предстоящие даты. Чтобы вывести в терминале будущую дату, введите значение например «next Friday» (следующая пятница) или “tomorrow” (завтра).
Чтобы отобразить в терминале завтрашнюю дату, введите следующую команду:
Отображение даты следующей пятницы:
Показ прошлых дат в Linux
Используя опцию -d, вы можете посмотреть прошлые даты в системе Linux. Команда даты позволяет вводить такие значения, как “yesterday” (вчера), «Saturday» (Суббота), «3 year ago» (3 года назад) и аналогичные. Таким образом, используя следующую параметр -date, вы можете отобразить прошлые даты:
Чтобы показать вчерашнюю дату, используйте следующую команду:
Аналогично, чтобы отобразить дату последней пятницы, выполните указанную ниже команду:
Параметры формата команды Date
Вывод терминала команды Linux date может быть изменен с использованием управляющих символов формата, которым предшествует символ «+«. Все эти элементы управления форматом начинаются со знака » % «.
Например, мы хотим отформатировать вывод команды date следующим образом:
Используя этот список символов форматирования, вы можете отображать выходные данные в желаемом формате:
- %a — Печатает название дня недели в кратком формате (например, Пн)
- %A — Используется для отображения полного названия дня недели (например, понедельник)
- %b — Отображение названия месяца в краткой форме (например, январь)
- %B — Используется для отображения полного названия месяца (например, январь)
- %d — Отображает день месяца (например, 05)
- %H — Время отображения (00..23)
- %I — Время отображения в формате (01..12)
- %j — Отображает день года (001..366)
- %m — Отображает число месяцев (01..12)
- %M — Показ минут за 00..59 сек.
- %S — Отображает секунды (00..60)
- %u — Отображение числа дней недели (1..7)
- %Y — Используется для отображения полного года (например, 2019)
Используя следующую команду, вы можете изучить полный список параметров формата команды date:
Отображение даты из строкового значения
Параметры -date или -d позволяют отображать конкретную дату. Чтобы отобразить определенную дату, укажите строку даты в удобочитаемом формате, как показано в следующей команде:
Используя опцию -d, вы также можете отобразить дату в пользовательском форматировании следующим образом:
Показать время последнего изменения файла
Иногда нам нужно просмотреть время последнего изменения файла. Команда «Date» в системе Linux помогает вам отобразить время последнего изменения файла. При использовании команды «Date«, за которой следует опция «— r«, выводится время изменения файла.
Например, чтобы отобразить дату последнего изменения файла «/etc/hosts«, используйте следующую команду:
Команда date для установки часового пояса
Команда «date» отображает часовой пояс вашей системы по умолчанию, определенный в файле «/etc/localtime«. Однако для отображения часового пояса другой страны установите переменную среды » TZ » в нужный часовой пояс.
Чтобы просмотреть все доступные списки часовых поясов, выполните следующую команду:
Например, чтобы установить часовой пояс для отображения времени от Сиднея до Австралии, выполните следующую команду:
date в качестве преобразователя эпох
Команда «date» также работает как конвертер эпох. Эпоха отображает время в количестве секунд, прошедших со 2 февраля 1975 года в 00:00:00 UTC. Чтобы отобразить время, прошедшее в секундах до текущей даты, используйте команду date вместе с элементом управления форматом %s:
Например, чтобы просмотреть, сколько секунд прошло с эпохи до определенной даты, используйте следующую команду:
Использование date с другими командами
Команда «date» в системе Linux может быть реализована вместе с другими командами для создания различных имен файлов, содержащих информацию о текущей дате и времени.
В следующем примере мы создали новый файл резервной копии SQL с помощью приведенной ниже команды:
$ mysqldump database_name > database_name-$(date +%Y%m%d).sql
Команда date также может быть использована в сценарии командной оболочки. В следующем примере мы назначили вывод команды date новой переменной » date_now’.
Установка даты в Linux
Используя команду date, вы можете вручную установить дату системы Linux.
Например, чтобы вручную установить дату и время в системе Linux на 2:30 вечера 13 октября 2021 года. Выполните приведенную ниже команду:
В большинстве дистрибутивов Linux системное время по умолчанию синхронизируется с NTP или timedatectl / timesyncd. Так что не нужно сильно беспокоиться о его изменении.
Заключение
Мы рассказали о том, как использовать команду date в системе Linux. Чтобы узнать больше о команде date, можете посмотреть справочные страницы команды date.
Как работать с датой и временем в Bash с помощью команды date
Команда Date — это внешняя программа bash, которая позволяет устанавливать или отображать системную дату и время. Он также предоставляет несколько вариантов форматирования. Команда Date установлена во всех дистрибутивах Linux по умолчанию.
Введите команду даты в терминал, которая отобразит текущую дату и время.
Изменить системную дату и время Linux
С помощью команды date можно изменить системную дату, время и часовой пояс, и это изменение должно быть синхронизировано с аппаратными часами.
$ date --set="Thu Nov 12 13:06:59 IST 2020" $ hwclock --systohc
Параметры форматирования
Хорошим местом для получения списка параметров форматирования будет справочная страница.
Давайте рассмотрим некоторые из наиболее распространенных параметров форматирования, которые мы будем использовать.
- Чтобы применить форматирование, используйте «+, а затем «formatter».
- Чтобы получить список параметров форматирования для GNU\LINUX, взгляните на связанную справочную страницу.
- Чтобы получить список параметров форматирования для BSD, взгляните на связанную справочную страницу.
Две важные части команды date — это использование формата +% и параметр –date.
Теперь давайте применим форматирование к команде даты. Чтобы применить форматирование, добавьте знак плюса (+) , а затем %formatter , как показано в примерах.
Дата обработки в Linux
Давайте посмотрим, как использовать средства форматирования, связанные с датой, в простом сценарии оболочки под названием «date.sh».
# PRINT YEAR,MONTH,DAY AND DATE. echo "We are in the year = $(date +%Y)" echo "We are in the year = $(date +%y)" # Difference between %Y and %y is %Y will print 4 digits while %y will print the last 2 digits of the year. echo "We are in the month = $(date +%m)" echo "We are in the month = $(date +%b)" echo "We are in the month = $(date +%B)" # Difference between %B and %b is, %B will print full month name while %b will print abbreviated month name. echo "Current Day of the month = $(date +%d)" echo "Current Day of the week = $(date +%A)" echo "Current Day of the week = $(date +%a)" # Difference between %A and %a is, %A will print full Weekday name while %a will print abbreviated weekday name. # Instead of formatting to get the date, we can use %D which will print the date as %m/%d/%y or %F which prints in %Y-%M-%d format. echo "Date using %D = $(date +%D)" echo "Date using %F = $(date +%F)"
Время обработки в Linux
Давайте посмотрим, как использовать средства форматирования, связанные с временем, в простом сценарии оболочки под названием «time.sh».
# PRINT HOURS, MINS, SECONDS, NANO SECONDS echo Hours = $(date +%H) echo Minutes = $(date +%M) echo Seconds = $(date +%S) echo Nanoseconds = $(date +%N) echo Epoch Time = $(date +%s) echo "current time = $(date +%H:%M:%S:%N)" # can also use %T which displays Time in HH:MM:SS format. echo "current time in 24 hour format = $(date +%T)" # can also use %r to display time in 12 hour format. echo "current time in 12 hour format = $(date +%r)"
С флагом —date или -d
С помощью флага —date или -d ввод может быть передан как строка, и команда date знает, как с этим справиться.
Давайте посмотрим на несколько примеров, чтобы понять, как это работает.
# Print yesterday's date and time. echo "Yesterday = $(date -d "Yesterday")" # Print Tomorrow date and time. echo "tomorrow = $(date -d "tomorrow")" # Find what is the date and time before 10 days from now. echo "Before 10 days = $(date -d "tomorrow -10 days")" # Find last month and next month echo "Last month = $(date -d "last month" "%B")" echo "Next month = $(date -d "next month" "%B")" # Find last year and next year echo "Last Year = $(date -d "last year" "+%Y")" echo "Next Year = $(date -d "next year" "+%Y")" # Forecast the weekday echo "2 days away from today and it comes on weekdays? = $(date -d "Today +2 days" "+%A")
Общие операции
вычислить количество дней между двумя заданными датами.
$ echo $(( ( $(date -d "2020-11-10" "+%s") - $(date -d "2020-11-01" "+%s") ) / 86400))
Найдите данный год високосным или нет.
$ for y in ; do date -d $y-02-29 &>/dev/null && echo $y is leap year; done
Присвоение вывода команды даты переменной.
$ TODAY=$(date +%Y-%m-%d) OR $ TODAY1=$(date +%F) $ echo $TODAY $ echo $TODAY1
Создайте файлы журнала с датой, добавленной к имени файла.
Добавление даты и времени при создании файлов журналов, резервных копий или текстовых файлов — это обычная операция, с которой мы сталкиваемся чаще всего. Возьмем пример, чтобы сделать резервную копию, мы создали сценарий оболочки.
Этот скрипт будет делать резервную копию с 00:00 до 23:59 и запускаться ежедневно в 00:00 следующего дня. Мы хотим создать файлы журналов со вчерашним форматом даты.
CUSTOM_FORMAT=$(date —date «Yesterday» «+%d-%y-%H:%M») LOG_FILE=/var/log/custom_application/application_$.log echo «Script started» >> $ . CODE BLOCKS . echo «Script completed» >> $
Это все для этой статьи. В этой статье мы увидели, как использовать дату и время bash в Linux. Дайте нам знать ваши отзывы.