Команда mkdir в Linux.

Если вы работаете с системой Linux или начинаете изучать работу в терминале, то команда mkdir станет вашим надежным помощником. Она позволяет создавать новые папки (каталоги), что — главный способ организации файловой системы.

В этой статье я подробно расскажу, что такое команда mkdir, как её правильно использовать и какие есть полезные опции у данной утилиты.

Что такое команда mkdir?

mkdir — это команда в Linux, которая буквально означает «make directory» (создать папку). Она предназначена для быстрого и удобного создания новых директорий прямо через терминал. Это особенно важно для автоматизации процессов, работы с удалёнными серверами и при создании сложных структур папок.

Команда 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 — чтобы сразу задать права, и не забывайте про возможность создавать несколько папок за одну команду.