mkdir
Что делает команда mkdir в Linux
Команда mkdir в Linux — одна из базовых утилит командной строки, предназначенная для создания новых каталогов (директорий) в файловой системе. Она используется как в повседневных задачах системных администраторов, так и в скриптах автоматизации.
Ее имя расшифровывается как “make directory” — «создать директорию».
Простое создание каталога выполняется так:
mkdir my_folder
Эта команда создаст папку с именем my_folder в текущем каталоге. Если директория уже существует, будет выдано сообщение об ошибке.
Основные параметры команды mkdir
Хотя базовое использование простое, команда mkdir в Linux имеет множество опций, которые делают её гибким инструментом. Рассмотрим наиболее важные параметры.
Параметр -p (создание вложенных директорий)
Флаг -p используется, когда нужно создать не только конечную директорию, но и все промежуточные. Это особенно удобно при автоматизации и работе со сложными структурами каталогов.
Пример:
mkdir -p /home/user/projects/python/scripts
Если какие-то из папок projects или python отсутствуют, команда создаст их автоматически. Без -p система выдала бы ошибку, поскольку промежуточные каталоги не существуют.
-p, чтобы избежать сбоев при создании каталогов.Параметр -m (указание прав доступа)
Флаг -m позволяет задать права доступа (mode) к создаваемому каталогу прямо при его создании. Это аналог команды chmod, только совмещенный с созданием.
Пример:
mkdir -m 755 new_dir
Папка new_dir будет создана с правами rwxr-xr-x, то есть владелец имеет полный доступ, а остальные — только чтение и выполнение.
Эта опция удобна, когда нужно точно контролировать доступ к данным, например при создании каталогов для разных пользователей или сервисов.
Параметр -v (подробный вывод)
Флаг -v включает «verbose mode» — подробный вывод действий команды. Он полезен при выполнении скриптов, когда важно видеть, какие каталоги реально были созданы.
Пример:
mkdir -v backup_2025
Вывод:
mkdir: создан каталог 'backup_2025'
Если использовать -v совместно с -p, то команда покажет все созданные промежуточные каталоги:
mkdir -pv /home/user/data/logs/2025
Параметр —help и —version
Как и большинство команд Linux, команда mkdir в Linux имеет встроенные справочные опции.
--help— выводит краткую справку по синтаксису и параметрам.--version— отображает текущую версию утилиты.
Пример:
mkdir --help
mkdir --version
Обычно эти команды применяются для проверки версии GNU Coreutils, в состав которых входит mkdir.
Примеры практического использования mkdir
Рассмотрим реальные сценарии, где команда mkdir в Linux применяется на практике.
Создание нескольких директорий сразу
Можно создать сразу несколько папок, перечислив их через пробел:
mkdir images videos documents
Система создаст три каталога в текущем месте. Это удобно при инициализации проекта или настройке окружения.
Также можно комбинировать опции:
mkdir -pv /var/www/{html,logs,configs}
Здесь используется фигурное расширение Bash — будут созданы каталоги /var/www/html, /var/www/logs и /var/www/configs одной командой.
Работа с правами доступа и владельцами
В системном администрировании важно не только создать каталог, но и выдать права нужным пользователям. Команда mkdir с параметром -m помогает задать базовые права, а затем можно использовать chown для изменения владельца.
Пример:
mkdir -m 700 /srv/private_data
chown admin:admin /srv/private_data
Такой каталог будет доступен только пользователю admin.
Использование mkdir в скриптах
В Bash-скриптах команда mkdir в Linux часто применяется совместно с проверками существования каталогов, чтобы избежать ошибок.
Пример фрагмента скрипта:
#!/bin/bash
DIR="/var/logs/backup"
if [ ! -d "$DIR" ]; then
mkdir -p "$DIR"
echo "Каталог $DIR создан."
else
echo "Каталог $DIR уже существует."
fi
Такой подход делает скрипты более надежными и предотвращает сбои при повторном запуске.
Ошибки и диагностика mkdir
Если при выполнении команды mkdir в Linux вы видите сообщение об ошибке, стоит обратить внимание на следующие моменты:
- Отсутствие прав — вы не можете создавать каталоги в системных разделах без
sudo.
Пример решения:sudo mkdir /opt/new_app - Неверный путь — если указан несуществующий каталог без
-p, то команда завершится с ошибкой. - Существующий каталог — по умолчанию mkdir не перезаписывает папки и сообщает, что такой каталог уже есть.
Для отладки удобно использовать echo $? — проверку кода возврата последней команды.0 означает успешное выполнение, а любое другое значение — ошибку.
Дополнительные возможности mkdir
Помимо стандартных параметров, команда mkdir в Linux может использоваться в комбинации с другими инструментами:
- В связке с
xargsилиfindдля массового создания каталогов. - С
seqдля генерации последовательных имен:
seq -w 1 5 | xargs -I {} mkdir folder_{}
Будут созданы каталоги folder_01, folder_02, folder_03, folder_04, folder_05.
Это удобно при автоматизации и создании тестовых данных.
Почему важно знать команду mkdir
Знание того, как работает команда mkdir в Linux, помогает эффективно управлять файловой структурой, быстро развертывать проекты и писать надёжные сценарии автоматизации. Даже простые задачи — резервное копирование, настройка веб-сервера, организация логов — требуют умения правильно создавать каталоги и задавать им права.