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

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

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

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

rm -rf * rm -rf .* 

  • Как выполнить команду в списке имен файлов в файле?
  • Восстановление случайно удаленных файлов
  • вывод grep в rm
  • Как может быть каталог с именем `~`?
  • Как запретить выполнение / bin / rm -f *?
  • Что означает * ~?
  • команды оболочки для проверки и создания директории
  • Удалено / tmp случайно
  • 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

    Как сделать резервную копию через rsync на удаленном компьютере, сохраняя разрешения и права собственности?

    Проблема с появлением команд в Expect Script

    Включить вход в root из графического интерфейса

    Apache не может получить доступ к файлу, пока имеет разрешение

    Разное время в Windows и Linux Mint

    Удалить кнопку «Свернуть» в Openbox

    Мастер отказался от запроса сеанса: отказано в разрешении

    Процесс ест все время процессора

    Является ли IO приоритетом по самой природе пересмотра задачи?

    Как проверить, поддерживает ли накопитель hotswap?

    Копирование файла в файловой системе JFS не соответствует рекомендациям ACL

    службы против initctl в Ubuntu

    Установите тот же диск на две Linux-машины – SAN / NAS

    Какой аварийный диск (аварийный CD / DVD) для восстановления данных с отказавшего жесткого диска вы бы порекомендовали для первого пользователя?

    Как можно отключить корневую оболочку через определенный промежуток времени?

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