Removendo arquivos duplicados no Linux com fdupes

Como remover arquivos duplicados no Linux com fdupes

Uma tarefa muito comum que precisamos realizar de tempos em tempos é a de procurar e eliminar arquivos duplicados em um sistema. Esse é um procedimento que permite liberar espaço precioso em disco, cuja falta pode significar problemas sérios se não for levado em conta.

Porém, essa limpeza, se realizada manualmente, pode ser extremamente tediosa e levar muito tempo, sendo recomendado usar ferramentas específicas para esse fim. Neste tutorial vamos mostrar como utilizar uma ferramenta para eliminação de arquivos duplicados no Linux, usando como exemplo o Debian GNU/Linux; a ferramenta também pode ser executada em outras distribuições, como as das famílias Fedora e Red Hat, por exemplo.

A ferramenta que utilizaremos se chama fdupes, escrita em linguagem C e distribuída sob a licença MIT.

Como instalar o fdupes

Em sistemas baseados em Debian podemos instalar a ferramenta usando o bom e velho apt:

$ sudo apt-get install fdupes

Já se você estiver utilizando uma distribuição baseada em Red Hat, como o CentOS ou o Fedora, deve primeiramente habilitar o repositório epel, e então executar um dos comandos a seguir:

# yum install fdupes
# dnf install fdupes

Sintaxe do comando:

fdupes [opções] diretório01 diretório02 ...

Opções principais

-r --recurse
    Modo recursivo: procura arquivos duplicados no diretório e em seus subdiretórios
-s --symlinks
    Seguir links simbólicos
-H --hardlinks
    No geral, quando dois ou mais arquivos apontam para a mesma área do disco, eles são tratados como não-duplicados. Com essa opção, esse comportamento é alterado.
-n --noempty
    Não leva em consideração arquivos de tamanho 0.
-A --nohidden
    Não considera arquivos ocultos na varredura
-q --quiet
    Ocultar o indicador de progresso da tarefa
-f --omitfirst
    Omitir o primeiro arquivo em cada conjunto de arquivos duplicados encontrados
-S --size
    Mostrar o tamanho dos arquivos duplicados
-d --delete
    Pergunta ao usuário quais arquivos deseja preservar, e exclui os demais
-N --noprompt junto com --delete
    Preserva o primeiro arquivo em cada conjunto de duplicados e exclui o restante sem perguntar
-v --version
    Mostra a versão do fdupes instalada.

Exemplos de uso do fdupes

1 – Para encontrar arquivos duplicados com o fdupes, basta executá-lo, sem parâmetros, indicando o caminho do diretório que se deseja analisar:

$ fdupes /caminho/diretório

Será exibida uma lista contendo os nomes dos arquivos duplicados encontrados no diretório passado como argumento. Para que também sejam analisados os subdiretórios, utilize a opção -r (modo recursivo).

Por exemplo, vamos procurar por arquivos duplicados no diretório /home/fabio :

fdupes /home/fabio

Resultado da execução do comando:

Comando fdupes - encontrando arquivos duplicados no Linux

Veja que foram encontrados diversos arquivos duplicados dentro desse diretório.

2 – Com a opção -S é possível verificar os tamanhos dos arquivos duplicados encontrados, como segue:

$ fdupes -S /home/fabio

3 – Também é possível especificar mais de um diretório distinto para que seja feita a varredura por arquivos duplicados, de uma só vez, separando os caminhos dos diretórios por espaços:

$ fdupes /home/fabio  /home/ana

4 – Para excluir todos os arquivos duplicados em um diretório, podemos utilizar a opção -d:

$ fdupes -d /home/fabio/Documentos

Excluindo arquivos duplicados no Linux com fdupes

Essa opção exclui todas os arquivos duplicados, porém preservando uma cópia de cada. O programa pergunta qual das cópias você deseja manter, ou se deseja manter todas (all). No exemplo, eu decidi manter a cópia de número 2 (o arquivo exemplo4). Basta entrar com o número da cópia e pressionar enter – as demais instâncias do arquivo serão eliminadas automaticamente.

É isso aí! Você pode testar as demais opções mostradas acima para aprender mais sobre o utilitário, e, como sempre, pode ler as páginas de manual para obter a ajuda completa do utilitário, que possui diversas outras opções disponíveis.

Até!

Sobre Fábio dos Reis (1193 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

4 Comentários em Removendo arquivos duplicados no Linux com fdupes

  1. Filipe Siqueira // 25/01/2017 em 10:45 // Responder

    Parabéns pelo Post… Acompanho sempre seus vídeos no canal e sempre são de grande valia!

  2. Mike Melo // 25/05/2020 em 18:10 // Responder

    Ficou ótimo o conteúdo. Diversos artigos do site me ajudaram muito.
    Tenho uma dúvida, como faria para usar o programa apenas com um tipo de arquivo. Ex: quero verificar arquivos duplicados apenas dos PDFs.

  3. Roger Trancozo // 23/03/2021 em 12:09 // Responder

    cd /media/[user]/[pendrive]
    fdupes -r -S -d -N *

    Funcionou que é uma maravilha

Escreva um comentário

Seu e-mail não será divulgado


*