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