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

Anonim

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

Создание вложенной структуры каталогов простым способом требует использования знакомой команды mkdir, которая обычно используется для создания одной новой папки, но с добавлением флага -p для указания полного пути создавать. Если вы хотите попробовать это сами, запустите приложение «Терминал», которое находится в папке /Applications/Utilities/, и следуйте инструкциям, чтобы узнать, как использовать mkdir -p для создания ряда каталогов в одной командной строке по указанному пути.

Рекурсивное создание структуры каталогов путем указания пути

В самом простом случае вы просто указываете путь к mkdir следующим образом:

mkdir -p /path/to/make/

Флаг -p гарантирует, что все подпапки создаются рекурсивно и в соответствующем месте.

В качестве примера предположим, что путь к вложенному каталогу, который мы хотим создать, — «/Create/These/Folders/Within/Each/Other/», и ни одна из этих папок или подпапок в настоящее время не существует. Чтобы мгновенно сделать их все, просто используйте следующую командную строку:

mkdir -p ~/Создать/Эти/Папки/Внутри/Каждая/Другая/

Это сделает папку «Создать» родительской, за которой следует полный ряд «/Эти/Папки/В/Каждый/Другой/» в качестве соответствующих вложенных дочерних каталогов.

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

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

Чтобы быстро перепроверить, что все каталоги были созданы и все работает как задумано, с помощью команды «найти» следующим образом:

find (родительский каталог) -type d -print

Вновь используя приведенный выше пример, команда поиска будет выглядеть так:

find ~/Create/ -type d -print

Вывод этой команды будет выглядеть примерно так, рекурсивно выводя список из родительского каталога во все дочерние папки:

$ find ~/Create -type d -print /Создать /Создать/Эти /Создать/Эти/Папки /Создать/Эти/Папки/Внутри /Создать/Эти /Папки/Внутри/Каждой /Создать/Эти/Папки/Внутри/Каждой/Другой

Конечно, вы также можете обратиться к Finder, чтобы убедиться, что была построена сложная структура папок, которую, возможно, проще всего просмотреть из представления «Список», а затем с помощью треугольников рекурсивно открыть каждый подкаталог и показать его содержимое, выглядя примерно так:

(Обратите внимание, что файлы .DS_Store отображаются, потому что все скрытые файлы видны)

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

И да, использование терминала — это, безусловно, самый быстрый способ сделать это, поскольку нет аналогичного трюка, характерного для Mac Finder, хотя теоретически можно автоматизировать создание вложенных каталогов с помощью приложения Automator в ОС. Х при желании. Что бы это ни стоило, команда mkdir работает одинаково как в Mac OS X, так и в Linux, поэтому при желании вы можете использовать ее на разных платформах. Хотите еще несколько трюков с командной строкой? Мы обеспечим вас.

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