Если вы работаете с системой Linux или начинаете изучать работу в терминале, то команда mkdir станет вашим надежным помощником. Она позволяет создавать новые папки (каталоги), что — главный способ организации файловой системы.
В этой статье я подробно расскажу, что такое команда mkdir, как её правильно использовать и какие есть полезные опции у данной утилиты.
Что такое команда mkdir?
mkdir — это команда в Linux, которая буквально означает «make directory» (создать папку). Она предназначена для быстрого и удобного создания новых директорий прямо через терминал. Это особенно важно для автоматизации процессов, работы с удалёнными серверами и при создании сложных структур папок.
Команда mkdir
- Основной синтаксис команды mkdir
- Создание нескольких папок одновременно
- Создание вложенных директорий
- Установка разрешений при создании папки
- Вывод информации по создаваемым директориям.
- Полный пример с использованием всех опций
Основной синтаксис команды mkdir
Самый простой вызов команды выглядит так:
mkdir название_директории
Например:
[root@waky practice]# mkdir my_new_dir
[root@waky practice]#
После выполнения этой команды в текущем каталоге появится папка с названием my_new_dir:
[root@waky practice]# ls
my_new_dir
[root@waky practice]#
После создания директории можно менять ее владельца командой chown, и права доступа командой chmod.
Создание нескольких папок одновременно
Если нужно быстро создать несколько папок в одном месте, укажите их имена через пробел:
[root@waky practice]# mkdir new_dir_1 new_dir_2 new_dir_3
[root@waky practice]#
Это создаст три новых папки за раз:
[root@waky practice]# ls
my_new_dir new_dir_1 new_dir_2 new_dir_3
[root@waky practice]#
Создание вложенных директорий
Часто возникает необходимость создать сразу целую последовательность папок, например:
main_dir
└── sub_dir
└── sub_sub_dir
Чтобы не создавать каждую поддиректорию отдельно, используют опцию -p:
[root@waky practice]# mkdir -p main_dir/sub_dir/sub_sub_dir
[root@waky practice]#
Если некоторые папки из пути еще не существуют, команда создаст их автоматически. Это очень удобно и экономит время. Убедимся что это так:
[root@waky practice]# ls -R main_dir/
main_dir/:
sub_dir
main_dir/sub_dir:
sub_sub_dir
main_dir/sub_dir/sub_sub_dir:
[root@waky practice]#
Все вложенные папки на месте.
Установка разрешений при создании папки
Самая важная и полезная особенность — это возможность сразу задать права доступа для создаваемой папки с помощью опции -m (от слова «mode» — режим).
Что такое разрешения в Linux?
В Linux у всех файлов (а директория это тоже в своем роде файл) есть разрешения: кто может читать, записывать или выполнять действия в них. Обычно задаются в виде числового кода, например 755 или 700.
755 — папка доступна для чтения, записи и выполнения владельцем, а также для чтения и выполнения для остальных.
700 — только владелец имеет все права.
Подробнее о правах и их численном выражении читайте в нашей специальной статье.
Как использовать?
По умолчанию, mkdir создает директории с правами 755:
[root@waky practice]# ls -l
total 0
drwxr-xr-x. 3 root root 21 Jan 23 09:55 main_dir
drwxr-xr-x. 2 root root 6 Jan 23 09:48 my_new_dir
drwxr-xr-x. 2 root root 6 Jan 23 09:51 new_dir_1
drwxr-xr-x. 2 root root 6 Jan 23 09:51 new_dir_2
drwxr-xr-x. 2 root root 6 Jan 23 09:51 new_dir_3
[root@waky practice]#
Если мы хотим, например, создать паку только для себя (700), то используем -m следующим образом:
[root@waky practice]# mkdir -m 700 restricted_area
[root@waky practice]#
Это создаст папку restricted_area, у которой права доступа будут установлены сразу при создании. Только её владелец сможет читать, писать и выполнять.
Почему это удобно?
- Экономия времени: сразу задаёте права при создании, не нужно менять их отдельно командой chmod.
- Безопасность: задаёте правильные уровни доступа сразу.
- Автоматизация: удобно использовать в скриптах.
Вывод информации по создаваемым директориям.
По умолчанию, если команда отработала без ошибок, мы не получим никакого вывода. Чтобы получить ответ от утилиты по поводу созданных директорий используется опция -v:
[root@waky practice]# mkdir -v another_dir
mkdir: created directory 'another_dir'
[root@waky practice]#
Это особенно актуально, когда создается целая цепочка вложенных папок, таким образом можно понять какие директории уже существовали, а какие были созданы по нашему запросу.
Полный пример с использованием всех опций
Все эти опции можно использовать как по отдельности, так и все разом, если в том есть потребность, например:
[root@waky practice]# mkdir -m 700 -pv one_more_dir/another_subdir/one_more_subdir
mkdir: created directory 'one_more_dir'
mkdir: created directory 'one_more_dir/another_subdir'
mkdir: created directory 'one_more_dir/another_subdir/one_more_subdir'
[root@waky practice]#
Обратите внимание, что указанные права доступа присваиваются конечной директории:
[root@waky practice]# ls -Rl one_more_dir/
one_more_dir/:
total 0
drwxr-xr-x. 3 root root 29 Jan 23 10:22 another_subdir
one_more_dir/another_subdir:
total 0
drwx------. 2 root root 6 Jan 23 10:22 one_more_subdir
one_more_dir/another_subdir/one_more_subdir:
total 0
[root@waky practice]#
Итоговая сводка по команде mkdir
| Опция | Назначение |
| -p | Создаёт директории по пути, если их ещё нет |
| -v | Выводит подробную информацию о создании |
| -m | Устанавливает разрешения при создании |
Почему команда mkdir важна?
- Быстрый и удобный способ организации файлов.
- Позволяет автоматизировать повторяющиеся задачи через скрипты.
- Помогает правильно управлять доступом с помощью разрешений.
- Не требует графического интерфейса — идеально для серверов и командной строки.
Заключение
Команда mkdir — это основной инструмент для создания папок в Linux. Освоив её, вы сможете быстро организовать структуру файлов, автоматизировать работу и управлять доступом. Используйте опцию -p для создания вложенных директорий, -m — чтобы сразу задать права, и не забывайте про возможность создавать несколько папок за одну команду.