“Quantos tipos de ficheiros existem em Linux/Unix e quais são eles?” Esta é uma pergunta comum a todas as pessoas que começam a aprender Linux. OK, porque é tão importante conhecer os tipos de ficheiros?

Resposta: Isto é porque o Linux considera tudo como um ficheiro. Quando você começa a trabalhar no Linux/Unix box você tem que lidar com diferentes tipos de arquivos (linux/unix) para gerenciá-los eficazmente

Quantos tipos de arquivos existem no Linux/Unix?

Por padrão o Unix tem apenas 3 tipos de arquivos. Eles são…

Arquivos Regulares

  1. Arquivos de diretório

  2. Arquivos especiais(Esta categoria tem 5 subtipos.)

Então na prática temos um total de 7 tipos(1+1+5) de arquivos no Linux/Unix. E no Solaris temos 8 tipos. E você pode ver a indicação do tipo de arquivo na parte mais à esquerda do comando “ls -l”.

Aqui estão os tipos de arquivos.

  1. Arquivo Regular(-) 
  2. Arquivos de diretório(d) 

Arquivos especiais

  1. Arquivo de bloqueio(b)
  2. Arquivo de dispositivo de caracteres(c)
  3. Arquivo de pipe ou apenas um pipe file(p)
  4. Symbolic link file(l)
  5. Socket file(s)

Para sua informação há mais um tipo de arquivo chamado door file(D) que está presente em Sun Solaris como mencionado anteriormente. Uma porta é um arquivo especial para comunicação inter-processo entre um cliente e um servidor (portanto totalize 8 tipos em máquinas Unix). Vamos aprender sobre diferentes tipos de arquivos como abaixo para cada tipo de arquivo.

Definição e informação do tipo de arquivo
Como criar um determinado tipo de arquivo
Como listar/ver um determinado tipo de arquivo

Tipo de arquivo regular Explicado em Linux

Estes são os arquivos que são indicados com “-” no comando ls -l na saída do início da linha. E estes ficheiros são.

1. Ficheiro legível ou 
2. Um ficheiro binário ou
3. Ficheiros de imagem ou
4. Ficheiros comprimidos etc.

Como criar ficheiros regulares em Linux/Unix?
Ans: Use o comando touch/vi e operadores de redirecionamento etc.

Como podemos listar arquivos regulares?

ls -l | grep ^- 

>

Exemplo de ficheiros regulares :

-rw-r--r-- 1 krishna krishna 20986522 2010-01-31 13:48 test.wmv
-rw-r--r-- 1 krishna krishna 173448 2010-01-30 21:20 Transformers-Teaser-Wallpaper-310.jpg
-r-xr-xr-x 1 root root 135168 2009-12-12 19:14 VIDEO_TS.VOB
-rw-r--r-- 1 krishna krishna 2113536 2009-12-01 13:32 Aditya 365 - Janavule.mp3
-rwxrwxrwx 1 root 168 2010-02-14 14:12 xyz.sh

Directory file type explained in Linux/Unix

Este tipo de ficheiros contém ficheiros regulares/pastas/ficheiros especiais armazenados num dispositivo físico. E este tipo de arquivos será em azul com link maior ou igual a 2.

Como podemos listá-los no meu diretório de trabalho atual? 
ls -l | grep ^d

Exemplo de listagem de directórios.

drwxr-xr-x 2 surendra surendra 4096 2010-01-19 18:37 bin
drwxr-xr-x 5 surendra surendra 4096 2010-02-15 18:46 Desktop
drwxr-xr-xr-x 2 surendra surendra 4096 2010-01-18 14:36 Documentos
drwxr-xr-xx 2 surendra surendra 4096 2010-02-13 17:45 Downloads

Como criá-los?
Ans : Use o comando mkdir

Bloquear tipo de arquivo no Linux

Estes arquivos são arquivos de hardware, a maioria deles estão presentes em /dev.

Como criá-los?
Ans : Use o comando fdisk ou crie uma partição virtual.

Como podemos listá-los no meu directório de trabalho actual?

ls -l | grep ^b

Exemplo de ficheiros Block(para que possa ver estes ficheiros, eles estão localizados em /dev).

brw-rw---- 1 root disk 8, 1 2010-02-15 09:35 sda1
brw-rw---- 1 root disk 8, 2 2010-02-15 09:35 sda2
brw-rw---- 1 root disk 8, 5 2010-02-15 09:35 sda5

Arquivos de dispositivos de caracteres no Linux

Provê um fluxo serial de entrada ou saída.Seus terminais são exemplo clássico para este tipo de arquivos.

Como podemos listar os arquivos de caracteres no meu diretório de trabalho atual?

ls -l | grep ^c

Exemplo listagem de ficheiros de caracteres(localizado em /dev)

crw-rw-rw- 1 root tty 5, 0 2010-02-15 16:52 tty
crw--w---- 1 root root 4, 0 2010-02-15 09:35 tty0
crw------- 1 root root 4, 1 2010-02-15 09:35 tty1

Pipe files in Linux/Unix

O outro nome de pipe é um pipe “nomeado”, que por vezes é chamado FIFO. FIFO significa “First In, First Out” e refere-se à propriedade que a ordem dos bytes que entram é a mesma que saem. O “nome” de um pipe nomeado é na verdade um nome de arquivo dentro do sistema de arquivos.

Como criá-los?
Ans: Use o comando mkfifo.

Como podemos listar ficheiros de caracteres no meu directório de trabalho actual?

ls -l | grep ^p

Listagem de exemplos de ficheiros pipe

prw-r----- 1 root root 0 2010-02-15 09:35 /dev/.initramfs/usplash_outfifo
prw-r----- 1 root root 0 2010-02-15 09:35 /dev/.initramfs/usplash_fifo
prw------- 1 syslog syslog 0 2010-02-15 15:38 /var/run/rsyslog/kmsg

>

ficheiros de ligação simbólicos no Linux

>

Estes são ficheiros ligados a outros ficheiros. São ficheiros de Directório/Regular. O número de inode para este arquivo e seus arquivos pai são os mesmos. Existem dois tipos de ficheiros de ligação disponíveis no Linux/Unix ou seja, soft e hard link.

Como criá-los?
Ans : use o comando ln

Como podemos listar os ficheiros de ligação no meu directório de trabalho actual?

>

ls -l | grep ^l

Exemplo de listagem de ficheiros ligados
lrwxrwxrwx 1 root root 24 2010-02-15 09:35 sndstat -> /proc/asound/oss/sndstat
lrwxrwxrwx 1 root root 15 2010-02-15 09:35 stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15 2010-02-15 09:35 stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 2010-02-15 09:35 stdout -> /proc/self/fd/1

Arquivos de bolso no Linux

Um arquivo de socket é usado para passar informações entre aplicações para fins de comunicação

Como criá-las?
Ans : Você pode criar um arquivo socket usando a chamada de sistema socket() disponível em

Exemplo em programação C

int sockfd = socket(AF_INET, SOCK_STREAM, 0);

Você pode se referir a este arquivo socket usando o sockfd. Isto é o mesmo que o descritor de ficheiro, e pode usar as chamadas de sistema read(), write() para ler e escrever a partir do socket.

Como podemos listar ficheiros socket no meu directório de trabalho actual?

ls -l | grep ^s

Listagem de exemplos de ficheiros socket.

srw-rw-rw- 1 root root 0 2010-02-15 09:35 /dev/log

srwxrwxrwx 1 root 0 2010-02-15 10:07 /var/run/cups/cups.sock
srwxrwxrwxrwx 1 root root 0 2010-02-15 09:35 /var/run/samba/winbindd_privileged/pipe
srwxrwxrwx 1 mysql mysql 0 2010-02-15 09:35 /var/run/mysqld/mysqld.sock

Uma dica para vocês. Como encontrar o tipo de arquivo desejado ?

Ans : Use o comando find com a opção -type. Por exemplo, se você quer encontrar o arquivo socket, use o comando abaixo. find / -type s Se você quer encontrar o arquivo linkado, então como? find / -type l

That it….

admin

Deixe uma resposta

O seu endereço de email não será publicado.

lg