Ao navegar no sistema de arquivo Linux você certamente encontrará diferentes tipos de arquivo. Os tipos de arquivo mais usados e óbvios são arquivos regulares e diretórios. Entretanto, o sistema operacional Linux tem mais a oferecer em termos de tipos de arquivos, pois também inclui outros 5 tipos de arquivos. Este pequeno artigo irá ajudá-lo a reconhecer todos os 7 diferentes tipos de ficheiros dentro do sistema operativo Linux.
Identificar tipos de ficheiros Linux
Existe apenas 1 comando que precisa de conhecer, que o ajudará a identificar e categorizar todos os sete diferentes tipos de ficheiros encontrados no sistema operativo Linux.
$ ls -ld < nome do ficheiro>
Aqui está um exemplo de saída do comando acima.
$ ls -ld /etc/services
-rw-r--r-- 1 root root 19281 Fev 14 2012 /etc/services
comandols irá mostrar o tipo de ficheiro como um símbolo codificado encontrado como o primeiro caracter da parte de permissão do ficheiro. Neste caso é “-“, que significa “ficheiro normal”. É importante ressaltar que os tipos de arquivo Linux não devem ser confundidos com extensões de arquivo. Vejamos um pequeno resumo de todos os sete diferentes tipos de ficheiros Linux e identificadores de comando ls:
- – : ficheiro normal
- d : directório
- c : ficheiro de dispositivo de caracteres
- b : arquivo de dispositivo de bloco
- s : arquivo de soquete local
- p : chamado pipe
- l : link simbólico
O Instituto Geofísico UAF, está à procura de um Analista de Sistemas Linux experiente para se juntar à sua equipa de analistas e engenheiros de infra-estruturas cibernéticas de pesquisa. LOCALIZAÇÃO: Fairbanks, Alasca, EUA
APPLY NOW
Arquivo regular
O arquivo regular é um tipo de arquivo mais comum encontrado no sistema Linux. Ele rege todos os diferentes arquivos, como arquivos de texto, imagens, arquivos binários, bibliotecas compartilhadas, etc. Você pode criar um arquivo regular com o comando touch:
$ touch linuxcareer.com
$ ls -ld linuxcareer.com
-rw-rw-r-- 1 lubos lubos 0 Jan 10 12:52 linuxcareer.com
O primeiro caractere do comando ls, neste caso “-“, denota o código de identificação para o arquivo regular. Para remover um ficheiro regular pode usar o comando rm:
$ rm linuxcareer.com
$
Directório
Directório é o segundo tipo de ficheiro mais comum encontrado no Linux. O diretório pode ser criado com o comando mkdir:
$ mkdir FileTypes
$ ls -ld FileTypes/
drwxrwxr-x 2 lubos lubos 4096 Jan 10 13:14 FileTypes/
Como explicado anteriormente, o diretório pode ser identificado pelo símbolo “d” a partir da saída do comando ls. Para remover o diretório vazio use o comando rmdir.
$ rmdir FileTypes
Ao tentar remover o diretório com o comando rmdir, que contém arquivos adicionais você receberá uma mensagem de erro:
rmdir: failed to remove `FileTypes/': Directory not empty
Neste caso você precisa usar um comando:
$ rm -r FileTypes/
Dispositivo de caracteres
Arquivos de caracteres e de dispositivos de bloqueio permitem que usuários e programas se comuniquem com dispositivos periféricos de hardware. Por exemplo:
$ ls -ld /dev/vmmon
crw------- 1 root root 10, 165 Jan 4 10:13 /dev/vmmon
Neste caso o dispositivo de caracteres é o dispositivo do módulo vmware.
Block Device
Block devices are similar to character devices. Eles governam principalmente o hardware como discos rígidos, memória, etc.
$ ls -ld /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 4 10:12 /dev/sda
Bases de domínio local
Bases de domínio local são usadas para comunicação entre processos. Geralmente são usados por serviços como X windows, syslog e etc.
$ ls -ld /dev/log
srw-rw-rw- 1 root root 0 Jan 4 10:13 /dev/log
Sockets podem ser criados por chamada de sistema de socket e removidos pelos comandos de unlink ou rm.
Dutos nomeados
Similiarmente como os soquetes locais, os chamados pipes permitem a comunicação entre dois processos locais. Eles podem ser criados pelo comando mknod e removidos com o comando rm.
Ligações simbólicas
Com ligações simbólicas um administrador pode atribuir a um ficheiro ou directório múltiplas identidades. Links simbólicos podem ser pensados como um ponteiro para um arquivo original. Existem dois tipos de links simbólicos:
- hard links
- soft links
A diferença entre links rígidos e soft links é que os soft links usam o nome do ficheiro como referência e os hard links usam referência directa ao ficheiro original. Além disso, os links rígidos não podem cruzar sistemas de arquivos e partições. Para criar links simbólicos podemos usar o comando ln -s:
$ echo file1 > file1
$ ln -s file1 file2
$ cat file2
file1
$ ls -ld file2
lrwxrwxrwx 1 lubos lubos 5 Jan 10 14:42 file2 -> file1
Para remover links simbólicos podemos usar o comando unlink ou rm.
Conclusion
Como administrador de sistemas você irá trabalhar na maioria dos casos com arquivos regulares, blocos de diretórios e dispositivos de caracteres. Como desenvolvedor de software você também trabalhará com soquetes locais e chamados pipes.