Рекурсивно създаване на вложена структура на директория & Всички подпапки с една команда

Anonim

Създаването на поредица от вложени директории една в друга може да се извърши незабавно чрез командния ред. Това прави много лесно незабавното и рекурсивно създаване на сложна директорийна структура от папки в подпапки на подпапки, без да се налага да навигирате ръчно във всяка директория, за да създадете нова директория, след което да навигирате отново до тази поддиректория, за да създадете още една директория и т.н. .Вместо това, трик на командния ред ще създаде пълния път на междинната директория с един замах.

Изграждането на структура на вложена директория по лесния начин изисква използването на познатата команда mkdir, която рутинно се използва за създаване на една нова папка, но с прикачването на флага -p за указване на пълен път да създам. Ако искате да опитате това сами, стартирайте приложението Terminal, както се намира в папката /Applications/Utilities/ и следвайте, за да видите как да използвате mkdir -p за изграждане на поредица от директории в рамките на един команден ред, използвайки определен път.

Създаване на структура на директория рекурсивно чрез указване на път

В най-простата форма просто посочвате пътя до mkdir:

mkdir -p /path/to/make/

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

Като пример, да кажем, че пътят на вложената директория, който искаме да създадем, е „/Create/These/Folders/Within/Each/Other/” и в момента нито една от тези папки или подпапки не съществува. За да ги направите незабавно всички, просто използвайте следния команден низ:

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

Това ще направи папката „Create“ като родителска директория, последвана от пълната поредица от „/These/Folders/Within/Each/Other/“ като подходящо вложени дъщерни директории.

Можете да укажете толкова дълъг път, колкото искате да изградите и той незабавно ще създаде родителската и всички междинни дъщерни директории.

Проверка на създаването на директорията и всички подпапки

За бърза двойна проверка дали всички директории са създадени и дали всичко работи по предназначение, като използвате командата ‘find’ така:

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

Използвайки отново горния пример, командата за намиране ще изглежда така:

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, за да проверите дали е изградена сложна структура на папки, може би най-лесно да се разглежда от изгледа „Списък“ и след това да използвате триъгълниците за рекурсивно отваряне на всяка поддиректория и покажете съдържанието му, изглеждайки по следния начин:

(Обърнете внимание, че файловете .DS_Store се показват, тъй като всички скрити файлове са видими)

Това е наистина полезен съвет, който разгледахме преди известно време като част от шепа полезни трикове за командния ред, но като се има предвид удобството, си струва да се разгледа сам по себе си.

И да, използването на терминала е най-бързият начин за постигане на това, тъй като няма подобен трик, специфичен за Mac Finder, въпреки че теоретично може да се автоматизира създаването на вложена директория чрез приложението Automator в OS X, ако желаете. Колкото и да си струва, командата mkdir работи еднакво както в Mac OS X, така и в Linux, така че можете да я използвате на различни платформи, ако желаете. Искате ли още трикове за команден ред? Ние ви покриваме.

Рекурсивно създаване на вложена структура на директория & Всички подпапки с една команда