Fundamentos do sistema Linux - arquivos e diretórios

Nos sistemas Unix, tudo o que pode ser manipulado pelo sistema operacional é representado sob a forma de arquivo, incluindo aí diretórios, dispositivos e processos. Esse artigo, retirado do Guia Bozolinux - Fundamentos do Sistema Linux, aborda os principais conceitos sobre arquivos e diretórios no Linux.

[ Hits: 178.013 ]

Por: Davidson Rodrigues Paulo em 28/10/2005 | Blog: http://davidsonpaulo.com/


Diretórios



Os diretórios, como você deve saber, contém arquivos ou outros diretórios. Todo sistema operacional contém o que é chamado árvore de diretórios, que é uma estrutura básica de diretórios principais e seus subdiretórios.

No GNU/Linux a árvore de diretórios é particularmente muito bem organizada, e os arquivos são divididos em categorias. Assim, arquivos executáveis (programas) são agrupados num determinado diretório, enquanto bibliotecas são arquivados em outro, e arquivos temporários em outro, e assim por diante. Isso garante uma boa organização do sistema e traz também uma grande praticidade, como vocês poderão ver mais adiante.

Filesystem Hierarquy Standard


Os sistemas GNU/Linux possuem um padrão rígido e específico a respeito da organização hierárquica dos diretórios, definido pela Filesystem Hierarquy Standard, ou simplesmente FHS, constante da LSB.

O diretório principal que contém todos os demais diretórios é chamado diretório raíz e se encontra no topo da estrutura, sendo representado pelo sinal / (barra). Todos os demais diretórios devem ser referenciados a partir dele, assim como em /diretório.

Dentro da estrutura do sistema de arquivos, cada um dos diretórios possui uma função específica, como vemos na lista abaixo.
  • /bin/: aqui encontram-se os programas que são usados freqüentemente pelos usuários;
  • /boot/: arquivos estáticos utilizados durante a inicialização do sistema;
  • /dev/: encontramos aqui os dispositivos de hardware. Existem vários arquivos, um para cada dispositivo;
  • /etc/: nesse diretório ficam os arquivos de configuração do sistema e dos programas instalados;
  • /home/: os usuários cadastrados no sistema possuem um diretório com seu nome dentro de /home. Em geral é a única área acessível aos usuários para gravarem seus arquivos;
  • /lib/: as bibliotecas essenciais e os módulos do kernel Linux ficam aqui. Bibliotecas são conjuntos de funções e recursos utilizados por programas;
  • /media/: aqui devem ser inseridos os pontos de montagem para as mídias removíveis, como CD's e disquetes;
  • /mnt/: diretório utilizado para conexão com volumes presentes em outros computadores da rede ou para acessar dispositivos removíveis. Em outras palavras, aqui ficam os pontos de montagem temporários;
  • /opt/: softwares adicionais instalados de maneira não padrão devem ficar aqui;
  • /root/: diretório pessoal do usuário root, o administrador do sistema;
  • /sbin/: local dos programas essenciais para o funcionamento e manutenção do sistema. Somente o administrador (root) tem permissão de executar esses programas;
  • /srv/: dados dos serviços fornecidos pelo sistema;
  • /tmp/: aqui se encontram os arquivos temporários gerados pelo sistema;
  • /usr/: os arquivos acessados pelos usuários se encontram contidos neste diretório, principalmente programas e os arquivos utilizados por esses programas;
  • /var/: aqui se encontram informações variáveis do sistema, como spool de impressora, caixas postais, logs do sistema, cache de programas, etc.

Abaixo, você a lista com alguns dos principais subdiretórios do sistema de arquivos do GNU/Linux, constante da FHS:
  • /etc/X11/: arquivos de configuração do servidor X;
  • /etc/skel/: arquivos gravados no diretório pessoal do novo usuário;
  • /etc/network/: arquivos de configuração da rede;
  • /lib/modules/: diretório dos módulos do kernel Linux. Dentro do diretório modules existirá um subdiretório para cada versão de kernel disponível no sistema. O nome desse subdiretório será a versão do kernel correspondente;
  • /media/floppy/: ponto de montagem da unidade de disquete principal;
  • /media/cdrom/: ponto de montagem da unidade de CD-ROM principal;
  • /usr/bin/: programas utilizados pelos usuários;
  • /usr/lib/: bibliotecas utilizadas pelos programas em /usr/bin;
  • /usr/share/: arquivos compartilhados, utilizados pelos programas em /usr/bin;
  • /usr/include/: arquivos utilizados para compilar novos programas pelo código-fonte;
  • /usr/sbin/: programas utilizados pelo administrador do sistema;
  • /usr/src/: códigos-fonte de programas devem ficar aqui, incluindo do kernel Linux;
  • /usr/X11R6/: programas, bibliotecas e demais arquivos do servidor X;
  • /var/cache/: aqui ficam armazenados os arquivos de cache utilizados por diversos programa. Dentro do diretório cache/ são criados diretórios com o nome dos processos criadores;
  • /var/lock/: usado para bloquear a execução de programas. Se dentro desse diretório houver um arquivo com o nome de um determinado processo, ele não poderá ser executado;
  • /var/log/: arquivos de log gerados pelos sistema e outros programas;
  • /var/mail/: mensagens enviadas ao usuário root e emails ficam armazenados aqui (requer configuração);
  • /var/run/: dados dos programas em execução;
  • /var/spool/: diretório de spool dos processos.

Caminhos


Como em todo sistema de arquivos de qualquer sistema operacional, a referência a um arquivo/diretório deve ser feita através do seu caminho. Um caminho é formado da seguinte forma:

[diretório raiz] [diretório 1] [diretório 2] ... [diretório n] [arquivo]

Cada um desses itens são separados por um símbolo, que varia de acordo com o sistema operacional.

No GNU/Linux, o diretório raiz chama-se / (barra), e o símbolo utilizado para separar os itens é a / também. Um exemplo de caminho seria:

/home/davidson/doc/cursos/linux/gnu.sxw

Um caminho informa onde podemos encontrar um arquivo ou diretório. No caso acima, podemos interpretar esse comando da seguinte forma: o arquivo gnu.sxw está dentro do diretório linux/, que está dentro do diretório cursos/, que está dentro do diretório doc, que está dentro do diretório davidson/, que está dentro do diretório home/, que está no diretório raiz.

Outra forma de interpretação seria: para acessar o arquivo gnu.sxw, a partir do diretório raiz, acesse o diretório home/, depois o diretório davidson/, depois o diretório doc/, depois o diretório cursos/ e depois no diretório linux/, e o arquivo estará lá.

Notações de diretórios do sistema


Alguns diretórios possuem notações especiais, algo que poderíamos chamar de "atalho" para o acesso. Veja abaixo a lista dessas notações:
  • ~: ao referir-se ao diretório ~ (til), o sistema entende como o diretório pessoal do usuário, ou seja, /home/[usuário], onde [usuário] é o nome de login do usuário atual. Dessa forma, se você estiver logado como davidson, o diretório ~/img será interpretado como /home/davidson/img;
  • -: o kernel Linux armazena um histórico dos diretórios que acessamos. O - (hífen) refere-se ao último diretório acessado.
  • .: o símbolo . (ponto) refere-se ao diretório atual, ou seja, aquele em que estamos trabalhando;
  • ..: o .. (ponto ponto) refere-se ao diretório acima do qual estamos. Por exemplo, considerando o diretório /home/davidson/, o diretório acima de davidson/ é /home/, e o diretório acima de /home/ é /.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Arquivos
   3. Diretórios
   4. Créditos
Outros artigos deste autor

Vyatta, o concorrente livre dos roteadores Cisco

Hyperic HQ: monitore sua rede like a boss

Debian-BR CDD: Mais um excelente trabalho brazuca

Por que não migram

Compilando o Squid e criando o pacote para Slackware

Leitura recomendada

Primeiros comandos para iniciantes

sidux Hipnos XFCE

Aos que estão começando...

Crie Seu Próprio Gerenciador de Pacotes do Zero - Parte 1

Backup com o Konserve

  
Comentários
[1] Comentário enviado por davidsonpaulo em 28/10/2005 - 11:05h

Salve pessoal.

Apenas para informar que se algum dos links acima não funcionar não é porque ele estão quebrados, mas sim porque o servidor que hospeda os wikis do Bozolinux está temporariamente sem DNS, mas deve voltar em breve.

No momento da publicação desse artigo, a versão 1.5 do Guia Bozolinux - Fundamentos do Sistema Linux não se encontra disponível no SourceForge.

Abraços

[2] Comentário enviado por igorsds em 28/10/2005 - 13:55h

ae cara..
muito bom.. agora dá pra entender legal como funciona.. ou pelo menos ter uma idea de como são as coisas.. por exemplo o lance de cabeçalho nos arquivos é bem inteligente.. a forma de organização difere de arquivo a outro, dispensando extensões..
interessante..
[]'s
igor

[3] Comentário enviado por agk em 07/11/2005 - 21:03h

Muito bom mesmo esse artigo. São artigos assim que todos deveriam ler antes de se aventurarem sem ter os conhecimentos básicos de como funciona a estrutura de um sistema de arquivos linux.
Parabéns.

[4] Comentário enviado por removido em 23/11/2005 - 11:02h

Parabens mesmo. Artigo muito legal..!

[5] Comentário enviado por newbiee em 07/03/2006 - 01:00h

parabens!interessante por completo para mim ke sou iniciante tow aprendendu os significados de varias coisa kra!!!!muito bom vlw!!!tow sempre visitandu aki para mim informar!!!!me ajuda e cometa sempre para mim blz!!!!

[6] Comentário enviado por gpr.ppg.br em 27/04/2008 - 13:53h

duvida? exemplo?

no windows usamos o abrir com...
e vamos no c:\arquivos de programas\firefox

e no linux cade?



[7] Comentário enviado por Lael em 18/06/2008 - 17:03h

debian? qm trabalha com isso????
aff...

[8] Comentário enviado por sandrosfc em 24/05/2009 - 21:15h

vlw,sou iniciante ni Linux também,e nada como aprender as funções básicas e diretórios,muito bem explicado e c/ linguagem de fácil entendimento,vlw!

[9] Comentário enviado por fellkevin em 29/06/2009 - 19:24h

PERFECT!!!!
da pra entender td muito bem sem dificuldade alguma

[10] Comentário enviado por removido em 08/11/2009 - 10:11h

Já foi para os favoritos!

[]'s

[11] Comentário enviado por doradu em 04/02/2010 - 15:32h

é bom saber onde fica o kernel

[12] Comentário enviado por dvdferrari em 28/06/2013 - 10:17h

Brother essas informações são grande ajuda para meu crescimento profissional agradeço pela iniciativa. já está add em meus favoritos !

[13] Comentário enviado por Steve em 22/08/2019 - 23:06h

DÚVIDA em relação a sua informação: "definido pela Filesystem Hierarquy Standard, ou simplesmente FHS, constante da LSB."

O que é LSB? Procurei no Google e não consegui encontrar nada a respeito. Se puder explicar o que essa sigla significa como explicou FHS, agradeço pois eu gostaria de saber.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts