Visão Geral da Estrutura de Diretórios do Linux - Entendendo a Hierarquia do Sistema de Arquivos
"Tem cd /etc, depois /var/log, esses lugares diferentes ficam aparecendo... o que são todos eles?" Essa é uma dúvida que todo mundo encontra ao começar a usar o Linux. Neste artigo, por meio de um diálogo entre o veterano Linny e a Lina, vamos construir juntos um mapa mental da estrutura de diretórios do Linux.
O que você vai aprender
- Que o sistema de arquivos do Linux é uma única árvore que se ramifica a partir de
/(a raiz) - Os papéis de diretórios importantes como
/etc,/var,/homee/bin - O FHS (Filesystem Hierarchy Standard), uma convenção mundial
- O que realmente são diretórios virtuais como
/proc,/deve/sys - Como verificar sua localização para nunca se perder
1. Introdução: O que é um Sistema de Arquivos?
Documents no Linux, só lugares de que nunca ouvi falar, como /etc e /usr. Eu vivo me perdendo...O que é um sistema de arquivos?
No Linux, cada arquivo e pasta (diretório) se ramifica a partir de um único ponto de partida, formando uma estrutura em forma de "árvore". Esse ponto de partida é chamado de diretório raiz, escrito como / (uma única barra).
/. Lembre-se disso e todo o resto fica bem mais fácil.Por que conhecer a estrutura compensa
- Você consegue prever onde ficam os arquivos de configuração (geralmente dentro de
/etc) - Você sabe onde ficam os logs (geralmente
/var/log) - Você consegue fazer um palpite fundamentado a partir de um caminho em uma mensagem de erro ("ah, isso é uma área do sistema")
- Você para de hesitar sobre "onde devo colocar o quê?"
2. O Ponto de Partida: "/" (raiz)
Conclusão:
/(raiz) é o diretório mais alto e o ancestral de todos os arquivos no Linux.
/ de antes, é uma pasta em si?/ é o diretório mais alto, o ancestral de todos os arquivos. Vamos dar uma olhada dentro dele.$ ls / bin dev home lib mnt proc run srv tmp var boot etc lib64 media opt root sbin sys usr
FHS (Filesystem Hierarchy Standard)
Uma especificação padrão que define o que vai em cada diretório. Graças a ele, tanto no Ubuntu quanto no CentOS, "a configuração fica em /etc" e "os logs ficam em /var/log" estão quase no mesmo lugar. O motivo de você não se perder ao trocar de distribuição é esse padrão.
3. Um Mapa dos Principais Diretórios
Conclusão: Agrupe os principais diretórios em conjuntos: pessoas, sistema e dados que mudam.
/ <- o ponto de partida de tudo (raiz) ├── bin <- comandos básicos (ls, cp, etc.) ├── boot <- arquivos necessários para inicializar ├── dev <- dispositivos (discos, USB, etc.) ├── etc <- arquivos de configuração de todo o sistema ├── home <- pastas pessoais de cada usuário │ └── yamada <- o "quarto próprio" do yamada ├── lib <- bibliotecas compartilhadas (partes de programas) ├── opt <- softwares extras que você adicionou ├── proc <- informações sobre processos em execução (virtual) ├── root <- pasta pessoal do usuário administrador (root) ├── tmp <- arquivos temporários (apagados ao reiniciar) ├── usr <- onde ficam aplicativos e binários de comandos └── var <- dados que mudam (logs, etc.)
home e root parecem parecidos. São coisas diferentes?/home/nome-do-usuario é o quarto de um usuário comum, enquanto /root é o quarto exclusivo do administrador. Os nomes parecem iguais, mas são todos diferentes: o diretório raiz / e o quarto do administrador /root. São fáceis de confundir, então vou esclarecer isso mais adiante.Memorize em 3 grupos aproximados
| Grupo | Diretórios | Em uma frase |
|---|---|---|
| Pertence às pessoas | /home, /root |
Armazenamento de arquivos pessoais |
| Pertence ao sistema | /etc, /bin, /usr, /lib |
Configuração e binários de programas |
| Muda durante a execução | /var, /tmp, /proc, /dev |
Logs, temporários, informações ao vivo |
4. Um Olhar Mais Atento sobre os Diretórios Comuns
Conclusão: Suas coisas ficam em
/home, a configuração em/etc, os logs em/var/log, os binários em/usr/bin.
/home - Seu espaço de trabalho
Um diretório pessoal para cada usuário. Para um usuário chamado yamada, é atribuído /home/yamada, e no terminal você pode escrevê-lo como ~ (til).
$ cd ~ $ pwd /home/yamada
Quase toda a criação e edição de arquivos do seu dia a dia acontece aqui dentro. Basta lembrar: suas próprias coisas vão dentro de /home e você está seguro.
/etc - O depósito de arquivos de configuração
O lugar onde se reúnem os arquivos de configuração de todo o sistema.
$ ls /etc hostname hosts passwd ssh network ...
passwd tem senhas escritas dentro dele!?/etc/passwd é informação de conta de usuário, e as senhas em si não estão nele (as senhas criptografadas de verdade ficam em /etc/shadow). Lembre-se: o conteúdo de /etc é basicamente "somente leitura", e editar muitos deles exige privilégios de administrador./var - Dados em constante mudança
Abreviação de "variable" (variável). Dados que crescem e diminuem ficam aqui. O que os iniciantes mais usam são os logs.
$ ls /var/log syslog auth.log dpkg.log ...
O primeiro lugar para olhar ao solucionar problemas é /var/log. "Algo está errado, então vou verificar os logs aqui" é um movimento básico até nas operações do mundo real.
/bin e /usr/bin - Os binários dos comandos
Os "corpos reais" dos comandos que você digita, como ls e cp, ficam aqui.
$ which ls /usr/bin/ls
ls era um comando, mas é um arquivo?/usr/bin e similares. Você pode verificar sua localização com which nome-do-comando. Nas distribuições recentes, /bin costuma ser um atalho (link simbólico) para /usr/bin./tmp - Armazenamento temporário
Um lugar para arquivos temporários. O conteúdo costuma ser apagado ao reiniciar, então nunca coloque arquivos importantes aqui.
/tmp é "só para coisas que podem desaparecer". Salvar dados importantes de trabalho em andamento aqui, depois reiniciar e perdê-los é um acidente clássico de iniciante. Use sempre algum lugar dentro de /home para salvar coisas.
/opt e /root (notas rápidas)
- /opt: Um lugar onde softwares maiores instalados posteriormente podem ficar
- /root: A pasta pessoal do administrador (usuário root). Usuários comuns não podem entrar nela (recebem
Permission denied)
5. Os Diretórios Virtuais /proc /dev /sys
Conclusão:
/proc,/deve/syssão virtuais e expõem o estado ao vivo do sistema, não arquivos.
ls em /proc, apareceram montes de pastas numeradas e foi assustador.../proc é um diretório que não existe fisicamente no disco. É o Linux mostrando "o estado atual de execução" na hora, como um balcão de informações.| Diretório | Conteúdo | Imagem |
|---|---|---|
/proc |
Info sobre processos em execução | O "balcão de check-up" do sistema |
/dev |
Dispositivos (discos, USB, etc.) | As "portas de conexão" com o hardware |
/sys |
Info do kernel e do hardware | Uma "janela de espiada" para configurações internas |
$ cat /proc/cpuinfo # você pode ver informações da CPU $ ls /dev/sda* # dispositivos de armazenamento
Estes são "informações fingindo ser arquivos". Você não precisa entender totalmente o mecanismo ainda. Basta saber que "existem caixas especiais sem substância real".
6. Dicas para Nunca se Perder
Conclusão: Quando se perder, use
pwdpara se localizar,cd /para a raiz ecd ~para o seu home.
O conjunto de 3 peças da localização atual
$ pwd # onde estou agora? (mostra o caminho absoluto) $ ls # o que tem aqui? $ cd / # volta para a raiz e recomeça
cd / me leva de volta para o topo de tudo.cd / leva você de volta à raiz, e de lá você segue os ramos um a um com ls, e sempre chegará ao seu destino. É a sensação de voltar à raiz da árvore. E cd ~ leva você direto de volta ao seu próprio quarto (home).Caminhos absolutos vs caminhos relativos
| Tipo | Exemplo | Significado |
|---|---|---|
| Caminho absoluto | /var/log/syslog |
Um endereço completo escrito a partir de / |
| Caminho relativo | log/syslog |
Direções a partir de onde você está agora |
Na dúvida, use um caminho absoluto (um que começa em /) para ter certeza. A força de um caminho absoluto é que "ele aponta para o mesmo lugar não importa onde você esteja".
Mini Exercícios
Conclusão: Execute
ls /, volte comcd ~e encontre um binário comwhich lspara praticar.
Exercício 1: Explore a raiz
Execute ls / e verifique se os diretórios que apareceram neste artigo (etc, var, home, etc.) realmente existem.
Exercício 2: Volte para o seu quarto
Execute cd /etc para entrar no depósito de configurações, depois verifique sua localização com pwd. Em seguida, execute cd ~ para voltar ao seu home e confirme novamente com pwd.
Exercício 3: Veja a verdadeira forma de um comando
Execute which ls e verifique em qual diretório está o binário do comando ls. Era /usr/bin ou /bin?
/etc, consigo voltar instantaneamente para o meu quarto com cd ~, então não tenho mais medo./) ou para o seu quarto (~). Esse é o básico de se mover entre diretórios.Recapitulação
/ é o ponto de partida, e home, etc e var se ramificam a partir daí!/home", "a configuração em /etc", "os logs em /var/log". Só com esses três você já vai longe no trabalho do mundo real.Resumo em Três Linhas
- O Linux é uma única árvore que começa em
/(a raiz). Não há letras de drive - Os três mais importantes: suas próprias coisas em
/home, a configuração em/etc, os logs em/var/log - Quando se perder:
pwdpara verificar a localização,cd /para a raiz,cd ~para o seu próprio quarto