In Linux, the information about a file or directory is stored in its inode. I was wondering what is the data structure for information about a file or directory in Windows 7?
Em ambos os sistemas operacionais, isso depende de qual sistema de arquivos está sendo usado.
O Windows usa NTFS por padrão, que tem " em sua tabela de arquivos mestre. Há alguma documentação em Wikipedia , em NTFS.com e Linux NTFS .
O antigo sistema de arquivos FAT32 (ainda usado frequentemente em unidades removíveis) é muito mais simples e mantém tudo em um única tabela de alocação de arquivos .
How to get the information about a file or directory in Linux and in Windows 7, in terminal and command line window?
No Linux, use o comando stat
.
No Windows PowerShell, use System.Io.FileInfo
.
No Windows cmd.exe
, você precisa usar ferramentas externas ou mexer com dir
.
Is the owner of a file or directory always its creator? Will it be able to change?
-
No Windows NT (incluindo XP, 2003, Vista, 7 e versões futuras) , os objetos recém-criados 1 são de propriedade do criador, a menos que outra pessoa assuma a propriedade . (Os administradores podem fazer isso usando
SeTakeOwnership
privilege; os não-administradores podem assumir a propriedade se a ACL do objeto permitir isso.)-
Nas edições do servidor do Windows NT, os administradores podem atribuir a propriedade do objeto a outro usuário. As edições do consumidor (como o Windows XP ou o 7) só permitem que você assuma a propriedade .
-
No Windows 2000 e versões anteriores, se o criador for membro do grupo Administradores, os objetos criados por ele serão de propriedade de Administradores, não do usuário. Isso mudou no Windows XP , onde o usuário sempre possuirá os objetos criados por ele.
-
Os sistemas de arquivos FAT não suportam propriedade de arquivo.
-
-
Todos [citação necessário] Sistemas Unix usam o criador do arquivo como seu dono.
-
root
pode usarchown
para alterar o proprietário.
-
Is there a creation timestamp for a file in Linux and in Windows 7? How to get it?
-
No Windows, o FAT32 e o NTFS armazenam um registro de data e hora de criação. Em
cmd.exe
,dir /tc
mostrará isso. -
O UFS2 do FreeBSD armazena o tempo de criação como
st_birthtime
. -
No Linux, os tempos de criação são suportados por alguns sistemas de arquivos (ntfs, possivelmente ext4), mas ainda não pelo próprio SO . (O comando
stat
já mostra os horários de nascimento, se suportado pelo syscall do mesmo nome.)
Nota: No Windows e FreeBSD, o tempo de criação é fácil de mudar.
1 Isso se aplica a muitos outros tipos de objetos do Windows NT, não limitados a arquivos. Exemplos: pipes nomeados, chaves de registro, processos, serviços, desktops, dispositivos, exclusões mútuas ...