Использование даты и времени в названии файлов очень полезно, поскольку значительно упрощает их организацию и поиск. В операционной системе Linux файлы автоматически упорядочиваются по названию. Следовательно, файлы с временными метками легко находить, так как они будут отображаться в начале списка.
В этой статье мы расскажем, как называть файлы на основе даты и времени с помощью скриптов Bash в Linux.
Содержание:
- Что такое утилита date
- Создание файлов с меткой даты и времени в названии
- Создание каталогов с меткой даты и времени в названии
- Использование времени определенного часового пояса
- Выводы
Что такое утилита date
Утилита date — встроенный инструмент командной строки Linux, который используется для отображения даты и времени. Она также предоставляет различные спецификаторы формата вывода даты и времени. Вот несколько самых распространенных:
%Y— год в формате из четырех цифр (например, 2024);%m— месяц в виде двух цифр (например, 05);%d— день месяца в виде двух цифр (например, 19);%H— час в 24-часовом формате (например, 13);%M— минуты в виде двух цифр (например, 30);%S— секунды в виде двух цифр (например, 45).
Синтаксис команды date для форматирования даты выглядит следующим образом:
Важно: символ + применять обязательно, так как он указывает date использовать пользовательский формат отображения времени.
Например, чтобы вывести на экран текущую дату и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС, выполните в терминале:
Также обратите внимание, что в предыдущей команде используются символы - и :, которые разделяют значения даты и времени. Хотя они не являются обязательными.
Читайте также: Как использовать команду date в Linux.
Создание файлов с меткой даты и времени в названии
Допустим, нам нужно создать обычный текстовый файл, в названии которого будет написаны дата и время в формате ГГГГ-ММ-ДД_ЧЧ-ММ-СС. Для этого создадим скрипт со следующим содержимым:
Здесь:
- Переменная
filenameхранит результат выполнения командыdateв форматеГГГГ-ММ-ДД_ЧЧ-ММ-СС. Также к выводу утилитыdateдобавляется расширение*.txt. - Команда
echo "Log entry" > "$filename"перенаправляет текстLog entryв файл, название которого содержится в переменнойfilename.
На скриншоте выше видно, что после выполнения скрипта в текущей директории появился файл 2024-05-19_08-57-25.txt.
Для получения точно такого же результат Вы можете воспользоваться следующим скриптом:
Особенностью утилиты date является то, что пользователи могут кастомизировать формат вывода времени. К примеру создадим лог-файл, название которого содержит дату в формате ГГГГММДД:
Читайте также: Как найти файлы по дате в Linux.
Создание каталогов с меткой даты и времени в названии
Для создания директорий в операционной системе Linux используется команда mkdir. Поэтому, чтобы создать каталог, нужно изменить скрипт следующим образом:
Здесь:
- Переменная
backup_dirсодержит строкуbackup_, к которой добавляется текущие дата и время в форматеГГГГ-ММ-ДД_ЧЧ-ММ-СС. - Команда
mkdir -p "$backup_dir"создает каталог с названием, указанным в переменнойbackup_dir.
Использование времени определенного часового пояса
Утилита date также позволяет отображать время в определенном часовом поясе. Для примера создадим архив tar резервной копии данных папки /home/user/Pictures с названием, основанным на текущем времени зоны UTC:
Здесь:
- переменная
UTC_backupсодержит значение текущей даты и времени в форматеГГГГ-ММ-ДД_ЧЧ-ММ-СС; - команда
TZ=UTCустанавливает временную зону UTC; - в конец значения
UTC_backupдобавляется расширение*.tar.gz.
Читайте также: Поиск каталогов с помощью команды find.
Выводы
Используя показанные примеры скриптов и спецификаторы формата команды date, Вы сможете создавать файлы с названиями, которые включают временные метки. Надеемся, что эта статья была полезной для Вас!
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.




























