Как удалить непустой каталог в терминале?

Как удалить следующий каталог?

Я набрал:

rmdir lampp

Эта ошибка возникает:

rmdir: failed to remove `lampp': Directory not empty

Есть ли команда для удаления всех файлов в каталоге и удаления папки каталога?

531 голос | спросил naveen 16 52012vEurope/Moscow11bEurope/MoscowFri, 16 Nov 2012 08:37:24 +0400 2012, 08:37:24

5 ответов


741

Используйте следующую команду:

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 = объяснить, что делается
ответил Shantanu Banerjee 16 52012vEurope/Moscow11bEurope/MoscowFri, 16 Nov 2012 09:19:53 +0400 2012, 09:19:53
89
rm -R lampp

Однако вам нужно быть осторожным с такой рекурсивной командой, как легко случайно удалить намного больше, чем вы планировали.

Рекомендуется всегда дважды проверять, в каком каталоге вы находитесь, и правильно ли вы вводили команду, прежде чем нажимать Enter.

Более безопасная версия

rm -R -i lampp

Добавление -i делает его более безопасным, потому что оно будет запрашивать вас при каждом удалении. Однако, если вы удаляете много файлов, это не будет очень практичным. Тем не менее, вы можете попробовать это первым.

Примечание о -f :

Многие люди предлагают использовать -f (объединяя его в -Rf или -rf), утверждая, что он избавляется от раздражающих запросов. Однако в обычных случаях вам это не нужно, и использование этого параметра подавляет некоторые проблемы, о которых вы, возможно, do хотите узнать. Когда вы его используете, вы не будете предупреждены, если ваши аргументы предоставят несуществующий каталог или файл (ы): rm просто молча удалит что-либо. Как правило, сначала попробуйте -f: если есть проблемы с вашими аргументами, то вы заметите. Если вы начнете получать слишком много подсказок о файлах без доступа на запись, вы можете попробовать его с помощью -f. Кроме того, запустите команду от пользователя (или суперпользователя, использующего sudo), который имеет полные разрешения для файлов и каталогов, которые вы удаляете, чтобы предотвратить эти запросы в первую очередь.

ответил thomasrutter 16 52012vEurope/Moscow11bEurope/MoscowFri, 16 Nov 2012 08:56:37 +0400 2012, 08:56:37
21

Существует множество способов удаления каталога через режим CLI. Это зависит от того, с каким способом вам комфортно.

rm -rvf /path/to/directory  
  • -r = рекурсивно удалять каталоги и их содержимое
  • -v = объяснить, что делается
  • -f = игнорировать несуществующие файлы, никогда не запрашивать

Если вы новичок в Linux, используйте man-страницы команд ( man rm ). ) для большего количества опций и большей точности.

ответил papseddy 16 52012vEurope/Moscow11bEurope/MoscowFri, 16 Nov 2012 09:38:48 +0400 2012, 09:38:48
-2

У меня были проблемы с этим сегодня, но я преодолел это с помощью sudo.

Предостережение: будьте уверены, что хотите удалить все, прежде чем использовать приведенную ниже команду.

$ sudo rm -R [Directory name]

Я успешно сделал это сегодня и удалил много непустых каталогов, которые я подтвердил, что мне не нужны /нужны.

Я использую 14.04 LTS

ответил Thomas 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 29 Sep 2014 03:00:02 +0400 2014, 03:00:02
-3

Кстати, я лично хотел удалить каталог, содержащий защищенный от записи файл /s (.git и подкаталоги), и в итоге понял, что мне также необходимо стать суперпользователем, чтобы успешно удалить эти файлы. Вот что я сделал:

#became super user
sudo su -

#deleted contents of, and then the directory, harvey_snake/
rm -R harvey_snake/
ответил Harvey Williams 17 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 17 Sep 2013 21:35:50 +0400 2013, 21:35:50

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132