SRV_ADMIN Telegram 2430
Давно ничего не было на тему работы в bash с использованием консольных программ. Решил оживить рубрику и рассказать про различные варианты отображения времени с помощью утилиты date. Постоянно приходится её использовать в скриптах. В основном при создании бэкапов, чтобы задавать удобные для восприятия названия файлов или директорий.

Если просто ввести date в терминале, то вы увидите текущее время, дату и часовой пояс. В таком виде это чисто информационное сообщение.
# date
Mon Dec 15 15:09:40 MSK 2024

Если бэкап выполняется раз в сутки, то информацию, связанную с изменениями за эти сутки, я обычно сохраняю в директории со следующим именем:
# date +%F
2024-12-15
Год-месяц-день. Вывод этой команды аналогичен вот этой:
# date +%Y-%m-%d
Соответственно, если вы хотите получить только год и месяц, используйте:
# date +%Y-%m
2024-12

Похожий вывод делает команда:
# date +%x
15/12/2024
Только вместо тире используются наклонные линии и дата развёрнута в другую сторону. Для глаз более наглядно, но я стараюсь избегать таких символов в путях. Иногда бывают проблемы.

Если хотите получить удобочитаемую человеком маску, то подойдёт вот такая:
# date +'%d-%b-%Y-%H:%M:%S'
15-Dec-2024-15:15:28
Дата и время хорошо воспринимаются на глаз, но неудобно, если будет использоваться сортировка по имени. В этом случае имеет смысл хотя бы год поставить вперёд.
# date +'%Y-%b-%d-%H:%M:%S'
2024-Dec-15-15:17:12

Обычно мне хватает показанных выше масок, которые комбинируются в разном порядке и разделяются различными символами - тире, пробелами, двоеточием или наклонными линиями.

Все возможные маски подробно описаны в документации, которую можно почитать в man. Так что вы легко сможете собрать то, что подойдёт в каждом конкретном случае. К менее популярным, но всё равно иногда нужным, можно отнести:
%y - показать только две последние цифры года
%j - порядковый номер дня года, пригодится даже не в скриптах, а просто, чтобы быстро узнать, какой сейчас день по счёту
%U - текущая неделя года, тоже скорее для информации пригодится, чтобы быстро узнать, какая сейчас неделя, этими данными постоянно финансисты и бухгалтера оперируют

С помощью следующей команды можно изменить дату с формата unixtime в обычный. Это быстрее, чем гуглить онлайн конвертор:
# date --date @1734265955
Sun Dec 15 15:32:35 MSK 2024
И в обратную сторону
# date -d "Dec 15 2024 15:32:35" +%s
1734265955

#bash



tgoop.com/srv_admin/2430
Create:
Last Update:

Давно ничего не было на тему работы в bash с использованием консольных программ. Решил оживить рубрику и рассказать про различные варианты отображения времени с помощью утилиты date. Постоянно приходится её использовать в скриптах. В основном при создании бэкапов, чтобы задавать удобные для восприятия названия файлов или директорий.

Если просто ввести date в терминале, то вы увидите текущее время, дату и часовой пояс. В таком виде это чисто информационное сообщение.
# date
Mon Dec 15 15:09:40 MSK 2024

Если бэкап выполняется раз в сутки, то информацию, связанную с изменениями за эти сутки, я обычно сохраняю в директории со следующим именем:
# date +%F
2024-12-15
Год-месяц-день. Вывод этой команды аналогичен вот этой:
# date +%Y-%m-%d
Соответственно, если вы хотите получить только год и месяц, используйте:
# date +%Y-%m
2024-12

Похожий вывод делает команда:
# date +%x
15/12/2024
Только вместо тире используются наклонные линии и дата развёрнута в другую сторону. Для глаз более наглядно, но я стараюсь избегать таких символов в путях. Иногда бывают проблемы.

Если хотите получить удобочитаемую человеком маску, то подойдёт вот такая:
# date +'%d-%b-%Y-%H:%M:%S'
15-Dec-2024-15:15:28
Дата и время хорошо воспринимаются на глаз, но неудобно, если будет использоваться сортировка по имени. В этом случае имеет смысл хотя бы год поставить вперёд.
# date +'%Y-%b-%d-%H:%M:%S'
2024-Dec-15-15:17:12

Обычно мне хватает показанных выше масок, которые комбинируются в разном порядке и разделяются различными символами - тире, пробелами, двоеточием или наклонными линиями.

Все возможные маски подробно описаны в документации, которую можно почитать в man. Так что вы легко сможете собрать то, что подойдёт в каждом конкретном случае. К менее популярным, но всё равно иногда нужным, можно отнести:
%y - показать только две последние цифры года
%j - порядковый номер дня года, пригодится даже не в скриптах, а просто, чтобы быстро узнать, какой сейчас день по счёту
%U - текущая неделя года, тоже скорее для информации пригодится, чтобы быстро узнать, какая сейчас неделя, этими данными постоянно финансисты и бухгалтера оперируют

С помощью следующей команды можно изменить дату с формата unixtime в обычный. Это быстрее, чем гуглить онлайн конвертор:
# date --date @1734265955
Sun Dec 15 15:32:35 MSK 2024
И в обратную сторону
# date -d "Dec 15 2024 15:32:35" +%s
1734265955

#bash

BY ServerAdmin.ru


Share with your friend now:
tgoop.com/srv_admin/2430

View MORE
Open in Telegram


Telegram News

Date: |

A new window will come up. Enter your channel name and bio. (See the character limits above.) Click “Create.” Choose quality over quantity. Remember that one high-quality post is better than five short publications of questionable value. How to Create a Private or Public Channel on Telegram? Hui said the time period and nature of some offences “overlapped” and thus their prison terms could be served concurrently. The judge ordered Ng to be jailed for a total of six years and six months. Deputy District Judge Peter Hui sentenced computer technician Ng Man-ho on Thursday, a month after the 27-year-old, who ran a Telegram group called SUCK Channel, was found guilty of seven charges of conspiring to incite others to commit illegal acts during the 2019 extradition bill protests and subsequent months.
from us


Telegram ServerAdmin.ru
FROM American