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

Создайте вложенную структуру каталогов с помощью команды mkdir

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

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

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

В самой простой форме вы просто указываете путь к mkdir:

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

mkdir -p /path/to/make/

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

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

mkdir -p ~/Create/These/Folders/Within/Each/Other/

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

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

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

Чтобы быстро дважды проверить, созданы ли все каталоги и все работает, как задумано, используйте команду find, например:

find (parent directory) -type d -print

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

find ~/Create/ -type d -print

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

$ find ~/Create -type d -print
/Create
/Create/These
/Create/These/Folders
/Create/These/Folders/Within
/Create/These/Folders/Within/Each
/Create/These/Folders/Within/Each/Other

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

Просмотр в Finder пути вложенной папки, созданной из командной строки

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

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

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *