You are on page 1of 29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________

Linux Bsico

Linux sob a FHS

http://www.treinatux.com.br

1/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________

Sumrio

Introduo.................................................................................................................................... 4 1. Diretrios ........................................................................................................................... 5 1.1. 1.2. Diretrio / .................................................................................................................. 8 Diretrio /bin............................................................................................................. 8

2.3. Diretrio /sbin................................................................................................................ 9 2.4. 2.5. 2.6. 2.7. 2.8. 2.9. Diretrio /etc........................................................................................................... 10 Diretrio /home...................................................................................................... 11 Diretrio /root......................................................................................................... 12 Diretrio /tmp ......................................................................................................... 12 Diretrio /usr .......................................................................................................... 14 Diretrio /opt .......................................................................................................... 15

2.10.Diretrio /boot ............................................................................................................ 15 2.11. Diretrio /media ........................................................................................................ 16 2.12. Diretrio /mnt............................................................................................................. 17 2.13. Diretrio /dev ............................................................................................................. 17 2.14. Diretrio /lib ............................................................................................................... 18 2.15. Diretrio /var .............................................................................................................. 18 2.16. Diretrio /proc ........................................................................................................... 19 2.17. Diretrio /sys ............................................................................................................. 20

http://www.treinatux.com.br

2/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________
2.18. Diretrio /srv.............................................................................................................. 20 3. Navegando no sistema................................................................................................. 20 3.1. Caminhos absolutos.................................................................................................. 20 3.2. Caminhos relativos .................................................................................................... 24 3.3. Caracteres de localizao ........................................................................................ 25 4. Consideraes finais.................................................................................................... 28

http://www.treinatux.com.br

3/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ Introduo

Todo sistema operacional organizado internamente em grupos e subgrupos de arquivos, de forma a separar dados de forma lgica e conveniente para o administrador e para os usurios do mesmo sistema, alm de outros usurios remotos. Esta organizao fundamental para que os arquivos e diretrios sejam alocados em locais de acesso lgico para os usurios, de forma que eles no precisem simplesmente procurar por todo o sistema para localizar os objetos. A partir do momento em que as distribuies GNU/Linux comearam a surgir, um dos problemas mais recorrentes se tornou a falta de padronizao da organizao dos sistemas de arquivo. Mais precisamente, existiam diferenas absurdas entre a localizao e a nomeao dos arquivos vitais do sistema operacional entre as distribuies. Isso dificultava muito a migrao de usurios entre as distribuies, pois os que se habituavam uma se viam completamente perdidos dentro de outra distribuio. Porm, o problema maior era atrair novos usurios para o mundo GNU/Linux, justamente pela desarmonia entre os vrios representantes deste sistema aos leigos. Foi pensando nisso que, em 1996, uma entidade chamada Free Standards Group, ou FSG, lanou no mercado o documento Filesystem Hierarchy Standard. Este documento, que hoje se encontra em sua verso 2.3, visa estabelecer o padro da estruturao interna dos sistemas operacionais Unix-like, em especial o Linux. Desta forma, desenvolvedores de softwares, programadores, administradores e usurios possuem uma referncia para onde procurar determinados tipos de arquivo dentro do sistema.

http://www.treinatux.com.br

4/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ O documento completo est disponvel no site: http://www.pathname.com/fhs/ Nesta aula, iremos abordar as informaes relativas

padronizao do uso de diretrios, e quais os arquivos que devemos esperar que estejam dentro deles. importante lembrar que a FHS uma sugesto de padronizao, e no um documento oficial obrigatrio do projeto GNU/Linux que deve ser seguido a todo custo. A maioria das distribuies Linux no adotam a FHS em sua totalidade, muito embora a maioria dos diretrios j tenham sido estabelecidos como um padro para o Linux.

1. Diretrios Um diretrio nada mais do que um local no nosso sistema onde so relacionados vrios arquivos. o objeto virtual equivalente s pastas do Windows. No Linux, o diretrio-pai de todos os outros o diretrio /. Abaixo do diretrio / so localizados todos os outros diretrios e arquivos do sistema, e no existe nada acima deste diretrio. Podemos considerar este diretrio um equivalente ao Meu Computador do Windows. Antes de comearmos a estudar sobre os diretrios principais do GNU/Linux, deveremos aprender a navegar entre os diretrios. Fazendo o login no tty1 com o usurio root, este usurio ser autenticado e passar a controlar o seu shell.

http://www.treinatux.com.br

5/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ Toda vez que um usurio faz login no sistema, ele cai em um diretrio padro relacionado a ele, como se fosse um ponto de partida virtual. Este diretrio chamado de diretrio home, ou apenas home. Normalmente, um diretrio home o diretrio pessoal do usurio, onde ele guardar seus arquivos e centralizar suas atividades. Como fazemos para descobrir em qual diretrio ns estamos? Muito simples, s executar o comando pwd: # pwd Ou, caso voc esteja utilizando o usurio tux: $ pwd pwd signficia print work directory, ou seja, exibir diretrio corrente. O comando pwd ir exibir em qual diretrio nosso usurio estar trabalhando no momento. Quando estamos em um diretrio, ficaremos estacionados nele at executarmos um comando para mudarmos de diretrio corrente. A sada do comando pwd para o usurio root ser: /root E a sada para o usurio tux ser: /home/tux Ou seja, o root, ao se logar, cai diretamente dentro do diretrio /root, o seu diretrio home. J o tux, ao se logar, cai diretamente no diretrio /home/tux, que o seu diretrio home.

http://www.treinatux.com.br

6/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ Para mudar de diretrio, utilizamos o comando cd. Vamos tentar mudar para o diretrio /: # cd / Logo aps, utilize o comando pwd para verificar em qual diretrio nos encontramos: # pwd Ele vai retornar o valor: / Pronto, agora nos encontramos no diretrio /. Porm, apenas estar no diretrio no adianta muita coisa. Precisamos tambm saber o que est dentro dele. Para listar o contedo de um diretrio, utilizamos o comando ls: # ls O comando ls ir retornar todo o contedo do diretrio /. Todos os objetos retornados aqui so diretrios, e cada um desempenhar uma funo diferente dentro do sistema, no que diz respeito aos arquivos que eles iro armazenar. O ls a principal forma de se visualizar o contedo de um diretrio no Linux. Vamos estudar os principais diretrios do nosso sistema, de acordo com sua funo. No se preocupe em decorar todos estes conceitos de uma nica vez.

http://www.treinatux.com.br

7/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ 1.1. Diretrio /

O diretrio /, tambm chamado de diretrio raiz, a raiz do sistema. Abaixo dele se encontra todo o resto do sistema. Exemplo de diretrios que esto dentro do /: /bin; /sbin; /usr; - Note a nomeao dos diretrios. Na verdade, o nome deles bin, sbin e usr, respectivamente. Porm, a / antes do nome indica que eles esto logo abaixo do diretrio /, como se fosse um mapa exato da localizao dele dentro da hierarquia do sistema, como por exemplo, o prprio /etc. Depois, quaisquer diretrios que existirem dentro do /etc vo ser indicados com uma nova /, para indicar que esto dentro do diretrio em questo. Ento, quando nos referimos ao diretrio /etc/apt, por exemplo, estamos dizendo que o caminho at aquele diretrio / > etc > apt, ou seja, o diretrio apt est dentro do diretrio etc, que est dentro do diretrio /..

1.2.

Diretrio /bin O diretrio /bin o diretrio que conter todos os binrios (o

equivalente aos executveis do Windows) dos comandos de alcance geral do sistema. Ou seja, ele o diretrio onde se encontram todos os comandos que qualquer usurio, root ou comum podero utilizar. Vamos ver o contedo do diretrio /bin:

http://www.treinatux.com.br

8/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ # ls /bin Podemos indicar um diretrio logo depois do comando ls, para que ele liste o contedo daquele diretrio sem que ns estejamos dentro dele. Todos os objetos retornados pelo comando so comandos. Entre eles, podemos citar: ls = comando que utilizamos para listar o contedo de um diretrio; cat = comando utilizado para visualizar o contedo de um ou mais arquivos; cp = comando utilizado para copiar um arquivo; Como voc pode perceber a partir do exemplo acima, todos os comandos do diretrio /bin so comandos bsicos, porm, essenciais para o funcionamento do sistema. - Todos os usurios podem utilizar os comandos do diretrio /bin.

2.3. Diretrio /sbin O diretrio /sbin centralizar os executveis de todos os comandos administrativos essenciais ao nosso sistema. # ls /sbin Todos os objetos retornados sero comandos administrativos. Podemos citar alguns exemplos: halt = comando de desligamento do sistema; reboot = comando de reinicializao do sistema;
http://www.treinatux.com.br 9/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ ifconfig = comando para configurao das placas de rede da mquina; mkfs = comando para formatar uma partio (adicionar um sistema de arquivos a ela); importante lembrar que apenas o root poder executar os comandos que se encontrarem dentro do diretrio /sbin. Os demais usurios no tero nem acesso a ele. Caso queira testar, no tty2 como tux, tente utilizar: $ cd /sbin O acesso daquele usurio ao diretrio ser negado. Um usurio comum no pode nem entrar no diretrio /sbin!

2.4.

Diretrio /etc Um dos diretrios mais importantes do sistema, o /etc vai conter

os arquivos de configurao de todos os aplicativos, funes e servios do sistema. etc = Editable Text Configuration = Configurao por texto editvel

Todos os arquivos presentes dentro do /etc so arquivos de configurao editveis por um editor de texto qualquer. Desta forma, a customizao do sistema como um todo fica muito mais fcil! # ls /etc Exemplo de arquivos de configurao dentro do /etc:

http://www.treinatux.com.br

10/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ inittab = arquivo de configurao de inicializao do sistema; sources.list = arquivo de configurao de repositrio utilizado pelo apt; passwd = registro da conta de todos os usurios do sistema; shadow = registro criptografado da senha dos usurios; Entre vrios outros arquivos que iremos estudar ao longo do curso.

2.5.

Diretrio /home O diretrio /home centraliza o diretrio home de todos os outros

usurios simples do sistema. Verifique sua estrutura interna: # ls /home O resultado do comando ser: /home/tux Mas este no o diretrio home do tux? Para recordar, d um pwd aps o login como tux, e voc ver que o diretrio home do tux mesmo o /home/tux. Dentro do diretrio /home existiro outros diretrios, cada um nomeado de acordo com um usurio comum dentro do sistema. Ou seja, por padro, o diretrio /home centralizar as homes de todos os outros usurios que no sejam o root.
http://www.treinatux.com.br 11/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ - Dizemos por padro porque ainda existe a possiblidade de se modificar o local do diretrio home dos usurios, porm no iremos entrar neste detalhe por enquanto.

2.6.

Diretrio /root Se o diretrio /home centraliza as homes dos usurios comuns, o

diretrio /root seguir o mesmo conceito, porm para o usurio root. neste diretrio que o root ir se logar por padro, e, teoricamente, guardar seus arquivos pessoais. # ls /root No temos nenhum arquivo l ainda, ento o comando no retornar nenhum resultado por enquanto.

2.7.

Diretrio /tmp O diretrio /tmp um diretrio muito especial: o diretrio de

arquivos temporrios. Ele destinado centralizao de arquivos temporrios gerados por servios ou processos, que normalmente precisam que

determinados dados sejam armazenados em arquivos que sero criados apenas temporariamente. Estes arquivos normalmente ficam

armazenados aqui at que os processos relacionados a eles sejam finalizados. # ls /tmp

http://www.treinatux.com.br

12/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ No existe nenhum arquivo l dentro. Vamos fazer um pequeno teste. Vamos ver como se comporta um arquivo dentro do diretrio, e para isso, utilizaremos o comando touch: # cd /tmp # pwd # touch arq.txt # ls Agora estamos dentro do diretrio /tmp e criamos um arquivo com o comando touch l dentro, chamado arq.txt. - O comando touch utilizado para criar arquivos vazios em um determinado diretrio, alm de tambm modificar a timestamp de um arquivo. Timestamp simplesmente a data e a hora de modificao de um arquivo. O grande diferencial do diretrio /tmp : todos os arquivos presentes dentro dele so apagados quando a mquina desliga ou reinicia! Vamos fazer o teste: # reboot Depois que a mquina reinicializar e o root estiver logado novamente no tty1: # ls /tmp No existe mais nenhum arquivo l dentro!

http://www.treinatux.com.br

13/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ importante ento ressaltar: nunca armazene nenhum arquivo importante neste diretrio, pois voc pode acabar desligando a mquina e perdendo o arquivo para sempre, caso no se lembre de tir-lo de l.

2.8.

Diretrio /usr O diretrio /usr um diretrio bem peculiar. Ele ir centralizar

todos os dados de programas no-essenciais (ou, melhor dizendo, auxiliares) para a configurao de seu sistema, o que inclui seus executveis, suas bibliotecas, seus arquivos variveis e vrios outros tipos de arquivos. Vamos ver o seu contedo: # ls /usr Veja que, dentro do diretrio /usr, existem diretrios muito parecidos com os diretrios que existem diretamente abaixo do diretrio raiz do Linux. Isso acontece porque os dados dos aplicativos noessenciais tambm devem ser organizados de forma lgica para que o administrador possa localiz-los. Mas o que so os aplicativos no-essenciais? So justamente os pacotes de programas que so baixados diretamente de um repositrio oficial da distribuio, mas que no necessrio para que o sistema bsico seja administrado. Se determinado aplicativo for de alcance geral, seu binrio (executvel) disposto dentro de /usr/bin, e se ele for um aplicativo de alcance administrativo, ele ser alocado para /usr/sbin, e as bibliotecas destes executveis se relacionaro em /usr/lib, por exemplo. Ilustrando de uma forma melhor, um navegador de internet em modo texto no necessrio para que um sistema GNU/Linux seja configurado e rode algum servio, ento os dados referentes quele
http://www.treinatux.com.br 14/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ navegador sero jogados dentro do /usr. Da mesma forma que um protetor de tela em modo texto, por exemplo.

2.9.

Diretrio /opt O diretrio /usr ir armazenar os dados de programas no-

essenciais, ou auxiliares, que forem adquiridos a partir de um repositrio oficial daquela distribuio. Porm, sempre existe a possiblidade de se instalar no Linux algum software proprietrio, mesmo que isso venha a ferir a filosofia do software livre. Para centralizar os dados referentes a esses softwares ser utilizado o diretrio /opt. Por padro, no teremos nenhum aplicativo proprietrio l dentro: # ls /opt Esse diretrio pode passar por toda a vida profissional de um administrador sem ser populado, pois quase sempre existiro opes open-source para substituir programas proprietrios.

2.10.Diretrio /boot O diretrio /boot ir conter os dados referentes ao gerenciador de inicializao instalado naquela mquina no momento. No nosso caso, instalamos o gerenciador GRUB durante a instalao bsica da mquina, ento os arquivos que, inicialmente, estiverem l dentro sero relacionados a ele. Verifique: # ls /boot
http://www.treinatux.com.br 15/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ Teremos uma aula especfica para tratar do gerenciador de inicializao. - Um gerenciador de inicializao nada mais do que um aplicativo de baixo nvel que ir selecionar o sistema operacional que ser inicializado naquela mquina. No nosso caso, utilizamos o GRUB. aquela primeira tela que aparece quando inicializamos a nossa mquina virtual, e nos oferece a opo de inicializao normal ou em recovery mode.

2.11. Diretrio /media O diretrio /media centralizar o ponto de montagem de dispositivos mdias removveis, como pendrives, cds, dvds, hds externos e afins. Os pontos de montagem sero correlacionados, na maioria das vezes, com o nome do dispositivo que estar sendo montado. Por exemplo, o ponto de montagem recomendado pela FHS para um CD-ROM o /media/cdrom. Pode ser que o seu sistema j tenha sido instalado com um diretrio relacionado ao ponto de montagem do CD-ROM l dentro do /media, porm no regra a existncia de um diretrio pr-criado l dentro. # ls /media - Ponto de montagem o local a partir de onde o contedo de um dispositivo poder ser acessado. Por exemplo, se o pondo de montagem do CD-ROM for /media/cdrom, poderemos acessar o contedo do CD simplesmente entrando dentro deste diretrio.

http://www.treinatux.com.br

16/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ 2.12. Diretrio /mnt O diretrio /mnt utilizado como ponto de montagem de dispositivos cujos dados sero partilhados entre duas ou mais mquinas em rede.

2.13. Diretrio /dev O diretrio /dev o responsvel por armazenar os arquivos representativos de cada um dos dispositivos presentes em sua mquina. O Linux trabalha com dispositivos de uma forma diferente: durante o boot da mquina, so criados arquivos referentes a cada um dos dispositivos plugados sua mquina, desde mouses e teclados at HDs e drivers de CD-ROM e DVD-ROM. Estes arquivos so utilizados diretamente pelo kernel, que ir extrair as informaes geradas nestes arquivos para interagir com os dispositivos. # ls /dev Exemplos de arquivos presentes dentro do /dev: - sda = arquivo referente a um disco rgido; - psaux = arquivo referente a um mouse que utiliza conexo PS/2; - cdrom = arquivo referente ao drive de CD-ROM; Iremos aprender a gerenciar estes dispositivos em uma aula especfica, onde estudaremos mais a fundo o /dev, seu sistema de arquivos, e como formatar e montar dispositivos e discos rgidos.

http://www.treinatux.com.br

17/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ 2.14. Diretrio /lib O diretrio /lib centralizar as bibliotecas utilizadas pelos binrios dos comandos existentes dentro do /bin e /sbin, assim como os mdulos utilizados pelo nosso kernel. Uma biblioteca nada mais que um pedao de cdigo externo utilizado por um ou mais executveis, para que um determinado comando ou aplicativo consiga executar uma tarefa especfica. Sem as bibliotecas, nenhum comando consegue ser executado em nosso sistema, e sem comandos, no h forma de se realizar absolutamente nenhuma funo a nvel de shell. Ento, o diretrio /lib um diretrio muito importante para o funcionamento de nosso sistema. Verifique seu contedo: # ls /lib Tambm iremos abordar o conceito de bibliotecas e mdulos em uma aula especfica.

2.15. Diretrio /var O diretrio /var ir armazenar todos os arquivos variveis do nosso sistema. Arquivos variveis so arquivos cujo contedo, por definio, sofrer mudanas frequentes. O melhor exemplo de arquivos variveis so os logs do sistema, localizados no diretrio /var/log.

http://www.treinatux.com.br

18/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ - Log um registro gerado pelo sistema afim de armazenar uma informao especfica sobre o funcionamento de algum programa, auxiliando muito o processo de administrao e monitoria de um servidor. # ls /var # ls /var/log Outro exemplo de arquivos variveis so pginas html e mails (mensagens) internas.

2.16. Diretrio /proc O diretrio /proc um diretrio utilizado diretamente pelo kernel, que centralizar os dados referentes a todos os processos que esto em execuo no momento. Liste seu contedo: # ls /proc Perceba que l dentro existem vrios diretrios que so nomeados com nmeros aparentemente aleatrios. Cada um destes diretrios so relacionados a um processo especfico, e dentro deles existem os arquivos que esto sendo utilizados por eles no momento. O diretrio /proc tambm ir centralizar outras informaes referentes execuo de determinadas tarefas pelo kernel.

http://www.treinatux.com.br

19/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ 2.17. Diretrio /sys O diretrio /sys o primo rico do /proc. Ele conter os mesmos dados presentes dentro do diretrio /proc, porm, de forma mais organizada para ns administradores. Se quiser, liste o seu contedo e verifique que os processos so divididos l dentro em sees: # ls /sys Ainda assim, mais comum gerenciar os dados dos processos pelo /proc, por questes de comodidade.

2.18. Diretrio /srv O diretrio /srv destinado centralizao de dados dos servios que sero configurados e utilizados por aquela mquina. Por exemplo, de acordo com a definio dada pela FHS, um servidor Apache deveria ser configurado dentro do diretrio /srv/www, enquanto um servidor FTP deveria ser configurado em /srv/ftp. Porm, o diretrio /srv o mais contradito entre as distribuies Linux. Vrios servios presentes nestas distribuies acabam sendo instalados em diretrios diferentes, como o prprio Apache no Debian, que instalado e gerenciado a partir do diretrio /var/www.

3. Navegando no sistema

3.1. Caminhos absolutos

http://www.treinatux.com.br

20/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ Agora que ns j estudamos sobre a utilizao de cada um dos diretrios principais do sistema, vamos aprender a navegar entre eles corretamente. O comando que utilizamos para navegar entre diretrios o comando cd. Sua sintaxe : $ cd [diretrio de destino] Como, por exemplo: $ cd /bin Vamos fazer testes com este comando. Para isso, vamos utilizar o root, no tty1. Primeiro, vamos padronizar o nosso diretrio inicial: # cd O comando cd desacompanhado de um diretrio faz a mudana de diretrio para o diretrio home do usurio em questo. Verifique: # pwd /root Pronto. Agora estamos no diretrio home do usurio root. Navegue um pouco entre os diretrios do sistema: # cd /var/log # pwd # ls

http://www.treinatux.com.br

21/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ # cd /etc/apt # pwd # ls # cd /home/tux # pwd # ls Note que, ao trocar de diretrio, estamos sempre verificando, com o comando pwd, onde realmente estamos. Alm disso, ainda listamos, com o comando ls, o contedo dos diretrios. Alm de tudo, perceba que, at aqui, sempre indicamos o caminho exato at o diretrio que queremos acessar, sempre partindo do diretrio /. Por exemplo, se queremos acessar o diretrio /proc/sys/kernel, utilizamos o comando: # cd /proc/sys/kernel O path daquele diretrio pode ser lido assim: / > proc > sys > kernel Onde o diretrio que estiver direita da seta um subdiretrio presente dentro do diretrio da esquerda. Nesta esquematizao, o diretrio kernel o subdiretrio mais baixo, pois est mais escondido, ou mais fundo dentro da rvore de diretrios do Linux. O caminho de um diretrio, ou de um arquivo, dentro do sistema, tambm chamado de path.

http://www.treinatux.com.br

22/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ rvore de diretrios o nome coloquial dado para a estruturao de diretrios do Linux, cujo formato realmente lembra o de uma rvore. Imagine o diretrio raiz (/) sendo o caule, e cada um dos diretrios principais (bin, boot, etc...) como sendo os galhos. A partir dos galhos, existiro outras ramificaes, que sero os subdiretrios presentes dentro dos principais, e assim por diante. Uma outra forma de se ler o path do diretrio kernel seria: /proc/sys/kernel = diretrio kernel, que est dentro do diretrio sys, que est dentro do diretrio proc, que est dentro do diretrio /. O caminho exato a partir do diretrio raiz at o diretrio ou o arquivo que queremos acessar chamado de caminho absoluto. a forma mais segura de se localizar um objeto na rvore de diretrios, pois serve como um mapa indicando a localizao exata daquele objeto dentro da rvore de diretrios. O caminho absoluto se caracteriza pela / que antecede todo o path do objeto. Exemplo de caminhos absolutos: /etc/apt/sources.list = caminho absoluto at o arquivo sources.list; /var/log/auth.log = caminho absoluto at o arquivo de log auth.log; /home/tux = caminho absoluto at o diretrio home do usurio tux; /root = caminho absoluto at o diretrio home do usurio root; / = caminho absoluto at o diretrio raiz.

http://www.treinatux.com.br

23/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ 3.2. Caminhos relativos Existe uma outra forma de se localizar um objeto dentro do sistema. Desta vez, podemos nos basear na localizao atual de um usurio para indicar o caminho at o diretrio ou arquivo. Vamos ver um exemplo: Primeiramente, vamos entrar no diretrio /etc: # cd /etc Agora, digamos que seja necessrio acessar o diretrio /etc/apt. Como j estamos no diretrio /etc, podemos simplesmente omitir boa parte do caminho absoluto que utilizamos at agora, e simplesmente indicar o diretrio que queremos acessar. # cd apt # pwd Perceba que agora entramos no diretrio /etc/apt sem fornecer o path a partir do diretrio /. A localizao de um diretrio ou arquivo, levando em

considerao a atual localizao do usurio no sistema, chamada de caminho relativo. Vamos a outro exemplo. Vamos tentar agora acessar o diretrio /proc/sys/kernel, partindo do diretrio /: # cd / Como j estamos no diretrio /, no precisamos indica-lo no path. O caminho, ento, seria:
http://www.treinatux.com.br 24/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ # cd proc/sys/kernel Isso mesmo, sem a / na frente do proc, pois j estamos no diretrio /. Faa um outro teste: # cd /proc Para acessar o diretrio kernel a partir do /proc: # cd sys/kernel # pwd Pronto, acessamos o diretrio /proc/sys/kernel sem utilizar o path absoluto do mesmo.

3.3. Caracteres de localizao Ainda h a possibilidade de se utilizar determinados caracteres no lugar dos paths, para que determinados diretrios sejam acessados. Os caracteres de localizao sero os caracteres representativos de locais especficos, que na maioria das vezes sero caminhos relativos tambm. Antes de mais nada, voc j deve ter percebido que, toda vez que mudamos de diretrio, o shell indica a nova localizao. Por exemplo, dentro do diretrio /proc/sys/kernel, como root, o shell assumir a seguinte forma: root@maquina:/proc/sys/kernel# Ou, no diretrio /etc:

http://www.treinatux.com.br

25/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ root@maquina:/etc# Isso acontece porque o shell padro do GNU/Linux, o bash, oferece estes indicativos visuais para que o usurio do shell se localize melhor no sistema, sem que seja necessrio o uso constante do pwd. - importante lembrar que apenas o shell bash oferece este suporte. Outros shells, como o sh ou o ksh, no oferecem nenhuma informao alm do caractere indicativo de usurio (# ou $). Agora, vamos entrar no diretrio /: # cd / Para acessar o diretrio home do usurio, podemos utilizar o cd sem nenhum caminho, apenas indicando um caractere especial: # cd ~ No Linux, o caractere ~ significa diretrio home. # pwd Perceba que agora estamos no diretrio home do usurio root. Este caractere tambm utilizado na linha de localizao fornecida pelo shell: root@maquina:~# Note que o ~ agora est onde antes existia o path da localizao do usurio. Isso significa que estamos na home do usurio root, /root. Agora: # cd /etc/apt Vamos testar outra funcionalidade do cd:

http://www.treinatux.com.br

26/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ # cd .. O caractere .. significa um nvel acima na rvore de diretrios. # pwd Agora estamos no diretrio /etc. Quando utilizamos o cd .., o usurio sai do diretrio atual onde se encontra, e cai no diretrio imediatamente anterior a ele, ou, melhor dizendo, acima dele. Em outras palavras, samos do /etc/apt e ficamos dentro apenas do /etc. Subimos um nvel na rvore de diretrios. Vamos voltar para o diretrio anterior: # cd O hfen (-) significa diretrio anteriormente visitado. Ou seja, podemos voltar para o diretrio que estvamos antes de entrarmos neste, fosse qual fosse. No caso, estamos novamente no /etc/apt. Teste de outra forma: # cd /boot # pwd # cd # pwd Entramos dentro do /boot, e depois voltamos para o /etc/apt, onde estvamos originalmente, com o - . Agora, vamos testar subir mais de um nvel: # cd ../../

http://www.treinatux.com.br

27/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ # pwd O diretrio atual ser o diretrio /. Podemos utilizar o .. vrias vezes neste formato para subir mais de um nvel na rvore de diretrios de uma nica vez. Teste de outra forma: # cd /proc/sys/kernel # pwd # cd ../../../ # pwd Desta forma, subimos trs nveis, e camos de volta no diretrio /. E, para finalizar, um caractere muito importante: # cd . # pwd No mudamos de diretrio? Isso mesmo, o . Significa diretrio atual. Ou seja, com o cd, o . no ir ter um resultado muito interessante, pois ele no vai trocar de diretrio. O . utilizado para vrios outros comandos, inclusive para shell script, para indicar em determinadas sintaxes que o diretrio destino de determinada ao ser o diretrio onde o usurio se encontrar no momento que ele executar a ao.

4. Consideraes finais

http://www.treinatux.com.br

28/29

TSO 01 Linux Bsico Captulo 4: Linux sob a FHS Entendendo a estrutura dos sistemas de arquivos _______________________________________________________________ Para se aprofundar nas funes de cada diretrio do Linux, acesse o documento oficial da FHS: http://www.pathname.com/fhs/

http://www.treinatux.com.br

29/29

You might also like