Поиск по сайту:

Как создать каталоги из текстового файла в Linux

Как вы уже знаете, мы можем легко создать один или несколько каталогов одновременно, используя команду mkdir. Также возможно создавать вложенные каталоги (каталог внутри каталога) с помощью команды mkdir. Кроме того, есть и другие способы создания каталогов. В этом кратком руководстве описывается, как создавать каталоги из текстового файла из командной строки в Linux.

Создание каталогов из текстового файла в Linux

Обычно мы создаем один каталог с помощью команды:

mkdir dir1

Приведенная выше команда создаст каталог с именем «dir1» в текущем рабочем каталоге.

Для создания нескольких каталогов мы используем:

mkdir dir1 dir2 dir3

Или,

mkdir dir{1,2,3}

Эта команда создает три каталога, а именно dir1, dir2 и dir3, в текущем рабочем каталоге.

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

mkdir -p dir1/dir2/dir3

Опция -p позволяет создать родительский каталог, если он еще не создан. Приведенная выше команда создает каталог 2 внутри каталога 1 и каталог 3 внутри каталога 2. Здесь каталог dir1 является родительским каталогом для каталогов dir2 и dir3. dir2 — родительский каталог для dir3. Другими словами, dir2 — это дочерний каталог для dir1, а dir3 — дочерний каталог для dir2 и dir1.

Я думал, что это единственный способ создавать каталоги из командной строки, пока не узнал о команде xargs. Для тех, кому интересно: xargs — это команда Linux, которая используется для создания и выполнения командных строк из стандартного ввода.

Теперь давайте вернемся к нашей теме — созданию каталогов из текстового файла с помощью xargs.

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

Study/Ebooks
Tutorials/Videos
Linux_Commands
Entertainment/Movies/Tamil
Entertainment/Movies/English
Entertainment/Songs
Personal/Bills
Games
Miscellaneous

Есть идеи, как создать эту структуру каталогов из файла? Без проблем. Просто поместите имена каталогов по одному в текстовый файл, скажем, mydirectories.txt, как показано ниже.

Структура каталогов

Затем выполните следующую команду, чтобы создать каталоги.

xargs -I {} mkdir -p "{}" < mydirectories.txt

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

$ tree 
.
├── Entertainment
│   ├── Movies
│   │   ├── English
│   │   └── Tamil
│   └── Songs
├── Games
├── Linux_Commands
├── Miscellaneous
├── mydirectories.txt
├── Personal
│   └── Bills
├── Study
│   └── Ebooks
└── Tutorials
 └── Videos

14 directories, 1 file

Более подробную информацию можно найти на страницах руководства.

man xargs
man mkdir
man tree

Связанное чтение:

  • Как быстро создавать файлы внутри вложенных каталогов в Linux

Статьи по данной тематике