Как использовать рекурсивную команду создания каталога в Linux

Как правило, когда вы используете команду mkdir Linux make directory, вы создаете единственный подкаталог, который находится в любом каталоге, в котором находится ваша подсказка. Если вы были в ~ / Documents и набрали mkdir Memoranda, вы бы создали единственный каталог с именем Меморандумы, которые жили в ~ / Documents. Обычно вы не создаете в нем дополнительных каталогов.

Однако вы можете использовать рекурсивную форму команды Linux make directory для создания целых деревьев каталогов. Вы можете создать каталог внутри каталога, в котором вы находитесь, а затем создать внутри него множество других каталогов. Естественно, чтобы продолжить, вам нужно будет работать из командной строки. Удерживайте Ctrl, Alt и T, чтобы открыть графический терминал. Вы также можете выполнить поиск терминала в Ubuntu Unity Dash или выбрать меню «Приложения», нажать «Системные инструменты» и выбрать «Терминал». Вам не нужно работать как пользователь root, если вы не создаете каталоги за пределами вашего собственного домашнего каталога.

Метод 1. Использование родительского параметра mkdir

Если вы хотите создать несколько каталогов одновременно, вы можете ввести mkdir -p hey / this / is / a / whole / tree и затем нажать Enter. Вы получите полный набор каталогов с каждым из этих имен, вложенных друг в друга. Очевидно, вы можете использовать любое имя в любой точке дерева. Если некоторые из этих каталогов существуют, скажем, там уже есть hey и this, но не другие, то mkdir просто передаст их без ошибок и создаст каталоги под ними.

Параметр -p называется родительским и теоретически может быть вызван во многих дистрибутивах, набрав –parents вместо -p в предыдущей команде. Таким образом вы можете создать практически неограниченное количество каталогов одновременно. Как только они созданы, они работают как любые другие каталоги. Это означает, что если вы попытаетесь удалить верхнюю, она тоже будет жаловаться, что не пуста!

Метод 2: использование родительского mkdir Option Plus Brace Expansion

Расширение фигурных скобок позволяет вам создать группу каталогов, которые следуют единому шаблону при использовании интерпретатора команд bash. Например, если вы набрали mkdir {1..4} , вы создадите четыре каталога с соответствующими номерами в текущем каталоге. Если хотите, можете объединить эту концепцию с родительским вариантом. Вы можете, например, набрать mkdir -p 1 / {1..4} и нажать Enter, чтобы создать каталог с именем 1 с каталогами с именами 1, 2, 3 и 4 внутри него. Это очень мощная команда, и вы можете использовать ее для одновременного создания множества каталогов. Это делает его идеальным для сортировки коллекций фотографий, видео и музыки в Linux. Некоторые люди также используют эту технологию при создании сценариев установки для программного обеспечения или пакетов, которые они планируют распространять.

Вы, конечно, можете смешать эту опцию и добавить фигурные скобки к любой части команды. Если вы хотите создать некоторые каталоги с помощью фигурных скобок, а затем другие с помощью только родительской рекурсии, то вы можете попробовать команду типа mkdir -pa / directory / inside {1..4} , которая создаст каталог и внутри a, а также inside1, inside2, inside3 и inside4 под ним. Не стесняйтесь немного поэкспериментировать и создать дополнительные каталоги внутри друг друга, как только вы уже научились использовать команду mkdir, но имейте в виду, что вы не сможете удалить каталоги, в которых есть другие каталоги, без небольшой рекурсия или использование файлового менеджера.