Bóson Treinamentos em Ciência e Tecnologia

Removendo arquivos duplicados no Linux com fdupes

Localizar e excluir 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:

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

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é!

Sair da versão mobile