Создание каталогов с именем текущей даты/времени/месяца/года в 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