Um problema que recorrentemente temos quando vamos adicionando arquivos, fotos, música, vídeo ao disco é na hora de fazer backup, pois nunca sabemos o que realmente temos que excluir e o que está duplicado e isso vai tomando cada vez mais espaço em disco, aumentando também o tamanho do backup e tempo de transferência de arquivos.

Neste artigo vou apresentar uma ferramenta muito útil para Linux que vai te ajudar a identificar quais arquivos estão duplicados, possibilitando a opção de apagar estes arquivos.

O Fdupes é uma ferramenta de linha de comando para Linux, disponível no GitHub, usada para identificar e excluir arquivos duplicados em diretórios, ele compara arquivos por tamanho, assinaturas MD5 e, por fim, byte a byte para garantir a precisão.

Para distribuições Linux baseadas em Debian sua instalação é muito simples, basta executar o seguinte comando no terminal:

$ sudo apt-get install fdupes

Existem diversas opções porém vou apresentar algumas mais usadas:

  • -r ou –recurse: Executa o comando de forma recursiva nas pastas e subpastas
  • -d ou –delete: Apaga os arquivos duplicados que foram encontrados, mantendo o arquivo original.
  • -N ou –noprompt: Executa o comando sem ficar perguntando o que deve ser feito.
  • -n ou –noempty: Exclui os arquivos e pastas vazios.

Segue abaixo alguns comandos para que possa utilizar diretamente no terminal ou em seus scripts.

  • fdupes nome_pasta: Lista arquivos duplicados na pasta.
  • fdupes -r nome_pasta: Busca recursivamente por duplicatas, incluindo subpastas.
  • fdupes -rd nome_pasta: Permite excluir duplicatas interativamente, perguntando qual arquivo manter.
  • fdupes -rdnN nome_pasta: Exclui duplicatas automaticamente e arquivos vazios, mantendo o primeiro arquivo e deletando os demais.
  • fdupes -S nome_pasta: Mostra o tamanho dos arquivos duplicados.
  • fdupes -H nome_pasta: Trata arquivos idênticos com links físicos (hardlinks) como duplicatas.