Как удалить все в каталоге?

Прошу прощения за такой основной вопрос:

Как удалить все в каталоге, включая скрытые файлы и каталоги?

Сейчас я использую следующее:

rm -rf * rm -rf .* 

8 Solutions collect form web for “Как удалить все в каталоге?”

Простой и прямой:

 find -delete 

Включает в себя каталоги и скрытые файлы. По крайней мере, gnu-find знает -delete , ваша find может отличаться.

Лучший ответ: не делайте этого. Рекурсивно удалите сам каталог, а затем создайте его как пустой каталог. Для других людей более надежно и проще понять, что вы пытаетесь сделать. Когда вы заново создаете каталог, у него может быть другой владелец, группа и разрешения. Если это важно, будьте осторожны. Кроме того, если у каких-либо запущенных программ есть открытые дескрипторы файлов (дескрипторы) в каталоге, вы не захотите их удалить. Если ни один из этих особых случаев не применяется, то проще удалить весь каталог.

 rm -rf -- * .[!.]* ..?* 

Каждый из трех шаблонов расширяется до самого себя, если он ничего не соответствует, но это не проблема, потому что мы хотим сопоставить все, а rm -f игнорирует несуществующие аргументы.

Обратите внимание, что .* Будет соответствовать ..

Предполагая bash 4+:

 shopt -s dotglob rm -rf -- * ##or: rm -rf ./* 

С включенным dotglob * расширяется до всех файлов и каталогов, даже с тех, которые начинаются с . – но не расширяется . и .. , поэтому безопасно использовать с rm .

если вы находитесь в каталоге:

cd .. && rm -rf dir && mkdir dir && cd dir

в противном случае:

rm -rf /path/to/dir && mkdir /path/to/dir

О, мой Zsh

 rm -rf (.|)* 

Опять же, это только для Zsh.

Как насчет использования find . Я думаю, что это, как правило, хороший выбор, когда вам приходится копаться в подкаталогах.

 find . -type f -exec rm {} \; 

Попробуйте rm -rf *?* . Это приведет к удалению нормальных и скрытых файлов.

  • Удаление пустых каталогов командой 'ls'
  • Как я рекурсивно удаляю каталоги с помощью шаблона?
  • Как удалить все файлы с заданным именем во всех подкаталогах?
  • Что такое Linux для SET FILE / ERASE_ON_DELETE?
  • Как удалить файл, который я случайно создал с именем $ file?
  • Удаление всех файлов, кроме папок в каталоге
  • удалить старый файл в каталоге
  • Почему rmdir и unlink два отдельных системных вызова?
  • Как безопасно удалять данные после rm
  • как я могу рекурсивно удалять пустые каталоги в моем домашнем каталоге?
  • При удалении файла под OpenSolaris нет места на устройстве
  • Linux и Unix - лучшая ОС в мире.