A questão que nos surge é a seguinte: Se tudo é interpretado como arquivo, como o sistema consegue diferenciar o que é um arquivo, diretório, dispositivo entre outros?
O que acontece, é que todo arquivo no Linux possui um cabeçalho, com diversas informações como: tipo, tamanho e etc. É através desse cabeçalho que o sistema consegue diferenciar o que é o que.
Principais tipos de arquivos:
Arquivo regular: arquivo que contém somente dados, podem ser dos mais variados tipos. Existem arquivos de áudio, vídeo, imagem, texto, etc...
Os arquivos se dividem em duas categorias principais:
Binários: seu conteúdo é somente compreendido por computadores, são compostos por bits 1 e 0 e se aberto por um editor de texto mostra somente caracteres incompreensíveis. Este tipo de arquivo geralmente é gerado por um programa ou por um processo chamado compilação.
Texto: seu conteúdo é compreendido pelas pessoas. Pode ser um texto, um script, um programa de computador, um arquivo de configuração.
Diretórios: são utilizados para separar um grupo de arquivos de outros. Um diretório pode conter arquivos e outros diretórios, que serão chamados subdiretórios;
Dispositivos: todo componente de hardware que possa ser instalado é chamado dispositivo. Placas de vídeo, drives de CD-ROM, memória RAM, tudo que é conectado ao USB, entre outros são dispositivos.
Links: são arquivos utilizados para fazer referência a um outro arquivo localizado em outro local. Em outras palavras, são atalhos.
FIFO: canal de comunicação, utilizado para direcionar os dados produzidos por um processos para um outro processo.
Vale lembrar que o Linux é Case Sensitive, diferencia letras maiúsculas e minúsculas nos arquivos.
Arquivo oculto: é diferenciado por um “.” no início do nome, esse tipo de arquivo não aparece em listagens normais de diretórios, deve ser usado o comando ls -a para visualizar arquivos ocultos.
Extensões de arquivos
As extensões servem para identificarmos qual o tipo do arquivo. A extensão do arquivo fica logo após o “.” no nome do arquivo. Ex:
apostila.txt – O .txt demonstra que este é um arquivo de texto.
Index.html – Indica que é uma página da web
wine-doors-0.1.3.deb – Pacote de software (instalável).
A extensão geralmente não é requerida pelo sistema operacional Linux, mas é conveniente o seu uso para detectarmos o tipo de arquivo e que programa precisamos usar para abri-lo.
Algumas extensões comuns no Linux:
.bin – arquivo executável linux
.conf – arquivo de configuração nos sistemas operacionais Linux ou Unix
.deb – pacotes de software instaláveis
.gz – arquivo compactado com o programa gzip
.tar.gz - arquivo compactado com o programa gzip no utilitário de arquivamento tar
Diretório Raiz
É o diretório principal, dentro dele ficam todos os demais diretórios do sistema, é representado por uma “/”. Os outros diretórios são chamados de sub-diretórios, pois estão dentro do diretório /.
Estrutura básica dos diretórios
O Ubuntu possui a seguinte estrutura de diretórios:
/bin – É aonde ficam os programas que são usados com frequência pelos usuários.
/boot – Contém arquivos necessários para a inicialização do sistema.
/cdrom - Ponto de montagem da unidade de CD-ROM.
/media - Ponto de montagem de dispositivos diversos do sistema.
/dev - Contém arquivos usados para acessar dispositivos (periféricos) existentes no computador.
/etc – Aqui ficam os arquivos de configuração do sistema e dos programas instalados.
/floppy - Ponto de montagem de unidade de disquetes
/home - Diretórios contendo os arquivos dos usuários.
/lib - Bibliotecas compartilhadas pelos programas do sistema e módulos do kernel.
/lost+found - Local para a gravação de arquivos/diretórios recuperados pelo utilitário fsck.ext2. Cada partição possui seu próprio diretório lost+found.
/mnt - Ponto de montagem temporário.
/proc - Sistema de arquivos do kernel. Este diretório não existe em seu disco rígido, ele é colocado lá pelo kernel e usado por diversos programas que fazem sua leitura, verificam configurações do sistema ou modificam o funcionamento de dispositivos do sistema através da alteração em seus arquivos.
/sys - Sistema de arquivos do kernel. Este diretório não existe em seu disco rígido, ele é colocado lá pelo kernel e usado por diversos programas que fazem sua leitura, verificam configurações do sistema ou modificam o funcionamento de dispositivos do sistema através da alteração em seus arquivos.
/root - Diretório do usuário root, administrador do sistema.
/sbin - Diretório de programas usados pelo superusuário (root) para administração e controle do funcionamento do sistema.
/tmp - Diretório para armazenamento de arquivos temporários criados por programas.
/usr - Contém maior parte de seus programas. Normalmente acessível somente como leitura.
/var - Contém maior parte dos arquivos que são gravados com freqüência pelos programas do sistema, e-mails, spool de impressora, logs do sistema, cache, etc.
/opt – Normalmente, é utilizado por programas que foram instalados com o sistema já em funcionamento, e que precisam de uma quantidade de uma espaço maior para sua instalação como é o caso do OpenOffice e o KDE.
/srv – Diretório para dados de serviços fornecidos pelo sistema e, cuja aplicação é de alcance geral, ou seja, os dados não são específicos de um usuário. Por exemplo, /srv/www (servidor web), /srv/ftp (servidor ftp), etc.
/run – É um novo diretório, que não é previsto no padrão FHS, tem o mesmo papel do /var/run (que é previsto no standard e existe em praticamente todas as distribuições Linux) tem como função armazenar dados temporários de execução descrevendo o estado do sistema.
Essa estrutura citada acima difere muito pouco em relação ao padrão organizado pelo FHS (Filesystem Hierarchy Standard) .
Diretório Atual
É o diretório em que estamos no momento. Para consultar em qual diretório você se encontra no momento basta digitar o comando pwd no terminal. Para listar as pastas contidas no diretório digite o comando ls .
Diretório Superior
Nós identificamos o diretório superior através de .. (dois pontos). Exemplo: se eu estiver dentro do diretório /var/www/phpmyadmin e desejar ver quais arquivos estão no diretório superior, o qual seria /var/www ao invés de digitar o caminho inteiro, basta digitar o comando para listar que é ls e .. (dois pontos).
Diretório Anterior
Nós identificamos o diretório anterior através do “-” (hífen). Exemplo: se antes de acessar o diretório /var/www/phpmyadmin eu estava no diretório / basta digitar cd (comando para mudar de diretório) e – (hífen) que já mudo para o diretório anterior.
Diretório Home
É o diretório dos usuários do sistema. No Linux, cada usuário tem o seu diretório próprio onde armazena seus programas e arquivos pessoais.
Este diretório fica localizado em /home/ [login], portanto meu diretório como vimos através das imagens anteriores fica em /home/renata.
O diretório home é identificado também por “~” (til), portanto para listar os arquivos do meu diretório posso fazer através do comando ls ~ ou ls /home/renata.
Nos próximos artigos, vamos colocar em prática mais comandos via terminal, até breve.