Если вы хотите удалить несколько подкаталогов в другом каталоге с помощью командной строки в Linux, обычно вам нужно несколько раз использовать команду rm
. Тем не менее, есть более быстрый способ сделать это.
Допустим, у нас есть каталог htg с пятью подкаталогами в нем, и мы хотим удалить три из них. В обычной ситуации мы бы использовали команду rm
три раза.
Однако мы можем сделать этот процесс еще короче, объединив три команды rm
в одну. Вот как.
Чтобы удалить три подкаталога, вам нужно всего лишь ввести в командной строке следующую команду и нажать Enter (очевидно, измените имена каталогов на те, которые вы хотите удалить).
rm -r ~/Documents/htg/{сделано, идеи, заметки}
Слова в скобках являются частью «списка расширения скобок». Каждый из элементов в списке расширения фигурных скобок добавляется отдельно к предыдущему пути (~/Documents/htg /). Например, приведенная выше команда развернута в ~/Documents/htg/done, ~/Documents/htg/ideas и ~/Documents/htg/notes, в три подкаталога в каталоге htg, которые мы хотим удалить. Как вы можете видеть на скриншоте ниже, эти три подкаталога были удалены.
Флаг -r
необходим при использовании команды rm для удаления каталога, а не файла. Если вы оставите флаг -r
в вышеприведенной команде, вы получите сообщение об ошибке, что каталоги не могут быть удалены.
Если все подкаталоги, которые вы хотите удалить, пусты, вы можете использовать команду rmdir
, как показано ниже.
rmdir ~/Documents/htg/{сделано, идеи, заметки}
Если окажется, что какой-либо из подкаталогов не является пустым, отобразится сообщение об ошибке, в котором говорится, что удаление не выполнено, и рассматриваемый подкаталог и его подкаталоги не удалены. Однако все пустые подкаталоги удаляются.
Будьте очень осторожны с командой rm
. Неправильное использование может удалить все файлы на вашем жестком диске.
Вы также можете создать каталог, содержащий несколько подкаталогов или дерево каталогов, используя одну команду.