logo

Sistema de arquivos Linux

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:

Sistema de arquivos Linux

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:

    / (sistema de arquivos raiz):É o diretório do sistema de arquivos de nível superior. Deve incluir todos os arquivos necessários para inicializar o sistema Linux antes que outro sistema de arquivos seja montado. Todos os outros sistemas de arquivos são montados em um ponto de montagem padrão e bem definido por causa dos diretórios do sistema de arquivos raiz após o sistema ser iniciado./bota:Inclui a configuração estática do kernel e do bootloader e os arquivos executáveis ​​necessários para iniciar um computador Linux./bin:Este diretório inclui arquivos executáveis ​​do usuário./dev:Inclui o arquivo de dispositivo para todos os dispositivos de hardware conectados ao sistema. Estes não são drivers de dispositivos; em vez disso, são arquivos que indicam todos os dispositivos no sistema e fornecem acesso a esses dispositivos./etc:Inclui os arquivos de configuração do sistema local para o sistema host./lib:Inclui arquivos de biblioteca compartilhada necessários para iniciar o sistema./lar:O armazenamento do diretório inicial está disponível para arquivos do usuário. Todos os usuários possuem um subdiretório dentro de /home./mnt:É um ponto de montagem temporário para sistemas de arquivos básicos que pode ser usado no momento em que o administrador está trabalhando ou reparando um sistema de arquivos./meios de comunicação:Um local para montar dispositivos de mídia removíveis externos, como pen drives USB, que podem estar vinculados ao host./optar:Ele contém arquivos opcionais, como programas aplicativos fornecidos pelo fornecedor, que devem ser colocados aqui./raiz:É o diretório inicial de um usuário root. Tenha em mente que não é o sistema de arquivos '/' (raiz)./tmp:É um diretório temporário usado pelo sistema operacional e por diversos programas para armazenar arquivos temporários. Além disso, os usuários podem armazenar arquivos temporariamente aqui. Lembre-se que os arquivos podem ser removidos sem aviso prévio a qualquer momento neste diretório./sbin:Estes são arquivos binários do sistema. Eles são executáveis ​​utilizados para administração do sistema./usr:Eles são arquivos somente leitura e compartilháveis, incluindo bibliotecas executáveis ​​e binários, arquivos man e vários tipos de documentação./era:Aqui, os arquivos de dados variáveis ​​são salvos. Ele pode conter itens como MySQL, arquivos de log, outros arquivos de banco de dados, caixas de entrada de e-mail, arquivos de dados de servidores web e muito mais.

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:

    Especificando caminhos:O Linux não usa barra invertida () para separar os componentes; ele usa barra (/) como alternativa. Por exemplo, como no Windows, os dados podem ser armazenados em C:Meus DocumentosTrabalho, enquanto, no Linux, seriam armazenados em /home/Meu Documento/Trabalho.Partição, diretórios e unidades:O Linux não usa letras de unidade para organizar a unidade como o Windows faz. No Linux, não podemos dizer se estamos endereçando uma partição, um dispositivo de rede ou um diretório 'comum' e um Drive.Sensibilidade a maiúsculas e minúsculas:O sistema de arquivos Linux diferencia maiúsculas de minúsculas. Ele distingue entre nomes de arquivos em letras minúsculas e maiúsculas. Por exemplo, há uma diferença entre test.txt e Test.txt no Linux. Esta regra também se aplica a diretórios e comandos do Linux.Extensões de arquivo:No Linux, um arquivo pode ter a extensão '.txt', mas não é necessário que um arquivo tenha uma extensão de arquivo. Ao trabalhar com Shell, os iniciantes criam alguns problemas para diferenciar arquivos e diretórios. Se usarmos o gerenciador de arquivos gráfico, ele simboliza os arquivos e pastas.Arquivos ocultos:O Linux distingue entre arquivos padrão e arquivos ocultos, principalmente os arquivos de configuração estão ocultos no sistema operacional Linux. Normalmente não precisamos acessar ou ler os arquivos ocultos. Os arquivos ocultos no Linux são representados por um ponto (.) antes do nome do arquivo (por exemplo, .ignore). Para acessar os arquivos, precisamos alterar a visualização no gerenciador de arquivos ou usar um comando específico no shell.

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
Sistema de arquivos Linux

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.