mkdir

Что делает команда mkdir в Linux

Команда mkdir в Linux — одна из базовых утилит командной строки, предназначенная для создания новых каталогов (директорий) в файловой системе. Она используется как в повседневных задачах системных администраторов, так и в скриптах автоматизации.
Ее имя расшифровывается как “make directory” — «создать директорию».

Простое создание каталога выполняется так:

Bash
mkdir my_folder

Эта команда создаст папку с именем my_folder в текущем каталоге. Если директория уже существует, будет выдано сообщение об ошибке.

Основные параметры команды mkdir

Хотя базовое использование простое, команда mkdir в Linux имеет множество опций, которые делают её гибким инструментом. Рассмотрим наиболее важные параметры.

Параметр -p (создание вложенных директорий)

Флаг -p используется, когда нужно создать не только конечную директорию, но и все промежуточные. Это особенно удобно при автоматизации и работе со сложными структурами каталогов.

Пример:

Bash
mkdir -p /home/user/projects/python/scripts

Если какие-то из папок projects или python отсутствуют, команда создаст их автоматически. Без -p система выдала бы ошибку, поскольку промежуточные каталоги не существуют.

Совет: при написании bash-скриптов для развертывания проектов всегда добавляйте -p, чтобы избежать сбоев при создании каталогов.

Параметр -m (указание прав доступа)

Флаг -m позволяет задать права доступа (mode) к создаваемому каталогу прямо при его создании. Это аналог команды chmod, только совмещенный с созданием.

Пример:

Bash
mkdir -m 755 new_dir

Папка new_dir будет создана с правами rwxr-xr-x, то есть владелец имеет полный доступ, а остальные — только чтение и выполнение.

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

Параметр -v (подробный вывод)

Флаг -v включает «verbose mode» — подробный вывод действий команды. Он полезен при выполнении скриптов, когда важно видеть, какие каталоги реально были созданы.

Пример:

Bash
mkdir -v backup_2025

Вывод:

Bash
mkdir: создан каталог 'backup_2025'

Если использовать -v совместно с -p, то команда покажет все созданные промежуточные каталоги:

Bash
mkdir -pv /home/user/data/logs/2025

Параметр —help и —version

Как и большинство команд Linux, команда mkdir в Linux имеет встроенные справочные опции.

  • --help — выводит краткую справку по синтаксису и параметрам.
  • --version — отображает текущую версию утилиты.

Пример:

Bash
mkdir --help
mkdir --version

Обычно эти команды применяются для проверки версии GNU Coreutils, в состав которых входит mkdir.

Примеры практического использования mkdir

Рассмотрим реальные сценарии, где команда mkdir в Linux применяется на практике.

Создание нескольких директорий сразу

Можно создать сразу несколько папок, перечислив их через пробел:

Bash
mkdir images videos documents

Система создаст три каталога в текущем месте. Это удобно при инициализации проекта или настройке окружения.

Также можно комбинировать опции:

Bash
mkdir -pv /var/www/{html,logs,configs}

Здесь используется фигурное расширение Bash — будут созданы каталоги /var/www/html, /var/www/logs и /var/www/configs одной командой.

Работа с правами доступа и владельцами

В системном администрировании важно не только создать каталог, но и выдать права нужным пользователям. Команда mkdir с параметром -m помогает задать базовые права, а затем можно использовать chown для изменения владельца.

Пример:

Bash
mkdir -m 700 /srv/private_data
chown admin:admin /srv/private_data

Такой каталог будет доступен только пользователю admin.

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

Использование mkdir в скриптах

В Bash-скриптах команда mkdir в Linux часто применяется совместно с проверками существования каталогов, чтобы избежать ошибок.

Пример фрагмента скрипта:

Bash
#!/bin/bash

DIR="/var/logs/backup"

if [ ! -d "$DIR" ]; then
    mkdir -p "$DIR"
    echo "Каталог $DIR создан."
else
    echo "Каталог $DIR уже существует."
fi

Такой подход делает скрипты более надежными и предотвращает сбои при повторном запуске.

Ошибки и диагностика mkdir

Если при выполнении команды mkdir в Linux вы видите сообщение об ошибке, стоит обратить внимание на следующие моменты:

  1. Отсутствие прав — вы не можете создавать каталоги в системных разделах без sudo.
    Пример решения: sudo mkdir /opt/new_app
  2. Неверный путь — если указан несуществующий каталог без -p, то команда завершится с ошибкой.
  3. Существующий каталог — по умолчанию mkdir не перезаписывает папки и сообщает, что такой каталог уже есть.

Для отладки удобно использовать echo $? — проверку кода возврата последней команды.
0 означает успешное выполнение, а любое другое значение — ошибку.

Дополнительные возможности mkdir

Помимо стандартных параметров, команда mkdir в Linux может использоваться в комбинации с другими инструментами:

  • В связке с xargs или find для массового создания каталогов.
  • С seq для генерации последовательных имен:
Bash
seq -w 1 5 | xargs -I {} mkdir folder_{}

Будут созданы каталоги folder_01, folder_02, folder_03, folder_04, folder_05.

Это удобно при автоматизации и создании тестовых данных.

Почему важно знать команду mkdir

Знание того, как работает команда mkdir в Linux, помогает эффективно управлять файловой структурой, быстро развертывать проекты и писать надёжные сценарии автоматизации. Даже простые задачи — резервное копирование, настройка веб-сервера, организация логов — требуют умения правильно создавать каталоги и задавать им права.