Мне нужно удалить все содержимое папки в CentOS, но не саму папку.
Например: у меня есть папка с именем «MYFOLDER», которая содержит подпапки FOLD_1, FOLD_2, FOLD_3, FOLD_4 ... и т. Д., И некоторые файлы. Мне нужно удалить все эти папки и файлы, но не папку контейнера MYFOLDER. Мне нужен этот каталог, чтобы направлять результаты предыдущего процесса.
Я пытался с помощью rm -rf
команды, но это также удалить папку контейнера.
shopt -s dotglob
первую очередь.rm -R /path/to/myfolder/*
правильный синтаксис, чтобы избежать чрезмерных запросов на подтверждение удаления каждого файла и подпапки. Обратите внимание на столицуR
.Ты можешь использовать:
Это удаляет также скрытые файлы и папки. Если у вас слишком много файлов в каталоге MYFOLDER, тогда вы должны запустить вместо этого:
источник
meta/
, поэтому я хотел попробовать альтернативный вариант xargs, однако я получаю следующие сообщения об ошибках:ls: cannot access meta/.[^.]: No such file or directory ls: cannot access meta/.??*: No such file or directory rm: missing operand
bash
оболочку. Оболочка должна поддерживать «Расширение скобок» и «Регулярные выражения» для шаблонов файлов.На мой взгляд, самый простой способ - удалить весь каталог, включая самого себя, а затем заново создать папку. Бывают ситуации, когда это не очень хорошее решение (такие как необслуживаемые сценарии или более сложные конвейеры), но вы не указали, почему не хотите удалять папку.
К сожалению. Вы указали (я перечитал ваш пост). Ну, все же, удаление и воссоздание может работать. Особенно, если вы объединяете команды, например
Или
источник
Как насчет
Это также удаляет скрытые файлы (начинающиеся с точки).
источник
Попробуйте
rm -r -f filename
его работать с CentOS 6.xисточник
Я настоятельно рекомендую эту альтернативу (она также удаляет файлы с пробелами в именах):
источник