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

6

Estou usando o Thunar 1.6.3 e, atualmente, quando estou olhando para várias pastas, é mais ou menos assim:

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

Não sei de onde esses números de "tamanho" vêm, 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 apenas kilobytes em tamanho) somam mais de 100 Gb.

Perguntas

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

2 respostas

7

Eu devo explicar um pouco da estrutura do sistema de arquivos Linux para explicar isso. A maioria dos sistemas de arquivos linux faz algo semelhante, mas eu assumo 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 diretório inode contém referências a outros inodes.
  • Um arquivo inode contém os metadados, dados reais e referências a blocos de continuação, caso o arquivo tenha que ser armazenado de maneira não contígua.

Links

  • O Ext4 suporta dois tipos de links. Duro e macio.
  • Um link físico é uma referência ao inode diretamente. Cada arquivo tem pelo menos um link físico, do diretório ao qual pertence.
  • Como um diretório é apenas um inode, com informações sobre o 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 para a mesma pasta.

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

C is in B.  
B is in A.

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

  • Links suaves são arquivos comuns que registram o caminho do diretório para o local de destino. Eles são 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 suaves quando você usa as opções 'Criar link' / 'Vincular aqui'.

Então o que?

Portanto, tentar calcular tamanhos de forma recursiva tem suas peculiaridades. É uma má ideia tentar calcular os 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 recursivamente calculados, porque é o que um usuário comum espera.

O 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 seu tamanho. Por isso, pode sempre dizer facilmente o tamanho total.

Então por que não usamos o NTFS?

Ele não suporta a noção Unix de permissões ( rwx para proprietário, grupo e universo separadamente), e esse único motivo o torna inadequado para uso como um sistema de arquivos Linux. Ext4 traz muito à mesa que esta pequena inconveniência não importa para muitos.

Tudo bem. Me dê o tamanho que eu preciso.

Você tentou du ?

Como o du funciona?

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

TL; DR

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

    
por Mahesh 12.02.2014 / 18:28
4

No menu principal do thunar vá para Editar > Configurar ações personalizadas, adicione uma nova Ação personalizada com:

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

Encontrei esta solução no link

    
por vasilis74 22.02.2016 / 03:44