Как создать несколько подкаталогов с помощью одной команды Linux
Если вы хотите создать каталог, содержащий несколько подкаталогов, или дерево каталогов, используя командную строку в Linux, обычно вам нужно использовать команду mkdir
несколько раз. Однако есть более быстрый способ сделать это.
Допустим, мы создали каталог с именем htg и хотим создать в нем четыре подкаталога. В обычной ситуации мы использовали бы команду mkdir
для создания каталога htg. Затем нам понадобится команда cd
, чтобы перейти в новый каталог htg, и, наконец, мы снова воспользуемся командой mkdir
четыре раза, чтобы создать четыре подкаталога. .
Все это можно объединить в одну команду, и мы покажем вам, как это сделать.
Чтобы создать новый каталог с несколькими подкаталогами, вам нужно всего лишь ввести следующую команду в командной строке и нажать Enter (очевидно, измените имена каталогов на нужные).
mkdir -p htg/{articles,images,note,done}
Флаг -p
указывает команде mkdir
сначала создать основной каталог, если он еще не существует (в нашем случае htg). Слова в скобках являются частью «списка расширения фигурных скобок». Каждый из элементов в раскрывающемся списке фигурных скобок добавляется отдельно к предыдущему пути (htg/).
Например, приведенная выше команда расширяется до htg/articles, htg/images, htg/note, htg/done, причем все четыре подкаталога создаются в каталоге htg. Как вы можете видеть на скриншоте ниже, это сработало.
Вы также можете использовать раскрывающийся список в скобках в команде mkdir
, если вы создаете подкаталоги в уже существующем каталоге, как показано ниже. В этом примере каталог htg уже существует, поэтому подкаталоги просто добавляются в этот каталог.
Вы также можете вложить списки раскрытия фигурных скобок в команду mkdir
. Например, в подкаталоге article в каталоге htg мы хотим создать два подкаталога с именами new и rewrite. Итак, мы вводим следующую команду в командной строке и нажимаем Enter.
mkdir -p htg/{articles/{new,rewrites},images,notes,done}
Вы также можете использовать полный путь, если хотите, как я сделал в примере ниже:
mkdir -p ~/Documents/htg/{articles/{new,rewrites},images,notes,done}
Четыре подкаталога создаются в каталоге htg, а затем два подкаталога, new и rewrites, создаются в подкаталоге article.
Это так просто. Вы также можете комбинировать команду mkdir
с командой cd
, чтобы создать каталог и перейти в него с помощью одной команды.
Linux Commands | ||
Files | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc | |
Processes | alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap | |
Networking | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld |
RELATED: Best Linux Laptops for Developers and Enthusiasts