В Bash я знаю только то, что
rmdir directoryname
удалит каталог, но только если он пуст. Есть ли способ принудительно удалить подкаталоги?
В Bash я знаю только то, что
rmdir directoryname
удалит каталог, но только если он пуст. Есть ли способ принудительно удалить подкаталоги?
Ответы:
Следующая команда сделает это за вас. Будьте осторожны, хотя.
rm -rf directoryname
rm: invalid option -- rоб ошибке при попытке удалить каталог с помощью rm -r <directoryname>.
rm -rf directorynamecoz, так как вы не хотите, чтобы ваш скрипт приостанавливал выполнение, потому что он ожидает ввода данных пользователем. Конечно, вы должны быть уверены, что удаление каталога не принесет вреда.
если 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.