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.841 ]

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

Monitore o seu Linux com o Conky

Fundamentos do sistema Linux - Permissões

Fundamentos do sistema Linux - hardware

Fundamentos do sistema Linux - Gerenciadores de inicialização

Fundamentos do sistema Linux - usuários e grupos

Leitura recomendada

Desmistificando o GNU/Linux

Introdução ao Ubuntu - Instalação de programas e outras dicas

Convertendo novos usuários ao Linux

Linux - Só não usa quem não quer

Fundamentos do sistema Linux - comandos do Linux

  
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