Existe uma maneira de fazer o Thunar exibir o tamanho do arquivo "recursivo"?

Existe uma maneira de fazer o Thunar exibir o tamanho do arquivo "recursivo"?

Estou usando o Thunar 1.6.3 e atualmente, quando estou olhando várias pastas, parece algo assim:

Folder 1        8,2 kB
Folder 2        4,1 kB
Folder 3        4,1 kB
Folder 4        0   kB

Não tenho certeza de onde vêm esses números de "tamanho", mas tenho certeza de que eles não refletem o tamanho real de tudo nas pastas, porque quando clico com o botão direito e escolho "Propriedades" as pastas (todas elas apenas em kilobytes em tamanho) somam mais de 100 Gb.

Questões

  • Por que o Thunar, assim como a linha de comando em 12.04 e 14.04, mostra tamanhos de pasta como 4K? O que este número significa?
  • Existe uma maneira de mostrar o tamanho composto, que é o tamanho recursivo calculado da pasta e de todo o conteúdo, no terminal, Thunar ou qualquer outro gerenciador de arquivos? (NB: não estou procurando uma solução de script de shell).

Responder1

Eu deveria explicar um pouco da estrutura do sistema de arquivos Linux para explicar isso. A maioria dos sistemas de arquivos Linux faz algo semelhante, mas presumo que ext4, que é o padrão atual.

Estrutura do sistema de arquivos

  • inode é o bloco básico que o sistema de arquivos entende como uma unidade lógica.
  • Um inode de diretório contém referências a outros inodes.
  • Um inode de arquivo contém os metadados, dados reais e referências a blocos de continuação, caso o arquivo precise ser armazenado de maneira não contígua.

Ligações

  • Ext4 suporta dois tipos de links. Duro e macio.
  • Um link físico é uma referência direta ao inode. Cada arquivo possui pelo menos um link físico, do diretório ao qual pertence.
  • Como um diretório é apenas um inode, com informações sobre um grupo de referências de inode, ele pode fazer referência a si mesmo ou a um pai. Em outras palavras, uma pasta pode ser filha e pai da mesma pasta.

Ok, isso pode estar ficando confuso. Deixe-me explicar. Suponha que você tenha três pastas, A, B, C, como segue.

C is in B.  
B is in A.

Agora, a parte divertida é que C pode apontar para o mesmo inode que A, criando o que às vezes é chamado de loop de referência circular. Se você tentar recorrer, encontrará um loop sem fim.

  • Soft links são arquivos comuns que registram o caminho do diretório até o local de destino. Eles são apenas marcados no sistema de arquivos que, em vez de uma linha de texto, devem ser interpretados como um link para algum outro local. O Nautilus, por exemplo, cria links virtuais quando você usa as opções 'Criar link'/'Link aqui'.

E daí?

Conseqüentemente, tentar calcular tamanhos recursivamente tem suas peculiaridades. É uma má ideia tentar calcular tamanhos recursivamente por padrão. No entanto, as caixas de diálogo de propriedades de todos os gerenciadores de arquivos decentes que conheço mostram tamanhos totais calculados recursivamente, porque é isso que um usuário comum espera.

Windows não tem problema?

Na verdade, o Windows usa um formato de sistema de arquivos diferente chamado NTFS, que mantém uma lista de todos os arquivos e seus tamanhos. Portanto, ele sempre pode determinar facilmente o tamanho total.

Então por que não usamos NTFS?

Ele não suporta a noção de permissões do Unix ( rwxpara proprietário, grupo e universo separadamente) e esse único motivo o torna impróprio para uso como um sistema de arquivos Linux. Ext4 traz muita coisa para a mesa que esse pequeno inconveniente não importa para muitos.

Tudo bem. Me dê o tamanho que preciso.

Você tentou du?

Como dufunciona?

dusignifica uso do disco. Na verdade, ele conta os blocos de inodes, tomando cuidado para não contá-los duas vezes. Some os tamanhos e você terá o tamanho total.

DR

Use du -hs <foldername>para encontrar o tamanho real da pasta no disco. Leia man dupara mais informações.

Responder2

Nothunarmenu superior vá para Editar> Configurar ações personalizadas, adicione uma nova ação personalizada com:

  1. Básicoguia: qualquer nome [ex. Pasta(s)-Tamanho dos arquivos], Comando du -h -c %N | grep total | zenity --text-infoou du -chs %N | zenity --text-infopara a pasta selecionada e/ou tamanho do arquivo seguido pelo tamanho total.
  2. Condições de aparênciaguia: marque todas as caixas.

Encontrei esta solução emhttp://crunchbang.org

Responder3

Uma curiosidade sobre este tópico específico do Thunar é que o Thunar relata tamanhos diferentes de du com ou sem a opção --apparent size. Acho que a resposta fornecida fornece uma dica sobre o porquê disso (talvez Thunar realmente conte essas mesmas coisas de maneira um pouco diferente, seja lá o que for). Exemplo: Mesma pasta: (x sendo o restante que não anotei) du sem --apparent-size: 19,x GB du com --apparent-size:12,x GB Thunar 5,5x GB Valor Thunar entre parênteses: 5,9x GB Eu provavelmente pegaria a saída do du (sendo tão antiga quanto é), mas isso é interessante mesmo assim.

informação relacionada