Excluindo diretórios com muitos links físicos

Excluindo diretórios com muitos links físicos

Estou tentando limpar um diretório que contém muitos dados (mais de 1 TB), com muitos dos arquivos vinculados para economizar espaço. Para algum contexto, esta é a unidade onde mantemos nossas compilações, e temos muita mídia (vários GBs) de mídia em cada compilação, portanto, vinculamos um arquivo se ele for idêntico a um produto de compilação anterior. Percebi que tentar excluir esses diretórios é extraordinariamente lento (cerca de 5 itens por segundo).

Meu palpite é que a exclusão está demorando muito devido ao grande número de links físicos para cada arquivo. Há algo que eu possa fazer para acelerar esse processo ou estou preso na exclusão de vários milhões de itens a 5/s?

Responder1

find . -inum [inode-number] -exec rm -i {} \;

Este comando encontrará o número do inode que você pode remover, o que liberará os dados referenciados.

Forneci o sinalizador interativo para que você possa testá-lo.

Ah, para obter o número do inode, você pode fazer ls -ilo que retornará o nome e o número do inode juntos.

Se você pudesse remover o arquivo diretamente pelo inode, isso seria uma melhoria, mas não sei como fazer isso.

informação relacionada