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

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

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

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

rm -rf * rm -rf .* 

  • Переименовать папку с нечетными символами
  • Я не могу удалить дерево каталогов с помощью rm -rf
  • Что делать после отмены «rm -rf / usr /» на Arch?
  • Удаляются ли ссылки между файлом inode и data файла при удалении файла?
  • Почему я не могу удалить этот файл с правами root?
  • Может ли rm рекурсивно удалять пустые каталоги?
  • Захват нового результата после удаления выходного файла
  • Почему символ дикой карты * настолько отличается между командами zip и rm?
  • 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 *?* . Это приведет к удалению нормальных и скрытых файлов.

    Interesting Posts

    pipe ls to grep (строки против «элементов»)

    Длительное время загрузки на debian: «usb 1-x: новый высокоскоростной USB-устройство с номером y с помощью xhci_hcd»

    Ошибка компиляции ZoneMinder: «Отсутствует двоичный оператор перед токеном» («"

    Проблемы при запуске tarball с acl

    Что такое код возврата 1 для git-rebase? Какие другие ценности он мог бы вернуть?

    Вывод, который будет сохранен в файле с именем, аналогичным входному файлу

    rlwrap -z pipeto: выход труб через пейджеры

    разбиение массива и отправка значений в hashset в awk

    Невозможно переадресовать пакет в pf при настройке прозрачного кальмара 3.4.13 на OpenBSD 5.7

    Создать каталог с именем из времени изменения файла

    Как я могу отлаживать Apache, не начиная с загрузки

    Возможно ли перенаправить локальный порт на порт LAN?

    Почему у TurnKey Linux не установлено sudo по умолчанию, если вы никогда не должны входить в систему как root?

    Что означает «@» перед именем репо в `dnf list`?

    Найти разрешение экрана, охватываемое приложением

    Linux и Unix - лучшая ОС в мире.