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

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

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

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

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 *?* . Это приведет к удалению нормальных и скрытых файлов.

  • удалять старые файлы журналов, кроме последнего (с буквенно-цифровой сортировкой)
  • Что именно произойдет, если эта команда будет запущена?
  • Что эквивалентно rm `find lib / -name * .swp` без find?
  • Черный экран после запуска команды
  • Поиск недостающих имен файлов между двумя каталогами в Linux
  • Удаление многих файлов, кроме одного типа
  • В чем цель `rm -P`?
  • Удалить соответствующий файл из каждой подпапки текущего каталога
  • Что случилось с этим «найти все файлы vim swap и удалить их с помощью команды подтверждения»?
  • удаление «файла» в / proc или / dev
  • как я могу найти файлы на основе разных имен и удалять их все в одной строке
  • Linux и Unix - лучшая ОС в мире.