В Bash я знаю только то, что
rmdir directoryname
удалит каталог, но только если он пуст. Есть ли способ принудительно удалить подкаталоги?
В Bash я знаю только то, что
rmdir directoryname
удалит каталог, но только если он пуст. Есть ли способ принудительно удалить подкаталоги?
Ответы:
Следующая команда сделает это за вас. Будьте осторожны, хотя.
rm -rf directoryname
rm: invalid option -- r
об ошибке при попытке удалить каталог с помощью rm -r <directoryname>.
rm -rf directoryname
coz, так как вы не хотите, чтобы ваш скрипт приостанавливал выполнение, потому что он ожидает ввода данных пользователем. Конечно, вы должны быть уверены, что удаление каталога не принесет вреда.
если rm -rf directoryname
не получится, попробуйте использовать rm -R -f directoryname
, или rm --recursive -f directoryname
.
Если вам не повезло с этим, вам следует рассмотреть возможность переустановки rm или переключения оболочек.
man rm
чтобы просмотреть мои варианты рекурсивного удаления и параметры форсирования .
rm
странице руководства список -r
? Что оно делает? (Попробуйте его в каталоге, который вы создаете только для целей тестирования, в котором есть только фиктивные файлы (и, возможно, подкаталоги).) Какую операционную систему вы используете?
rm -r
не работает, это будет проблема ОС, а не проблема оболочки. (Строго говоря, это может быть проблемой с версией rm
, которую вы используете, поэтому вы можете решить ее, установив другую версию rm
или выполнив поиск в вашей системе, чтобы узнать, есть ли у вас другая версия rm
в каком-либо каталоге, отличном от /bin
.)
man rm
свой терминал, он дал мне текстовый файл с программой less
просмотра текста. Я прокрутил и нашел запись с отступом, целое с опциями -R и --recursive , связанными с опцией -r , что означает, что все эти аргументы идентичны.
sudo rm -r directoryName
? Нераписанные правила основных команд таковы, что -r
они позволят программе рекурсивно запускаться на каждом файле вашей файловой системы (начиная с того места, где вы выберете!), И что -f будет принудительно выполнять действия, даже если это опасно . «cd», «mv», «ls» в основном придерживаются этого принципа. ls -r /
будет дюзи, и cp -rf / /dev/null
уничтожит все в вашей файловой системе. <- Никогда не запускайте эту команду!
rm -r directoryname
.