- Em relação a "não deveria ter espaço sobrando": Não, porque eles não são diretórios "físicos". Eles são diretórios "computados", no sentido de que, quando você tenta navegar para ele, acaba no próximo mais profundo. É como uma indução matemática: você não precisa continuar fazendo a indução até o infinito, embora a hipótese " permita que você " faça isso ...
Ou pense desta forma: se você tem uma lista vinculada com o nó A apontando para o nó B, o nó B apontando para o nó C e o nó C apontando para o nó B, quantos nós estão na lista? A resposta é 3, mas se você ingenuamente tentar seguir o ponteiro ' next
' dos nós até o infinito até encontrar um nó que não tenha o próximo ponteiro, você irá travar quando ultrapassar o contador em que está armazenando o número de nós, ou você vai continuar contando até o infinito (ou até que você fique sem tempo / paciência / espaço para armazenar a contagem).
O problema surge se você executar um programa que esteja tentando navegar em toda a árvore de diretórios e não tiver suporte para detectar junções circulares ou links simbólicos circulares. Esse programa é francamente quebrado IMHO porque qualquer programa que sinceramente tenta percorrer toda a sua árvore de diretórios precisa antecipar essa possibilidade e lidar com isso de maneira inteligente.
Seu Trend Micro está basicamente fazendo o que eu disse sobre a lista encadeada com B apontando para C e C apontando para B. Está apenas seguindo os ponteiros sem perceber que está pulando entre dois nós em vez de navegar em uma hierarquia de diretórios que é infinitamente profunda.
Geral: Construções do sistema de arquivos circular - coisas como o diretório A tendo o diretório B como um subdiretório, que tem o diretório A como um subdiretório (e A e B podem na verdade ser o mesmo diretório) - geralmente são válidas, embora incomuns , fenômeno. Eles estão na mesma classe de "coisas que você não vê todos os dias" como arquivos que têm a caixa de seleção "Somente leitura" marcada; arquivos que são compactados na camada do sistema de arquivos; arquivos com ACLs customizadas estranhas; e arquivos ocultos especiais, como os que o Office cria quando você abre um documento. Todos esses tipos de propriedades de arquivo exigem tratamento e conhecimento especiais quando um programa está tentando "percorrer" um sistema de arquivos arbitrário. As construções circulares são apenas mais uma coisa que, apesar de aceitável e não indicativa de um erro no sistema de arquivos, exigem tratamento especial por programas.