Quantos arquivos podem ser deletados de uma só vez? [duplicado]

0

Um dos meus amigos queria ter mais registros no diretório /var/log/ , e depois de algum tempo usando o sistema, ele tentou acessar a pasta e listá-la, mas obteve o seguinte erro:

bash: /bin/rm: Argument list too long

Alguém sabe quantos arquivos podem ser adicionados a essa lista rm ?

    
por Mikhail Morfikov 15.06.2015 / 11:23

1 resposta

3

O comprimento máximo da linha de comando é definido pelo sistema e às vezes é de 128 KiB.

Se você precisar remover muitos arquivos, precisará chamar rm mais de uma vez, usando xargs :

find /var/log -type f -print0 | xargs -0 rm --

(Cuidado, isso localizará e excluirá todos os arquivos nos subdiretórios de /var/log etc. - se você não quiser usar find /var/log/ -type f -maxdepth 1 ). O find lista os arquivos, delimitados por 0 (não nova linha) e xargs -0 aceitará exatamente essa entrada (para manipular nomes de arquivos com espaços, etc.) e, em seguida, chamará rm -- para esses arquivos.

Use rm -f -- se for perguntado se os arquivos devem ser removidos.

    
por 15.06.2015 / 11:35

Tags