Как создать вложенный каталог в Linux с помощью одной команды

Иногда вам может понадобиться создать вложенные каталоги в Linux с помощью одной команды. Обычно, если вы попытаетесь создать подкаталог, где родительский каталог не существует, вы получите ошибку. Поэтому разработчики и системные администраторы обычно создают сначала родительский каталог, а затем подкаталог. Но если вам нужно создать глубоко вложенный каталог, у которого много предков, это будет утомительно. В этой статье мы узнаем, как создать вложенный каталог в Linux с помощью одной команды mkdir.

linux

Как создать вложенный каталог в Linux с помощью одной команды

Допустим, вы хотите создать вложенный каталог /foo/bar/baz, где /foo и /foo/bar не существуют, тогда вот простая команда mkdir для создания /foo, /foo/bar и /foo/bar/baz с помощью одной команды.

В приведенной выше команде необходимо указать опцию -p, за которой следует самый внутренний вложенный каталог, который необходимо создать. При этом mkdir автоматически проверит и создаст родительские каталоги, если они не существуют.

Обычно опция -p используется с mkdir в том случае, если вы хотите, чтобы он создавал каталог, только если он не существует. Но вы также можете использовать ее для создания вложенных каталогов.

В некоторых реализациях, таких как GNU, команда mkdir поддерживает опцию -parents, которая более читабельна, чем -p, но она может быть недоступна в MacOS, различных BSD и других коммерческих дистрибутивах.

На самом деле, вы даже можете создать несколько вложенных каталогов с помощью одной команды mkdir, используя регулярные выражения в имени/пути к папке.

Допустим, вы хотите создать следующую вложенную структуру папок.

Вы можете создать приведенную выше структуру каталогов с помощью одной команды, приведенной ниже.

Когда мы указываем несколько имен папок/подпапок в фигурных скобках, mkdir создаст отдельный каталог для каждой из них. Например, {F1/{temp1,temp2},F2,F3} создаст каталоги F1, F2 и F3. {temp1, temp2} приведет к созданию подкаталогов temp1 и temp2 для F1, F2, F3. Обратите внимание, что хотя мы не указали temp1 и temp2 для F2 и F3, они будут созданы, поскольку они входят в ту же группу, что и F1, и мы указали, что подпапки temp1 и temp2 будут созданы для F1.

Важно отметить, что расширение фигурных скобок выполняется оболочкой, благодаря функции расширения скобок, а не командой mkdir. Просто, когда вы сочетаете опцию -p с расширением скобок, это позволяет вам создавать огромные и сложные структуры каталогов всего за одну команду.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий