Exclua o conteúdo da pasta.
rm -r MYFOLDER/*
Eu preciso excluir todo o conteúdo de uma pasta no CentOS, mas não a pasta em si.
Por exemplo: tenho uma pasta chamada "MYFOLDER", que contém as subpastas FOLD_1, FOLD_2, FOLD_3, FOLD_4 ... etc e alguns arquivos. Eu preciso excluir todas essas pastas e arquivos, mas não a pasta do contêiner MYFOLDER. Eu preciso deste diretório para direcionar os resultados de um processo anterior.
Eu tentei com o comando rm -rf
, mas isso também excluiu a pasta do contêiner.
Você pode usar:
rm -r MYFOLDER/{.[^.],.??*}
Isso também exclui os arquivos e pastas ocultos. Se você tem muitos arquivos no diretório MYFOLDER, então você deve executar:
ls MYFOLDER/{.[^.],.??*}|xargs rm -r
A maneira mais fácil, na minha opinião, é excluir todo o diretório, inclusive ele mesmo, e depois recriar a pasta. Há situações em que essa não é uma boa solução (como um script autônomo ou pipelines mais complexos), mas você não especificou por que não queria excluir a pasta.
rm -rf foldername
mkdir foldername
Opa. Você especificou (eu reli o seu post). Bem, ainda assim, a exclusão e a recriação podem funcionar. Especialmente se você encadeia comandos juntos, como
rm -rf foldername && mkdir foldername
Ou
rm -rf foldername; mkdir foldername
Que tal
cd MYFOLDER
find . | rm -rf
Isso também exclui os arquivos ocultos (aqueles que começam com um ponto).
Experimente rm -r -f filename
seu trabalho com o CentOS 6.x
Recomendo vivamente esta alternativa (também remove ficheiros com espaços nos nomes):
find MYFOLDER/ -type f -print0 | xargs -0 rm -f