O Linux suporta muitos sistemas de arquivos (por exemplo: ext3, NTFS, FAT32, etc.).
O diagrama a seguir mostra como o Linux permite que um processo acesse arquivos:
Portanto, suponha que um processo chamado read()
sistema chame a leitura de um arquivo, o que acontecerá é que a camada VFS será acessada e a camada VFS decidirá qual driver do sistema de arquivos acessar com base no sistema de arquivos da partição ao qual o arquivo será acessado. ser lido reside em.
Linux fornece muitas chamadas do sistema para acessar arquivos (por exemplo: read()
, write()
, rename()
, etc.).
Agora read()
e write()
e rename()
trabalho em todos os sistemas de arquivos que suporta Linux.
Mas existem recursos específicos que existem apenas em alguns sistemas de arquivos enquanto não existem em outros. Por exemplo: em um sistema de arquivos NTFS, você pode definir o bit Arquivar para um arquivo, enquanto isso não pode ser feito em um sistema de arquivos ext3.
Agora, minha pergunta é: o Linux tem chamadas de sistema para acessar todos os recursos dos sistemas de arquivos que ele suporta? por exemplo: o Linux tem uma chamada de sistema para definir o bit de arquivamento de um arquivo em um sistema de arquivos NTFS?
fonte
statx
, agora é suportado na biblioteca C e na versão mais recente do coreutils, lançada há alguns dias.