Поиск по сайту:

Создание каталогов с именем текущей даты/времени/месяца/года в Linux

Знаете ли вы, что мы можем создавать каталоги или файлы с именами текущей даты, времени, месяца и года из командной строки? Да! В этом руководстве объясняется, как создать каталог или файл с текущей отметкой времени в имени в Linux.

Это будет полезно, если вы хотите сохранить что-либо, например фотографии, в каталогах, названных по дате их фактической съемки. Например, если фотографии были сделаны 16 октября 1984 года, вы можете создать папку с названием «16-10-1984».

Создание файлов с временными метками облегчит вашу работу по упорядочиванию файлов. Это также будет полезно, если вы захотите автоматизировать задачу с помощью скрипта.

Следующие команды создадут каталог или файл и присвоят ему текущую дату/время/месяц/год в зависимости от часов вашего компьютера. Поэтому убедитесь, что в вашей системе установлено правильное время.

Создавайте каталоги и файлы с именами текущей даты, времени, месяца и года.

Чтобы создать каталог и назвать его текущей датой, просто запустите:

mkdir "$(date +"%d-%m-%Y")"

Или,

mkdir $(date +"%d-%m-%Y")

Эта команда создаст каталог и назовет его сегодняшней датой в формате дд:мм:гггг.

Пример вывода:

06-06-2020

Создание каталогов с именами текущей даты, времени, месяца и года в Linux

Чтобы переключиться в этот каталог, просто замените mkdir на команду cd, как показано ниже.

cd "$(date +"%d-%m-%Y")"

Аналогично, чтобы создать файл с именем текущей даты, времени, месяца и года, просто замените mkdir на команду touch:

touch "$(date +"%d-%m-%Y")"

Создание каталогов или файлов с произвольным именем и текущей датой

А как насчет произвольного имени каталога или файла с указанием даты/времени/месяца/года? Это также возможно.

mkdir ostechnix.com-$(date +"%d-%m-%Y")

Эта команда создаст каталог с именем "ostechnix.com-06-06-2020".

Создавайте каталоги или файлы с произвольным именем и текущей датой.

Чтобы создать файл с произвольным именем:

touch ostechnix.com-$(date +"%d-%m-%Y")

Создание каталогов файлов в формате ISO

Если вы хотите использовать формат даты ISO (например, 2020-06-06) и ls будет перечислять их в порядке дат, запустите:

mkdir $(date -I)

Или,

mkdir $(date +%F)

Или,

mkdir $(date +"%Y-%m-%d")

Все три приведенные выше команды дадут одинаковый результат.

Чтобы создать файлы, просто замените mkdir на команду touch.

Больше примеров

Если вам нужен только день текущей даты, используйте:

mkdir "$(date +%d)"

Эта команда создаст только каталог с текущим днем в имени. то есть 06.

Аналогичным образом вы можете создавать каталоги с именем только текущего месяца:

mkdir "$(date +%m)"

Только за год:

mkdir "$(date +%y)"

Эта команда будет называть каталоги последними двумя цифрами текущего года, то есть 20. Если вы хотите, чтобы в названии был указан весь год (т. е. 2020), используйте Y (заглавные буквы Y).

mkdir "$(date +%Y)"

Как насчет названий каталогов с текущим временем? Это также возможно.

mkdir "$(date +%r)"

Эта команда создаст папку и назовет ее текущим временем в формате чч:мм:сс.

Пример вывода:

'02:59:52 PM IST'

Мы даже можем создавать каталоги с текущими минутами и секундами в названии. Например, следующая команда создаст каталог и назовет его текущей секундой.

mkdir "$(date +%S)"

Здесь S — заглавная буква.

Чтобы назвать каталог с текущими минутами, используйте заглавные буквы M:

mkdir "$(date +%M)"

Во всех приведенных выше примерах мы создавали каталоги с номерами в именах. Что, если вы хотите назвать каталоги фактическим названием текущего дня/месяца, например воскресенье, октябрь и т. д.? Это просто!

mkdir "$(date +%A)"

Приведенная выше команда создаст каталог с именем "Суббота", то есть с сегодняшним именем.

Создать каталог с названием текущего дня

Чтобы создать каталог с названием текущего месяца (например, Октябрь), запустите:

mkdir "$(date +%B)"

Вот список поддерживаемых операторов, которые вы можете использовать для именования каталогов с указанием текущего дня, месяца, времени, года, дня недели, дня месяца, часового пояса и т. д.

       %a     locale's abbreviated weekday name (e.g., Sun)

       %A     locale's full weekday name (e.g., Sunday)

       %b     locale's abbreviated month name (e.g., Jan)

       %B     locale's full month name (e.g., January)

       %c     locale's date and time (e.g., Thu Mar  3 23:05:25 2005)

       %C     century; like %Y, except omit last two digits (e.g., 20)

       %d     day of month (e.g., 01)

       %D     date; same as %m/%d/%y

       %e     day of month, space padded; same as %_d

       %F     full date; same as %Y-%m-%d

       %g     last two digits of year of ISO week number (see %G)

       %G     year of ISO week number (see %V); normally useful only with %V

       %h     same as %b

       %H     hour (00..23)
       %I     hour (01..12)

       %j     day of year (001..366)

       %k     hour, space padded ( 0..23); same as %_H

       %l     hour, space padded ( 1..12); same as %_I

       %m     month (01..12)

       %M     minute (00..59)

       %n     a newline

       %N     nanoseconds (000000000..999999999)

       %p     locale's equivalent of either AM or PM; blank if not known

       %P     like %p, but lower case

       %q     quarter of year (1..4)

       %r     locale's 12-hour clock time (e.g., 11:11:04 PM)

       %R     24-hour hour and minute; same as %H:%M

       %s     seconds since 1970-01-01 00:00:00 UTC
       %S     second (00..60)

       %t     a tab

       %T     time; same as %H:%M:%S

       %u     day of week (1..7); 1 is Monday

       %U     week number of year, with Sunday as first day of week (00..53)

       %V     ISO week number, with Monday as first day of week (01..53)

       %w     day of week (0..6); 0 is Sunday

       %W     week number of year, with Monday as first day of week (00..53)

       %x     locale's date representation (e.g., 12/31/99)

       %X     locale's time representation (e.g., 23:13:48)

       %y     last two digits of year (00..99)

       %Y     year

       %z     +hhmm numeric time zone (e.g., -0400)

       %:z    +hh:mm numeric time zone (e.g., -04:00)

       %::z   +hh:mm:ss numeric time zone (e.g., -04:00:00)

       %:::z  numeric time zone with : to necessary precision (e.g., -04, +05:30)

       %Z     alphabetic time zone abbreviation (e.g., EDT)

Более подробную информацию можно найти на страницах руководства.

man date
man mkdir
man touch

Надеюсь это поможет.

Рекомендуем прочитать:

  • Как создавать каталоги из текстового файла в Linux
  • Учебное пособие по команде mktemp с примерами для начинающих
  • Как быстро создавать файлы внутри вложенных каталогов в Linux

Статьи по данной тематике