/
/

Guia completo: uma visão geral dos sistemas de arquivos Linux

por Team Ninja
Complete Guide: An Overview of Linux Filesystems blog banner image

Resumo instantâneo

Esta postagem do blog NinjaOne oferece uma lista abrangente de comandos CMD básicos e um mergulho profundo nos comandos do Windows, com +70 comandos CMD essenciais para usuários iniciantes e avançados. Explicamos sobre comandos práticos de prompt de comando para gerenciamento de arquivos, navegação em diretórios, solução de problemas de rede, operações de disco e automação, tudo com exemplos reais para maximizar a produtividade. Seja para aprender comandos básicos CMD ou dominar ferramentas avançadas de CLI do Windows, este guia ajuda você a usar o prompt de comando com mais eficiência.

Um sistema de arquivos (FS) é um conjunto organizado de dados e métodos usados para armazenar, recuperar e gerenciar informações em um dispositivo de armazenamento. Na computação, é a estrutura e a lógica que definem como os arquivos são nomeados, armazenados, organizados e acessados pelo sistema operacional e pelos aplicativos.
Este guia oferece uma visão completa dos sistemas de arquivos Linux, seus tipos, estruturas e importância dentro do sistema operacional Linux, para ajudar a entender os conceitos fundamentais e melhorar o gerenciamento e a operação do sistema.

Assista à versão em vídeo do blog “Guia completo: uma visão geral dos sistemas de arquivos Linux”

Gerencie, aplique patches e dê suporte a endpoints Linux em um único painel.

Conheça o gerenciamento de endpoints Linux do NinjaOne. →

Por que os sistemas de arquivos são importantes nos sistemas operacionais

Os sistemas de arquivos são essenciais para o funcionamento de qualquer computador. São eles que permitem ao sistema operacional organizar e isolar dados, garantindo armazenamento eficiente e seguro. Esse isolamento permite que processos diferentes rodem ao mesmo tempo sem interferir nos dados uns dos outros.
Para administradores de sistemas e usuários de Linux, dominar os sistemas de arquivos é indispensável. Veja por quê:

  • Ajuste de desempenho: entender os sistemas de arquivos ajuda a otimizar o desempenho ao escolher o tipo certo para cada necessidade.
  • Gerenciamento de segurança: esse conhecimento é decisivo para administrar permissões e proteger dados.
  • Recuperação do sistema: em caso de falhas, um bom domínio dos sistemas de arquivos facilita a recuperação de dados.
  • Gerenciamento eficiente do armazenamento: com esse conhecimento, os administradores decidem melhor sobre particionamento, manutenção e expansão do armazenamento.

Principais sistemas de arquivos Linux e suas características

FS Recursos Vantagens Desvantagens
ext4 Sigla de fourth extended filesystem, muito usado pela robustez e pelo journaling, que evita corrupção de dados após falhas. Maduro, alta integridade de dados, bom suporte a arquivos grandes. Limitado pelo tamanho total do volume.
XFS Conhecido pelo alto desempenho e pela escalabilidade, sobretudo com arquivos e volumes grandes; se destaca em E/S paralela. Desempenho excelente com arquivos grandes e alta escalabilidade. Gerenciamento mais complexo; desempenho fraco com arquivos pequenos.
Btrfs Oferece snapshots, alocação dinâmica de inodes e gerenciamento integrado de dispositivos; aceita compressão transparente. Recursos avançados, como detecção de erros e gerenciamento flexível de volumes. Mais recente e com suporte menos difundido que o ext4.
ZFS no Linux Criado originalmente para o Solaris, suporta grandes capacidades de armazenamento e integra sistema de arquivos e gerenciamento de volumes; inclui verificação robusta de integridade dos dados. Alta integridade de dados e suporte a grandes capacidades de armazenamento. Exige mais memória para desempenho ideal.
exFAT & ntfs-fuse Dão suporte a sistemas de arquivos do Windows no Linux, com leitura e escrita em partições formatadas pelo Windows; otimizados para memória flash e com gerenciamento de NTFS por drivers em espaço de usuário. Permitem trabalhar com arquivos do Windows no Linux sem atritos. Desempenho variável e possíveis problemas de compatibilidade.

Visão geral da árvore de diretórios do Linux

Talvez o que mais chame atenção no sistema de arquivos do Linux seja a estrutura de árvore única e unificada, em que todos os sistemas de arquivos montados aparecem apenas como diretórios dessa árvore. Ela parte do diretório raiz (/) – o diretório de nível mais alto do sistema, a partir do qual todos os arquivos e diretórios se originam; cada sistema de arquivos montado se integra a essa árvore.
O Filesystem Hierarchy Standard (FHS) padroniza a organização dos diretórios entre as distribuições Linux, o que favorece a compatibilidade de software e os processos de backup do sistema. Entre os diretórios principais estão /bin, para binários executáveis, /etc, para arquivos de configuração, /home, para diretórios de usuários, e /var, para dados variáveis, como os diretórios de dados de serviços como servidores web, de banco de dados ou de e-mail. Navegar pela árvore do sistema de arquivos Linux significa usar essas estruturas padronizadas e os comandos adequados para gerenciar arquivos com eficiência e manter a integridade do sistema.

Como interagir com o sistema de arquivos

  • Obter ajuda: a maioria dos comandos tem um manual, acessível com man [command], por exemplo, man cp.
  • Navegação e manipulação: comandos como cd, para mudar de diretório, ls, para listar o conteúdo de um diretório, e operações de arquivo como touch, cp, mv e rm atuam diretamente sobre os arquivos.
  • Montagem e desmontagem: dispositivos de armazenamento externos são montados na árvore do sistema de arquivos em pontos definidos (por exemplo, o dispositivo de bloco /dev/sdb1 (primeira partição do segundo disco rígido) é montado em /media/user/VolumeName), o que dá acesso contínuo aos arquivos, não importa o meio de armazenamento. A montagem transparente de armazenamento remoto ou na nuvem é possível pelo FUSE (Filesystem in UserSpacE).
  • Segurança, propriedade e permissões: cada arquivo e diretório recebe permissões que definem os direitos de acesso do proprietário, dos grupos de usuários atribuídos e dos demais. Os administradores ajustam essas permissões com chmod e chown para controlar o acesso aos arquivos e manter a segurança do sistema. As permissões podem ser definidas de forma granular: leitura, escrita e execução são configuradas separadamente por usuário, grupo de usuários ou outros critérios.

Montagem e gerenciamento de sistemas de arquivos

  • Montar sistemas de arquivos no Linux:
      • Com o comando mount: montar um sistema de arquivos significa anexá-lo a um diretório específico (ponto de montagem) dentro da estrutura de diretórios existente. Normalmente isso é feito com o comando mount, indicando o tipo de sistema de arquivos e as opções necessárias (embora a maioria dos sistemas de arquivos seja detectada automaticamente:
        • mount [-t fstype] [-o options] /path/to/device /path/to/mountpoint
      • Com o arquivo /etc/fstab (filesystem table): monte um sistema de arquivos automaticamente adicionando a linha correspondente ao arquivo /etc/fstab, como no exemplo. A montagem automática acontece na inicialização, ao conectar um drive externo ou ao executar o comando mount -a. Detalhar esse método foge ao escopo deste artigo, mas há mais informações aqui ou com o comando man fstab. (Os campos dump e PassNo têm a ver com a verificação de erros de disco; pesquise antes de alterá-los.)
        • sudo nano /etc/fstab
          e depois adicione uma linha ao final do arquivo:
        • #<device> <mountpoint> <FS type> <mount opts> <dump><PassNo>
          /dev/sdb1 /media/user ext4 defaults 0 2
  • Desmontar sistemas de arquivos: para desmontar um sistema de arquivos, use o comando umount /path/to/mountpoint. Ele desvincula o sistema de arquivos do ponto de montagem, garantindo que todos os dados sejam gravados em disco e evitando perdas.
  • Examinar sistemas de arquivos montados:
    • df: mostra o espaço em disco usado e disponível em todos os sistemas de arquivos montados no momento.
    • mount: sem argumentos, exibe todos os sistemas de arquivos montados, indicando onde e como cada um está montado.

Monitore seus endpoints Linux em tempo real. Agende seu teste grátis de 14 dias.

Operações e comandos do sistema de arquivos

Operações e comandos mais comuns

  • Criar arquivos: touch filename cria um arquivo vazio chamado filename.
  • Excluir arquivos: rm filename remove arquivos.
  • Copiar e mover: cp e mv copiam ou movem arquivos entre diretórios.
    • cp sourcefile [/path/to/]filecopy # Copia sourcefile para filecopy.
    • cp -vR sourcedir [/path/to/]targetdir # Copia recursivamente o diretório sourcedir e seu conteúdo para targetdir.
  • Gerenciamento de diretórios: mkdir e rmdir criam e removem diretórios.

Administração de permissões e propriedade

  • chmod: altera as permissões de um arquivo ou diretório, por exemplo:
    • chmod 0644 filename # define permissões numericamente
    • chmod +w filename* # torna o glob de destino gravável
  • chown: altera a propriedade de um arquivo ou diretório para determinado usuário e/ou grupo, por exemplo:
    • chown username filename # username passa a ser o dono de filename
    • chown -R username[:groupname] directory # altera recursivamente a propriedade de um diretório e de seu conteúdo para username (e, opcionalmente, groupname).

O futuro com os sistemas de arquivos Linux

Este guia abordou os pontos essenciais dos sistemas de arquivos Linux, dos tipos e estruturas ao gerenciamento e às operações. Entender esses componentes é vital para uma administração de sistemas eficaz e segura, tanto para administradores quanto para usuários de Linux: o conhecimento profundo dos sistemas de arquivos amplia a capacidade de gerenciamento e sustenta ambientes computacionais mais robustos e seguros. Vale continuar estudando e praticar na prática com os sistemas de arquivos Linux para dominar os detalhes da administração de sistemas e otimizar o desempenho geral.

Recomendados para você

Pronto para simplificar as partes mais difíceis da TI?

Termos e condições NinjaOne

Ao clicar no botão “Aceito” abaixo, você indica sua aceitação dos seguintes termos legais, bem como dos nossos Termos de Uso:

  • Direitos de propriedade: A NinjaOne é proprietária e continuará a ser proprietária de todos os direitos, títulos e interesses relativos ao script (incluindo os direitos autorais). A NinjaOne está concedendo a você uma licença limitada para usar o script de acordo com os presentes termos legais.
  • Limitação de uso: Você só poderá usar o script para fins comerciais internos ou pessoais legítimos, sendo vedado compartilhar o script com terceiros.
  • Proibição de republicação: Em nenhuma circunstância você tem permissão para republicar o script em qualquer biblioteca de scripts pertencente ou sob o controle de qualquer outro fornecedor de software.
  • Isenção de responsabilidade da garantia: O script é fornecido “no estado em que se encontra” e “conforme disponível”, sem qualquer tipo de garantia. A NinjaOne não promete ou garante que o script estará livre de defeitos ou que atenderá às suas necessidades ou expectativas específicas.
  • Assunção de riscos: O uso do script é por sua própria conta e risco. Você reconhece que há certos riscos inerentes ao uso do script, e você compreende e assume cada um desses riscos.
  • Renúncia e isenção de responsabilidade: Você não responsabilizará a NinjaOne por consequências adversas ou não intencionais resultantes do seu uso do script e renunciará a quaisquer direitos ou tutelas legais que possa ter contra a NinjaOne em relação ao seu uso do script.
  • EULA: Se você for cliente da NinjaOne, o uso do script está sujeito ao Contrato de Licença de Usuário Final aplicável a você (EULA).