Para os fins desta pergunta, "diretório grande" significa, por exemplo, um repositório git do kernel Linux ou a fonte do Chromium.
Se eu tiver rm -rf
um diretório grande como este do shell, ele será excluído em apenas alguns segundos, no máximo.
Se eu mover para a lixeira primeiro e depois esvaziar a lixeira, a primeira operação levará menos de um segundo e a exclusão real levará vários minutos (estamos falando de números duplos).
Por que esvaziar o lixo tão lento? O que está fazendo quando diz "preparando". Quanta preparação é realmente necessária para executar rm -rf ~/.local/share/Trash/
?
libnautilus-private/nautilus-file-operations.c
a fonte (apt-get source nautilus
). Não tenho diligência e paciência para ler C. Pergunta interessante. +1rm -rf ~/.local/share/Trash
pode ser mais rápido. Veja askubuntu.com/a/468722/2273Respostas:
Quando a primeira operação ocorre, apenas move os arquivos para a lixeira.
Quando você "lixeira" esses arquivos, ele carrega o arquivo inteiro da árvore na memória e exclui cada arquivo, um por um. Isso permite que os cálculos de tempo saibam quanto tempo leva para excluir o arquivo, quantos arquivos devem ser excluídos, qual o tamanho desses arquivos, embora a maioria dos parâmetros não seja usada aqui e permite que você pressione essa pequena cruz vermelha para pare o processo.
É por isso que eu sempre apago do shell
fonte