«-f» - это «--force», который отменяет некоторые проверки работоспособности и подсказки. Более безопасная команда для начала была бы rm -r directoryname.
Джим Пэрис
По какой-то причине я получаю сообщение rm: invalid option -- rоб ошибке при попытке удалить каталог с помощью rm -r <directoryname>.
@JimParis Я думаю, что слово «безопаснее» относительное. Предположим, вы пишете скрипт для запуска на удаленном компьютере. Этот скрипт имеет команду, которая должна удалить каталог. Здесь было бы «безопаснее» использовать rm -rf directorynamecoz, так как вы не хотите, чтобы ваш скрипт приостанавливал выполнение, потому что он ожидает ввода данных пользователем. Конечно, вы должны быть уверены, что удаление каталога не принесет вреда.
Джон Ред
7
если rm -rf directorynameне получится, попробуйте использовать rm -R -f directoryname, или rm --recursive -f directoryname.
Если вам не повезло с этим, вам следует рассмотреть возможность переустановки rm или переключения оболочек.
Это были опции, доступные на моей man-странице rm, я посмотрел их, набрав, man rmчтобы просмотреть мои варианты рекурсивного удаления и параметры форсирования .
saterHater
Есть ли в вашей rmстранице руководства список -r? Что оно делает? (Попробуйте его в каталоге, который вы создаете только для целей тестирования, в котором есть только фиктивные файлы (и, возможно, подкаталоги).) Какую операционную систему вы используете?
G-Man
PS Если rm -rне работает, это будет проблема ОС, а не проблема оболочки. (Строго говоря, это может быть проблемой с версией rm, которую вы используете, поэтому вы можете решить ее, установив другую версию rmили выполнив поиск в вашей системе, чтобы узнать, есть ли у вас другая версия rmв каком-либо каталоге, отличном от /bin.)
G-Man
Ах, верно. Я забыл упомянуть, что я нахожусь на Ubuntu 14.04. Когда я запустил man rmсвой терминал, он дал мне текстовый файл с программой lessпросмотра текста. Я прокрутил и нашел запись с отступом, целое с опциями -R и --recursive , связанными с опцией -r , что означает, что все эти аргументы идентичны.
saterHater
1
редактировать: вы пробовалиsudo rm -r directoryName ? Нераписанные правила основных команд таковы, что -rони позволят программе рекурсивно запускаться на каждом файле вашей файловой системы (начиная с того места, где вы выберете!), И что -f будет принудительно выполнять действия, даже если это опасно . «cd», «mv», «ls» в основном придерживаются этого принципа. ls -r /будет дюзи, и cp -rf / /dev/nullуничтожит все в вашей файловой системе. <- Никогда не запускайте эту команду!
rm -r 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
уничтожит все в вашей файловой системе. <- Никогда не запускайте эту команду!