Publicação

Tipos de Arquivos em Linux

foto de
André Rodrigues CONTEÚDO EM DESTAQUE

Tipos de Arquivos - Resumo

Tipo de ArquivoSímboloDescrição
Arquivo regular-Arquivo de texto, de imagem, vídeo, programa executável, etc. etc
Arquivo de DiretóriodContém um conjunto de arquivos de quaisquer tipos, inclusive doutros diretórios. 
Arquivos de dispositivo - dispositivo orientado a blocobOperações de entrada e saída são realizadas byte a byte de modo sequencial.
Arquivos de dispositivo - dispositivo orientado a caracterecas operações de entrada e saída são realizadas em blocos de modo aleatório.
SocketsUsado para a comunicação bidirecional entre dois processos.
Named pipe (ou FIFO)pPermite a comunicação entre dois processos executados no mesmo Sistema Operacional.
LinklHard link: dois arquivos apontando para o mesmo inode. Symbolic link: ponteiro para um arquivo existente.

Introdução: Tipos de Arquivos em Linux 

No Sistema Operacional (S.O.) #Linux, qualquer objeto é gerenciado como arquivo. Ao navegar no sistema de arquivos do Linux você pode encontrar diferentes tipos de arquivos: arquivos de texto, imagens, vídeo, dispositivos de hardware, dentre outros. 

Neste artigo, eu faço uma abordagem resumida aos 7 diferentes tipos de arquivos dentro do Sistema Operacional Linux. 

Arquivo regular

Trata-se do tipo de arquivo mais comum que podemos encontrar em um sistema Linux. Um arquivo regular é criado, por exemplo, sempre que um usuário do salva um documento Open Office.

Arquivo de Diretório

Podem conter qualquer tipo de arquivo. Um diretório nada mais é do que um arquivo cujo conteúdo é o nome dos arquivos nele contidos e os números de seus respectivos inodes. Um diretório pode conter arquivos de quaisquer tipos, inclusive diretórios. 

Arquivo de dispositivo (orientado a bloco e orientado a caractere)

São os arquivos utilizados para gerenciar os dispositivos de entrada e saída, e apresentam 02 subtipos:

  • Caractere: as operações de entrada e saída são realizadas de modo sequencial, byte a byte. Normalmente,  os dados são lidos e escritos diretamente no dispositivo, dispensando o uso de buffers (espaço em memória). Ex.:  portas seriais.
  • Bloco: as operações de entrada e saída são realizadas de modo aleatório, em blocos, fazendo o uso de buffers intermediários. Ex.: disco rígido. 

Socket

Um soquete é um arquivo especial que permite a comunicação entre dois processos, que compartilham dados e também podem enviar e receber descritores de arquivo através de uma conexão de soquete de domínio Unix usando o sistema sendmsg () e recvmsg ().

Existem dois tipos básicos de sockets:

  • Unix domain socket ou IPC socket (Inter Process Communication socket): é usado para a comunicação entre processos executados em um mesmo Sistema Operacional.
  • Socket de rede: usado para a comunicação entre processos executados em computadores diferentes, interligados por uma rede.

Named pipe

Os pipes (do português "tubos) conectam a saída de um processo à entrada de outro. Arquivos especiais de pipe nomeados (named pipes) são utilizados para comunicação entre dois processos executados no mesmo Sistema Operacional, e permitem a comunicação entre processos que não possuam relação entre si.

Link

O Linux suporta dois tipos de links: “hard link” e “symbolic link”. 

Hard link

Associa dois ou mais nomes de arquivos ao mesmo inode.  Sempre que um dos usuários modificar o conteúdo do seu arquivo, as mudanças serão automaticamente percebidas pelos outros, uma vez que seus arquivos apontam para a mesma área em disco.

Symbolic link

São arquivos que funcionam como ponteiros para outros arquivos. Esse arquivo especial é armazenado como uma representação textual do caminho do arquivo referenciado. Quando um symbolic link é acessado, o sistema verifica através das informações contidas em seu inode que ele é do tipo symbolic link. Após isso, recupera a identificação do arquivo original e realiza as operações solicitadas diretamente sobre ele.

Comentários