Как мне удалить следующий каталог?
Я набрал:
rmdir lampp
Эта ошибка появляется:
rmdir: failed to remove `lampp': Directory not empty
Есть ли команда удалить все файлы в каталоге и удалить папку каталога?
command-line
Нэвин
источник
источник
rm -r lampp
будет делать.Ответы:
Используйте следующую команду:
Удаляет все файлы и папки, содержащиеся в
lampp
каталоге.Если у пользователя нет прав на удаление папки:
Добавьте
sudo
в начале команды:В противном случае
sudo
вам будет отказано в разрешении. И хорошей практикой является попытка не использовать ее-f
при удалении каталога:Примечание: это предполагает, что вы уже находитесь на том же уровне папки, которую хотите удалить в терминале, если нет:
FYI: Вы можете использовать буквы
-f
,-r
,-v
:-f
= игнорировать несуществующие файлы, никогда не запрашивать-r
= рекурсивно удалять каталоги и их содержимое-v
= объяснить, что делаетсяисточник
--no-preserve-root
тоже не печатаете случайно .Тем не менее, вы должны быть осторожны с такой рекурсивной командой, как это, так как легко случайно удалить намного больше, чем вы предполагали.
Рекомендуется всегда дважды проверять, в каком каталоге вы находитесь, и правильно ли вы ввели команду, прежде чем нажимать Enter.
Более безопасная версия
Добавление
-i
делает его немного безопаснее, потому что он будет подсказывать вам при каждом удалении. Однако, если вы удаляете много файлов, это не будет очень практичным. Тем не менее, вы можете попробовать это в первую очередь.Примечание о
-f
варианте:Многие люди предлагают использовать
-f
(объединяя его в-Rf
или-rf
), утверждая, что он избавляется от раздражающих подсказок. Тем не менее, в обычных случаях вам это не нужно, и его использование подавляет некоторые проблемы, о которых вы, вероятно , хотите знать. Когда вы используете его, вы не будете предупреждены, если ваши аргументы содержат несуществующий каталог или файл (ы): rm просто молча не сможет ничего удалить. Как правило, попробуйте сначала без-f
: если есть проблемы с вашими аргументами, то вы заметите. Если вы начинаете получать слишком много запросов о файлах без прав записи, то вы можете попробовать это с-f
, В качестве альтернативы, запустите команду от пользователя (или суперпользователя, использующего sudo), у которого есть полные права доступа к удаляемым файлам и каталогам, чтобы в первую очередь предотвратить появление этих запросов.источник
-r
могут быть использованы и имеют тот же эффект здесь. Я обычно использую только заглавные буквы,-R
потому что это согласуется с другими командами, которые я использую, такими какgrep
иchmod
, некоторые из которых поддерживают только заглавную форму.rm -ir FOLDER
.Есть много способов удалить каталог через режим CLI. Это зависит от того, как вы себя чувствуете.
-r
= рекурсивно удалять каталоги и их содержимое-v
= объяснить, что делается-f
= игнорировать несуществующие файлы, никогда не запрашиватьЕсли вы новичок в Linux, используйте man-страницы command (
man rm
) для большей опции и большей точности.источник
У меня были некоторые проблемы с этим сегодня, но я преодолел это с помощью sudo.
Предостережение: будьте уверены, что вы хотите удалить всю вещь, прежде чем использовать команду ниже.
Я успешно сделал это сегодня и удалил много непустых каталогов, которые, как я подтвердил, мне не нужны / не нужны.
Я использую 14.04 LTS
источник
Кстати, я лично хотел удалить каталог, содержащий защищенный от записи файл / s (.git и подкаталоги), и в конце концов понял, что мне также нужно стать суперпользователем, чтобы успешно удалить эти файлы. Вот что я сделал:
источник
sudo su
здесь. Просто добавьте кrm
команде префиксsudo
. В целях безопасности рекомендуется (по мнению сторонников sudo) не оставаться в корневом запросе, когда в этом нет необходимости.sudo rm -r
./directory_name
), чтобы не было сомнений в том, какой каталог вы удаляете.