Um sistema de arquivos Linux é uma coleção estruturada de arquivos em uma unidade de disco ou partição. Uma partição é um segmento de memória e contém alguns dados específicos. Em nossa máquina, pode haver várias partições de memória. Geralmente, cada partição contém um sistema de arquivos.
O sistema de computador de uso geral precisa armazenar dados de forma sistemática para que possamos acessar facilmente os arquivos em menos tempo. Ele armazena os dados em discos rígidos (HDD) ou algum tipo de armazenamento equivalente. Pode haver motivos abaixo para manter o sistema de arquivos:
- Principalmente o computador salva dados no armazenamento RAM; ele pode perder os dados se for desligado. No entanto, existe RAM não volátil (Flash RAM e SSD) disponível para manter os dados após a interrupção da energia.
- O armazenamento de dados é preferido em discos rígidos em comparação com a RAM padrão, pois a RAM custa mais do que espaço em disco. Os custos dos discos rígidos estão caindo gradualmente comparativamente à RAM.
O Linux sistema de arquivos contém as seguintes seções:
comando de execução do linux
- O diretório raiz (/)
- Um formato específico de armazenamento de dados (EXT3, EXT4, BTRFS, XFS e assim por diante)
- Uma partição ou volume lógico que possui um sistema de arquivos específico.
O que é o sistema de arquivos Linux?
O sistema de arquivos Linux é geralmente uma camada interna de um Sistema operacional Linux usado para lidar com o gerenciamento de dados do armazenamento. Ajuda a organizar o arquivo no armazenamento em disco. Ele gerencia o nome do arquivo, tamanho do arquivo, data de criação e muito mais informações sobre um arquivo.
Se tivermos um formato de arquivo não suportado em nosso sistema de arquivos, podemos baixar um software para lidar com isso.
Estrutura do sistema de arquivos Linux
O sistema de arquivos Linux possui uma estrutura de arquivos hierárquica, pois contém um diretório raiz e seus subdiretórios. Todos os outros diretórios podem ser acessados a partir do diretório raiz. Uma partição geralmente possui apenas um sistema de arquivos, mas pode ter mais de um sistema de arquivos.
Um sistema de arquivos é projetado de forma que possa gerenciar e fornecer espaço para armazenamento de dados não voláteis. Todos os sistemas de arquivos exigiam um namespace que é uma metodologia organizacional e de nomenclatura. O namespace define o processo de nomenclatura, o comprimento do nome do arquivo ou um subconjunto de caracteres que pode ser usado para o nome do arquivo. Também define a estrutura lógica dos arquivos em um segmento de memória, como o uso de diretórios para organizar os arquivos específicos. Depois que um namespace é descrito, uma descrição de metadados deve ser definida para esse arquivo específico.
A estrutura de dados precisa suportar uma estrutura de diretórios hierárquica; esta estrutura é usada para descrever o espaço em disco disponível e usado para um bloco específico. Ele também contém outros detalhes sobre os arquivos, como tamanho do arquivo, data e hora de criação, atualização e última modificação.
Além disso, armazena informações avançadas sobre a seção do disco, como partições e volumes.
Os dados avançados e as estruturas que eles representam contêm as informações sobre o sistema de arquivos armazenados na unidade; é distinto e independente dos metadados do sistema de arquivos.
O sistema de arquivos Linux contém uma arquitetura de implementação de software de sistema de arquivos em duas partes. Considere a imagem abaixo:
O sistema de arquivos requer uma API (interface de programação de aplicativos) para acessar as chamadas de função para interagir com os componentes do sistema de arquivos, como arquivos e diretórios. A API facilita tarefas como criar, excluir e copiar arquivos. Facilita um algoritmo que define a organização dos arquivos em um sistema de arquivos.
As duas primeiras partes de um determinado sistema de arquivos juntas são chamadas de Sistema de arquivos virtuais Linux . Ele fornece um único conjunto de comandos para o kernel e os desenvolvedores acessarem o sistema de arquivos. Este sistema de arquivos virtual requer um driver de sistema específico para fornecer uma interface ao sistema de arquivos.
Estrutura de diretório
Os diretórios nos ajudam a armazenar os arquivos e localizá-los quando precisarmos deles. Além disso, os diretórios são chamados de pastas, pois podem ser considerados pastas onde os arquivos residem na forma de uma analogia com a área de trabalho física. Os diretórios podem ser organizados em uma hierarquia semelhante a uma árvore no Linux e em vários outros sistemas operacionais.
A estrutura de diretórios do Linux está bem documentada e definida no Linux FHS (Filesystem Hierarchy Standard). A referência a esses diretórios se o acesso a eles for feito por meio de nomes sequencialmente mais profundos do diretório vinculados por barra '/', como /var/spool/mail e /var/log. Eles são conhecidos como caminhos.
A tabela abaixo fornece uma lista de diretórios Linux de nível superior padrão, definida e bem conhecida e suas finalidades:
Recursos do sistema de arquivos Linux
No Linux, o sistema de arquivos cria uma estrutura em árvore. Todos os arquivos estão organizados como uma árvore e seus galhos. O diretório superior chamado diretório raiz (/) . Todos os outros diretórios no Linux podem ser acessados a partir do diretório raiz.
Alguns recursos principais do sistema de arquivos Linux são os seguintes:
Tipos de sistema de arquivos Linux
Quando instalamos o sistema operacional Linux, o Linux oferece muitos sistemas de arquivos, como Ext, Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, btrfs, e trocar .
multiplexação
Vamos entender cada um desses sistemas de arquivos em detalhes:
1. Sistema de arquivos Ext, Ext2, Ext3 e Ext4
O sistema de arquivos Ext significa Sistema de arquivos estendido . Foi desenvolvido principalmente para SO MINIX . O sistema de arquivos Ext é uma versão mais antiga e não é mais usado devido a algumas limitações.
Ext2 é o primeiro sistema de arquivos Linux que permite gerenciar dois terabytes de dados. Ext3 é desenvolvido através do Ext2; é uma versão atualizada do Ext2 e contém compatibilidade com versões anteriores. A principal desvantagem do Ext3 é que ele não oferece suporte a servidores porque esse sistema de arquivos não oferece suporte à recuperação de arquivos e instantâneos de disco.
Ext4 sistema de arquivos é o sistema de arquivos mais rápido entre todos os sistemas de arquivos Ext. É uma opção muito compatível para discos SSD (unidade de estado sólido) e é o sistema de arquivos padrão na distribuição Linux.
2. Sistema de arquivos JFS
JFS significa Sistema de arquivos registrado em diário , e é desenvolvido por IBM para AIX Unix . É uma alternativa ao sistema de arquivos Ext. Também pode ser usado no lugar do Ext4, onde é necessária estabilidade com poucos recursos. É um sistema de arquivos útil quando a potência da CPU é limitada.
construtores em java
3. Sistema de arquivos ReiserFS
ReiserFS é uma alternativa ao sistema de arquivos Ext3. Melhorou o desempenho e recursos avançados. Antigamente, o ReiserFS era usado como sistema de arquivos padrão no SUSE Linux, mas posteriormente algumas políticas foram alteradas, então o SUSE retornou ao Ext3. Este sistema de arquivos suporta dinamicamente a extensão do arquivo, mas apresenta algumas desvantagens no desempenho.
4. Sistema de arquivos XFS
O sistema de arquivos XFS foi considerado JFS de alta velocidade, desenvolvido para processamento de E/S paralelo. A NASA ainda usa este sistema de arquivos com seu servidor de alto armazenamento (servidor de mais de 300 Terabytes).
5. Sistema de arquivos Btrfs
Btrfs significa o Sistema de arquivos em árvore B . Ele é usado para tolerância a falhas, sistema de reparo, administração divertida, configuração extensa de armazenamento e muito mais. Não é uma boa opção para o sistema de produção.
6. Trocar sistema de arquivos
O sistema de arquivos swap é usado para paginação de memória no sistema operacional Linux durante a hibernação do sistema. Um sistema que nunca entra em estado de hibernação precisa ter espaço de troca igual ao tamanho da RAM.
O que é montagem no sistema de arquivos Linux?
No Linux, o 'montar' , um termo de sistema de arquivos, refere-se aos primeiros dias da computação, quando um disco removível ou pacote de fitas precisaria ser montado fisicamente em um dispositivo de unidade correto. No pacote de discos, o sistema de arquivos seria logicamente montado pelo sistema operacional para disponibilizar o conteúdo para acesso por programas aplicativos, sistema operacional e usuários após ser localizado fisicamente na unidade.
Simplesmente, um ponto de montagem é um diretório criado como um componente do sistema de arquivos. Por exemplo, o sistema de arquivos inicial é colocado no diretório /home. Os sistemas de arquivos podem ser colocados em pontos de montagem em muitos sistemas de arquivos não-root, mas isso é menos comum.
- O sistema de arquivos raiz do Linux é montado no diretório / (diretório raiz) bem no início da sequência de inicialização.
- Vários sistemas de arquivos são posteriormente montados pelos programas de inicialização do Linux, seja rc no SystemV ou via systemd nas novas versões do Linux.
- A montagem do sistema de arquivos durante a inicialização é feita pelo arquivo de configuração, ou seja, /etc/fstab .
- Uma maneira fácil de entender que fstab é a abreviação de 'tabela do sistema de arquivos' , e é uma lista de sistemas de arquivos que devem ser montados, suas opções e pontos de montagem designados que podem ser necessários para sistemas de arquivos específicos.
Os sistemas de arquivos podem ser montados em um ponto/diretório de montagem disponível com a ajuda do comando mount. Em outras palavras, qualquer diretório aplicado como ponto de montagem não deve conter outros arquivos e deve estar vazio. O Linux não evitará que os usuários montem um sistema de arquivos em um que já esteja disponível ou em um diretório que inclua arquivos. O conteúdo real será coberto, e apenas o conteúdo do sistema de arquivos recém-montado ficará visível se montarmos qualquer sistema de arquivos em qualquer sistema de arquivos ou diretório existente.