Como apagar o conteúdo de um diretório no Centos

9

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.

    
por verofairy 24.10.2011 / 16:30

6 respostas

9

Exclua o conteúdo da pasta.

rm -r MYFOLDER/*
    
por 24.10.2011 / 16:32
5

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
    
por 24.10.2011 / 16:48
3

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
    
por 25.10.2011 / 05:27
0

Que tal

cd MYFOLDER
find . | rm -rf

Isso também exclui os arquivos ocultos (aqueles que começam com um ponto).

    
por 25.10.2011 / 09:07
0

Experimente rm -r -f filename seu trabalho com o CentOS 6.x

    
por 05.11.2014 / 12:00
0

Recomendo vivamente esta alternativa (também remove ficheiros com espaços nos nomes):

find MYFOLDER/ -type f -print0 | xargs -0 rm -f
    
por 16.06.2015 / 22:36