Eu coloquei 4096 caracteres em um arquivo de texto e salvar it.Since cada personagem é 1 byte, tamanho do arquivo de texto deve ser 4K byte.As que você vê abaixo é OK:
Eu conecto minha memória flash ao meu computador. o espaço livre na memória flash é 1,717,518,336
bytes :
Eu criei uma cópia do arquivo na minha memória flash. E, novamente, dê uma olhada no espaço livre. possui 1,717,514,240
bytes de espaço livre:
Vamos ver qual é a diferença:
1.717.518.336 - 1.717.514.240 =4096
bytes
Minha pergunta :
Q1:
Como você pode ver na última foto acima, o único espaço que o arquivo ocupa no flash é o espaço para seu conteúdo [caracteres]. Então, onde está o arquivo de metadados?
Quero dizer, quando movo o arquivo para outro computador, como ele entende o nome do arquivo, o proprietário do arquivo, a data de criação e modificação e ...?
Não ocupa nenhum tamanho? !!
Q2:
Posso ver o arquivo de metadados na memória flash?
Aprecie seu tempo e consideração.
Respostas:
Sim, os metadados ocupam espaço. No NTFS, ele ocupa 1024 bytes, para ser específico. No entanto, as informações não são armazenadas no arquivo, mas na tabela de arquivos mestre MFT. Especificamente no registro MFT nº 4
$AttrDef
.Consulte este artigo da Technet para obter detalhes: a tabela 3.5 contém todos os registros MFT definidos.
Observe que outros sistemas de arquivos podem lidar de maneira diferente com os metadados.
EDIT: Na seção de comentários, foi indicado que esta resposta está faltando porque o OP solicitou metadados nos sistemas de arquivos FAT32, não no NTFS. Se eu soubesse, removeria o atributo "resposta correta". Portanto, forneço informações adicionais que respondem à pergunta em relação ao FAT32.
O FAT32 salva metadados simples, como visibilidade ou tempo de modificação de cada arquivo e pasta em uma entrada na pasta pai do arquivo ou pasta, criando uma árvore a partir da pasta raiz do FS. Conforme indicado no NTFS, este não é um arquivo, mas salvo na estrutura de dados da pasta. A entrada originalmente tinha 32 bytes e continha os seguintes atributos:
A lista foi retirada deste artigo da Microsoft Technet e refere-se ao FAT16. Como o tamanho do cluster do FAT32 pode ser de 32 bits e o nome dos arquivos pode ser maior que 8,3, a tabela não é totalmente precisa. Para acomodar nomes de arquivos longos e discos maiores, o FAT32 modifica algum comportamento que pode ser lido na Wikipedia aqui, mas a idéia básica é válida.
fonte
Sim, mas é uma pequena entrada em um grande bloco pré-alocado. Esse bloco é contado na parte "usada" do seu disco. Adicionar uma entrada dentro desse bloco não exige que o bloco seja expandido.
Dependendo do sistema de arquivos, eventualmente o bloco será preenchido e estendido de alguma forma após a adição de vários nomes de arquivos.
Não facilmente
Como Ruslan e Blorgbeard comentaram. Você pode instalar um visualizador hexadecimal, como o HxD, que permitirá visualizar (e editar - tenha muito cuidado) os dados brutos do sistema de arquivos. Mas você terá que fazer a interpretação em relação a quais bytes pertencem a quais estruturas do sistema de arquivos. Para isso, você precisará de uma boa documentação do sistema de arquivos específico usado no disco flash. É provável que o FAT32 seja mais simples de entender do que qualquer uma das muitas variantes do NTFS. Consulte Noções básicas sobre sistemas de arquivos FAT32, por exemplo.
fonte
dd
para copiar o sistema de arquivos flash bruto para um arquivo em outro disco e use um visualizador hexadecimal para examiná-lo em conjunto com um bom trabalho de referência no sistema de arquivos específico (se não for proprietário e não divulgado). Eu posso fazer uma alteração de metadadostouch
, repetirdd
e usar um diff binário.hiew
pode fazê-lo, mas não tenho certeza desde que estava no Windows há muito tempo).Os metadados não são armazenados (nem relatados pelas ferramentas comuns de gerenciamento de arquivos) como arquivos, são armazenados nos dados do sistema de arquivos em disco.
Dependendo da natureza / versão do sistema de arquivos, cada entrada precisará de uma quantidade de espaço em disco para representar as informações de metadados.
Além do espaço alocado na tabela mestre de arquivos, alguns sistemas de arquivos também manterão o diário sobre a troca de arquivos (ocupando espaço extra), e alguns sistemas de arquivos podem ser estendidos com campos extras contendo metadados para fins especiais.
Portanto, tecnicamente, os metadados ocupam espaço em disco, mas isso não é levado em consideração pela maioria dos utilitários de gerenciamento de arquivos que funcionam com a API do sistema de chamada que consulta o sistema de arquivos em busca de espaço no arquivo , não no espaço de metadados .
E essa abstração é apenas a ponta do iceberg, pois o próprio sistema de arquivos trabalha em uma abstração do espaço físico em disco subjacente, fornecido por rotinas de disco de baixo nível; portanto, apenas a lógica interna do disco saberá quantas posições de memória reais estão disponíveis para níveis mais altos. e quantos estão marcados como não confiáveis, reservados ou usados para soma de verificação.
fonte
Os metadados dependem do sistema de arquivos. Os sistemas de arquivos mais básicos geralmente usados em mídia intercambiável são baseados em um sistema de arquivos DOS (FAT). O DOS não possui usuários e permissões. Ou, mais corretamente, algumas dessas informações são transportadas no 8º bit de dados do nome do arquivo. A única sobrecarga de recurso usada em um DOS FS básico é contabilizar os blocos do arquivo ou o diretório em que ele está - e esse bloco provavelmente já está comprometido para manipular ".", Já. IOW, adicionar um arquivo vazio não adicionaria outro bit de armazenamento, mas mudaria alguns bits consumidos e alocados existentes.
Quando você usa sistemas de arquivos mais avançados, com diários e usuários de diário, obtém metadados e entradas de diário e, possivelmente, uma cadeia forense para recuperar versões anteriores de arquivos etc. etc. Em seguida, um pequeno arquivo pode explodir no armazenamento usado.
Então, verifique o tipo FS. Se for FAT, você provavelmente não terá um usuário registrado em metadados na mídia. Portanto ... não há espaço usado. :)
Um bom exemplo de um FAT FS é uma implementação de código aberto - e você pode ver que a lista de operações disponíveis não inclui "obter / configurar usuário" e "verificar o acesso pelo usuário". Sem identidade = sem armazenamento dessa identidade.
fonte
O "arquivo de metadados" é o diretório que contém o arquivo. Isso é basicamente o que é um diretório - uma coleção de metadados que descrevem o conteúdo do diretório.
Sim, no diretório Na maioria dos itens de arquivo, o mesmo arquivo pode ter dois nomes diferentes se estiver vinculado a dois diretórios diferentes.
Se o seu sistema de arquivos suportar, você poderá vê-lo olhando o tamanho do diretório.
fonte
Onde os metadados são mantidos?
Quando falamos de metadados, existem dois tipos de metadados.
O primeiro tipo inclui data de criação, data da última modificação, data do último acesso. Dependendo do sistema de arquivos (NTFS / FAT / Ext3 etc ...), haverá diferentes "metadados" disponíveis, por exemplo, proprietário do Windows e permissão no NTFS.
O primeiro tipo se aplica a todos os arquivos, por exemplo, o arquivo .txt no seu exemplo.
Todos os sistemas de arquivos pré-alocam espaços para conter esses metadados na Tabela mestre de arquivos (MFT para NTFS, alguns outros nomes para outro sistema de arquivos), que não é diretamente acessível pelos usuários. Como a MFT não é contada como parte da capacidade da unidade, não há espaço de armazenamento "adicional" necessário.
O segundo tipo de "metadados" é definido pelo tipo de arquivo ou aplicativo. Por exemplo, os documentos do Office mantêm "Autor", "Assunto" e outros metadados; As imagens JPEG mantêm um conjunto de dados EXIF, incluindo "data da foto tirada", "modelo da câmera", "velocidade do obturador"; enquanto o som MP3 contém "album", "track #", "bitrate" ...
O segundo tipo ocupa espaço adicional, porque esses "metadados" fazem parte do arquivo.
Tamanho diferente na unidade diferente
Quando seu arquivo de texto está
C:\
ativado, ele ocupa 4K. Torna-se 1K de tamanho quando você o coloca na sua unidade flashH:\
. Isso ocorre porque diferentes "tamanhos de bloco" para as diferentes partições.Os arquivos têm espaços alocados em bloco. Portanto, em um sistema de arquivos com tamanho de bloco 4K, 1 byte é alocado em 4K, enquanto 4.097 bytes (4K + 1 byte) são alocados em 8K.
Aparentemente, você
C:
está formatado com tamanho de bloco 4K enquantoH:
está formatado com tamanho de bloco de 1K, resultando na diferença.fonte
robocopy
você pode optar por copiar carimbos de data e hora, atributos, informações do proprietário, listas de controle de acesso (ACL) etc. Depende também de o sistema de arquivos da memória flash suportar (por exemplo, o FAT32 não mantém as informações e o ACL do proprietário para que eles sejam descartado de qualquer maneira). Os metadados não estão na forma de um arquivo, portanto você não pode ver os dados brutos; se você quiser ver coisas de baixo nível que possa precisardd
no Linux, mas como interpretá-las é outra história.