как удалить все каталоги в папке

Да

Это работает из коробки с tigervnc vncviewer (в полноэкранном -режиме ).

0
26.11.2020, 20:15
2 ответа

Подстановочный знак *не расширяется внутри кавычек (ни в одинарных, ни в двойных -кавычках ), поэтому вам нужно написать это вне кавычек:

rm -rf '/content/download/'*/

Однако кавычки необходимы, только если путь или имя файла содержат пробелы/новую строку или некоторые другие символы, которые являются специальными для оболочки, чтобы предотвратить их интерпретацию оболочкой.

С окончанием /, */будет расширяться на все файлы типа каталог после разрешения символической ссылки , поэтому также будет включать символические ссылки на каталоги. Расширение будет что-то вроде /content/download/dirlink/для тех. Что произойдет с ними, зависит от реализации rm. С теми, которые обычно встречаются в системах на базе Linux -, они удаляют содержимое(рекурсивно )целевого каталога символической ссылки, но не символическую ссылку или сам каталог.

Также обратите внимание, что скрытые каталоги не удаляются.


Если у вас оболочка bash, вы можете прочитать больше в ее руководстве, в частности:

7
18.03.2021, 22:47
find ~/Downloads -mindepth 1 -maxdepth 1 -type d | xargs rm -rf

Это решение не зависит от конкретной оболочки (bash, zshи т. д. ), которую вы используете.

0
18.03.2021, 22:47

Теги

Похожие вопросы