Tipos de Arquivos - Resumo
Tipo de Arquivo | Símbolo | Descrição |
Arquivo regular | - | Arquivo de texto, de imagem, vídeo, programa executável, etc. etc |
Arquivo de Diretório | d | Contém um conjunto de arquivos de quaisquer tipos, inclusive doutros diretórios. |
Arquivos de dispositivo - dispositivo orientado a bloco | b | Operações de entrada e saída são realizadas byte a byte de modo sequencial. |
Arquivos de dispositivo - dispositivo orientado a caractere | c | as operações de entrada e saída são realizadas em blocos de modo aleatório. |
Socket | s | Usado para a comunicação bidirecional entre dois processos. |
Named pipe (ou FIFO) | p | Permite a comunicação entre dois processos executados no mesmo Sistema Operacional. |
Link | l | Hard 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.