Назад | Перейти на главную страницу

Как удалить содержимое каталога в Centos

Мне нужно удалить все содержимое папки в CentOS, но не саму папку.

Например: у меня есть папка с именем «MYFOLDER», которая содержит вложенные папки FOLD_1, FOLD_2, FOLD_3, FOLD_4 ... и т. Д. И некоторые файлы. Мне нужно удалить все эти папки и файлы, но не папку контейнера MYFOLDER. Мне нужен этот каталог, чтобы направлять результаты предыдущего процесса.

Я пробовал с rm -rf , но при этом удаляется и папка контейнера.

Вместо этого удалите содержимое папки.

rm -r MYFOLDER/*

Ты можешь использовать:

rm -r MYFOLDER/{.[^.],.??*}

При этом удаляются также скрытые файлы и папки. Если у вас слишком много файлов в каталоге MYFOLDER, вам следует вместо этого запустить:

ls MYFOLDER/{.[^.],.??*}|xargs rm -r

На мой взгляд, самый простой способ - удалить весь каталог, включая его самого, а затем заново создать папку. Бывают ситуации, когда это не очень хорошее решение (например, автоматические скрипты или более сложные конвейеры), но вы не указали, почему не хотите удалять папку.

rm -rf foldername
mkdir foldername

Ой. Вы указали (я перечитал ваш пост). Ну, тем не менее, удаление и воссоздание могут работать. Особенно, если вы объединяете команды вместе, например

rm -rf foldername && mkdir foldername

Или

rm -rf foldername; mkdir foldername

Как насчет

cd MYFOLDER
find . | rm -rf

Это также удаляет скрытые файлы (те, которые начинаются с точки).

Пытаться rm -r -f filename его работа с CentOS 6.x

Я настоятельно рекомендую эту альтернативу (она также удаляет файлы с пробелами в именах):

find MYFOLDER/ -type f -print0 | xargs -0 rm -f