Aula 7.3 - Entenda o sistema de arquivos do Linux pelo terminal shell
Este artigo faz parte do projeto #LTCode
Um sistema de arquivos utiliza uma estrutura similar a uma árvore invertida, uma estrutura hierárquica. Sabendo disso, o diretório raiz seria a raiz da arvore que cresce para baixo com caminhos conectando diretórios e arquivos. Diretórios diretamente conectados por um caminho são chamados de Pais, os próximos da raiz e de Filhos os afastados da raiz. Um caminho de arquivo (pathname) é uma série de nomes que criam um traço do caminho passando pelos ramos de um arquivo a outro
No Linux, o diretório raiz é representado por uma barra "/" sozinha no lado esquerdo de um caminho de arquivo.
Embora variado, o tamanho máximo do nome de um arquivo tipicamente é de 255 caracteres. É recomendado evitar espaços em nomes de arquivos, pois o espaço é um caractere especial, portanto para referenciar esse arquivo no terminal é necessário colocar entre aspas ou escapar com um outro caractere especial.
Vamos a umas definições importantes:
- Caminho absoluto
- Caminho relativo
- / : diretório raiz, presente na estrutura de todo sistema de arquivos Linux.
- /bin : contém comandos binários essenciais, armazena os arquivos necessários para inicializar o sistema e executá-lo.
- /boot : possui arquivos estáticos do bootloader, contém todos os arquivos necessários para dar boot no sistema.
- /dev : contém todos os arquivos que representam dispositivos periféricos, como drivers de disco, terminais e impressoras já que no Linux tudo o que existe dentro da máquina pode ser tratado como sendo um dispositivo.
- /etc : mantém arquivos de administração, configuração e outros de sistema. Um dos mais importantes é /etc/passwd que contém uma lista de todos os usuários que possuem permissão de usar o sistema.
- /etc/opt : Arquivos de configuração para pacotes opcionais mantidos em /opt
- /etc/X11: Arquivos de configuração para o sistema de janela X
- /etc/modules.conf : Módulos de Kernel lidos no momento do boot.
- /home : contém diretórios pessoais de usuários, cada diretório pessoal do usuário é tipicamente um de muitos dos diretório no /home.
- /lib : contém bibliotecas compartilhadas, necessárias para carregar o sistema (boot) e execução dos comandos localizados na raiz do sistema de arquivos.
- /lib/modules : contém os módulos do kernel
- /media : ponto de montagem para dispositivos do sistema como rede, pendrives, CD-Room, etc.
- /mnt : pontos de montagem para montar sistemas de arquivos temporários,
- /opt : pacotes de software opcionais, instalados pelo usuário (não pelo gerenciador de pacote).
- /proc : sistema de arquivo virtual com informações do kernel e processos
- /proc/bus/pci : dispositivos PCI
- /proc/cmdline : parâmetros passados ao kernel durante inicialização
- /proc/cpuinfo : informações sobre a CPU
- /poc/dma : dispositivo DMA
- /poc/filesystem : sistema de arquivos suportado
- /poc/interrupts : quais dispositivos estão usando as interrupções do sistema
- /poc/ioports : portas de entrada e saída
- /poc/module : módulos carregados
- /poc/meminfo : informações sobre a memória
- /poc/mounts : partições existentes
- /poc/scsi/scci : dispositivos SCSI e comandos scsi_info
- /sbin : arquivos binários usados para no processo de boot e administração do sistema, executados somente pelo super usuário root.
- /sys : pseudo sistema de arquivos para dispositivos.
- /srv : responsável pelo armazenamento e compartilhamento de dados de serviços do sistema.
- /tmp : contém arquivos temporários criados por alguns programas.
- /root : diretório home do super usuário root, portanto é o único usuário que possui seu diretório fora da pasta /home.
- /usr : segunda maior hierarquia de diretórios, dados compartilháveis apenas para leitura.
- /usr/bin : contém maioria dos comandos de usuários.
- /usr/games : jogos e programas educacionais
- /usr/include : arquivos de cabeçalhos usados por programas em C/C++.
- /usr/lib : bibliotecas compartilhadas do /usr/bin e /usr/sbin.
- /usr/local : armazena arquivos e diretórios de importância local.
- /usr/sbin : contém binários de administração de sistema não-vitais.
- /usr/share : contém dados independentes de arquitetura.
- /usr/share/doc : documentações.
- /usr/share/info : diretório principal do sistema GNU info.
- /usr/share/man : manuais online.
- /usr/src/ : código-fonte do kernel.
- /var : contém arquivos com conteúdo que variam durante a execução do sistema.
- /var/cache : cache de dados de aplicações.
- /var/log : contém lastlog (registro do último login de cada usuário), messages (mensagem de sistema do syslogd) e wtmp (registro de todos os login/logout), entre outros.
- /var/spool : contém dados de aplicação spool, como anacron, at, cron, lpd, main, mqueue, samba e outros diretórios. Tarefas em espera para execução.
- /var/lock : arquivos de lock usados para manter controle sobre recursos em uso.
- /var/run : usado por aplicativos para indicar que está sendo executado.
- /var/mail : arquivos de email.
- /var/opt : arquivos temporários dos programas localizados em /opt/ .
COMENTÁRIOS