Arquivos duplicados? fdupes neles!

Veremos aqui como recuperar espaço em disco utilizando a ferramenta fdupes, que trata da remoção dos arquivos duplicados.

[ Hits: 50.252 ]

Por: edps em 13/01/2012 | Blog: https://edpsblog.wordpress.com/


Utilização



E comecemos com uma simulação do que o programa fará, observem que utilizei as opções (r) de recursivo, e para a busca optei por omitir os arquivos vazios (n) e ocultos (A). Para completar, utilizei a opção (m) de sumário:

fdupes -rnA -m TMP/
Linux: Arquivos duplicados? fdupes neles!

Que retorna com o resultado de 4288 arquivos duplicados, isso de um total de 9969:
Linux: Arquivos duplicados? fdupes neles!

Agora sim, vamos começar a brincadeira...

Na imagem abaixo, ao invés de remover os arquivos duplicados, poderíamos apenas criar 'hardlinks' para os mesmos relacionando-os à 1ª imagem (ou arquivo) encontrado:

fdupes -frnA -NL TMP/
Linux: Arquivos duplicados? fdupes neles!

* Vejam que adicionei a opção (f) de omitir o 1º arquivo encontrado e substituí a opção (m) pelas opções (N) de 'no-prompt'|ou|sem confirmação e (L) de criar hardlink.

** A grande desvantagem deste modelo é que não haverá liberação de espaço em disco já que não ocorrerá a exclusão dos arquivos duplicados.

Delete os arquivos duplicados!

Na imagem a seguir vejam que repito o mesmo comando na pasta "TMP" e o 'fdupes' nada me retorna.

fdupes -frnA -NL TMP/

Na mesma imagem, substituo a opção (L) de criar 'hardlink', pela opção (d), de deletar arquivos duplicados. Vejam que o novo comando é executado na pasta "TMP2", que é na verdade uma pasta de backup. Ou você acham que vou mandar excluir os arquivos que acabei de recuperar sem fazer uma cópia de segurança? rsrsrs

fdupes -frnA -Nd TMP2/
Linux: Arquivos duplicados? fdupes neles!

Linux: Arquivos duplicados? fdupes neles!

E com o comando abaixo, verifico que agora a pasta ocupa somente 2.7 GB (antes eram 4.5GB). Nada mal!

du -h TMP2/RECOVER/JPEG/
Linux: Arquivos duplicados? fdupes neles!

Linux: Arquivos duplicados? fdupes neles!

Em face à eficiência do programa, resolvo começar uma limpeza em meus arquivos, começando pela pasta de "PDFs":

cd Documentos/MEUS
$ fdupes -frnA -Nd PDF/
Linux: Arquivos duplicados? fdupes neles!

E na pasta de backup das 'configs' e pacotes do meu Debian, vou sem a opção (N) de 'no-prompt':

cd /media/backups
$ fdupes -frnA -d DEBIAN/
Linux: Arquivos duplicados? fdupes neles!

Linux: Arquivos duplicados? fdupes neles!

Obviamente, a cada arquivo duplicado encontrado devemos responder qual manter, se apenas um ou todos, ou simplesmente cancelar teclando 'Ctrl+C', simples assim!

Tivesse esta ideia a algum tempo atrás, ao menos não teria deletado deliberadamente os artigos e dicas que costumava guardar. Sim... é isso mesmo! Em plena era da Internet, essa é uma mania que eu tenho, guardar artigos para consulta posterior. Na verdade eram mais de 2 GBs de arquivos, sejam em ".html", ".pdf", ".mht", entre outros.

Com o 'fdupes', certamente eu teria reduzido o espaço em disco ocupado pelos famosos arquivos duplicados!

Um abraço e até o próximo!

Também publicado em meu Blog:
Página anterior    

Páginas do artigo
   1. Introdução
   2. Utilização
Outros artigos deste autor

Executando máquinas virtuais diretamente no GDM

ARM, utilização de snapshot de pacotes no Arch Linux

obshutdown, Shutdown Menu para OpenBox

Ubuntu - Alternativas ao Unity

Reempacotamento e repositório local em um sistema Debian-like

Leitura recomendada

File Globbing ou Englobamento - Introdução

Clonando HDs via rede com G4U (Ghost for UNIX)

Esquemas de particionamento e sistemas de arquivos

Instalando o KUbuntu / Ubuntu no notebook eeepc da Asus

Particionando o HD sem perder os dados utilizando o FIPS

  
Comentários
[1] Comentário enviado por removido em 13/01/2012 - 10:33h

Show de bola edps ! Excelente artigo.

Ótima ferramenta, não conhecia esta.

Valeu cara.

Abraço.

[2] Comentário enviado por fernandoborges em 13/01/2012 - 16:31h

Excelente, parabéns!!!

[3] Comentário enviado por removido em 13/01/2012 - 21:39h

Valeu pessoal,

obrigado pelos comentários.

[4] Comentário enviado por mbrainiac em 15/01/2012 - 12:46h

Olá EDPs,

Vou testar sua dica, muito obrigado por repartilhar conosco!

[5] Comentário enviado por andretyn em 15/01/2012 - 20:06h

Boa EDPS,

Com tua dica, limpei minha área de trabalho, tá sem arquivos duplicados!
Muito Obrigado ;)

[6] Comentário enviado por crf-rafa em 15/01/2012 - 20:21h

Parece que advinha oq to procurando
Vou testar agora!
E outra coisa, como deixa o terminal assim? *-*

[7] Comentário enviado por removido em 15/01/2012 - 21:21h

Obrigado pelos comentários;

@mbrainiac, @andretyn e @crf-rafa.

A todos os que lerem recomendo que antes de executar qualquer tarefa, SEMPRE façam backups do que irá ser alterado.


@@crf-rafa, é uma alteração no arquivo ~/.bashrc :

http://www.vivaolinux.com.br/artigo/O-bashrc-de-meu-Debian/

[8] Comentário enviado por removido em 10/03/2012 - 20:51h

O bug do PcManFM ao mover arquivos foi resolvido:

http://img196.imageshack.us/img196/3244/pcmanfmlog.png

* verifiquei movendo uma pasta com muitos arquivos e cancelei a operação para ver o que ocorreria, não tive problemas.

[9] Comentário enviado por xiloba em 06/04/2013 - 17:53h

Muito bom este programa.
Com fdupes -frAn -Nd /pasta resolvo tudo!
Valeu pela dica.

[10] Comentário enviado por perfection em 29/06/2016 - 23:28h

edps tenho a seguinte dúvida se puder resolver:

Meu problema é que preciso buscar duplicados em 2 pastas que juntas passam de milhões de arquivos. Elas tem 2Tb de tamanho. Essas 2 pastas são arquivos que eu recuperei e claro existem duplicados com os que estou usando HOJE.

O fdupes funciona, já o testei, mas minha dificuldade está em DIZER a ele ONDE APAGAR!

Exemplo: Comparando a pasta 1 com a pasta 2
1) Meus Arquivos na pasta 1 (Não podem ser apagados sob hipótese alguma)
2) Os arquivos que estiverem duplicados na pasta 2 DEVEM ser apagados.

PROBLEMA: Não encontrei um critério que permita colocar SEMPRE na 1 opção meus arquivos da pasta 1
Acontece do fdupes ora colocar a pasta 1 primeiro e ora colocar a pasta 2 primeiro

Isso me impede de usar exclusão automática. E não posso usar manual porque eu levaria anos fazendo isso!

Pode ajudar?

[11] Comentário enviado por ede_linux em 28/12/2017 - 21:12h

Olá,

Existe maneira de aplicar o fdupes apenas sobre ficheiros do tipo PDF?
Isto de apagar duplicados é muito bom mas tem um problema. Imagina que tens arquivos de programas de C ou de outro qualquer. Por norma são programas que tu tens o executável numa pasta e nessa mesma pasta tens vários arquivos que precisas para executar o programa com sucesso. Acontece que se tiveres várias pastas dessas, vários programas de um determinado software, existem muitos ficheiros duplicados. O ficheiro xpto.cgf existe em cada uma das pastas que tens correspondente ao programa fazerCódigo da microsoft, imaginem. Se vai aplicar o fdupes ele vai apagar todos os xpto.cgf que encontrar e manter apenas um. Quando fores abrir o programa este já não vai dar, pois falta o tal ficheiro. Não sei se consegui explicar bem!

@perfection
Não queres apagar os ficheiros da pasta 1 porque depois corres o risco de ter o ficheiro mas na pasta 2. E isso não pode acontecer, pois não queres mexer na pasta1, é isso?

Obrigado

[12] Comentário enviado por ramon.rdm em 08/01/2019 - 11:02h

Olá!
Muito boa a dica!
Gostaria de saber se essa opção -L ainda existe? Pois na minha instalação do fduples não tem como chamar ela.
Obrigado!

[13] Comentário enviado por edps em 08/01/2019 - 19:58h


[12] Comentário enviado por ramon.rdm em 08/01/2019 - 11:02h

Olá!
Muito boa a dica!
Gostaria de saber se essa opção -L ainda existe? Pois na minha instalação do fduples não tem como chamar ela.
Obrigado!



Rapaz eu não estou usando o programa atualmente, mas acho que tem opções que não mais existem, não lembro se é a -A, ou outra, na dúvida veja a manpage:

$ man fdupes

Se te interessar veja também isso:

https://edpsblog.wordpress.com/2018/11/02/how-to-remocao-de-arquivos-duplicados-com-rdfind/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts