Filesystem Hierarchy Standard
O Filesystem Hierarchy Standard (FHS) é uma referência que descreve as convenções usadas para o layout de um sistema UNIX. Tornou-se popular por seu uso em distribuições Linux, mas também é usado por outras variantes do UNIX.
Estrutura de diretório
No FHS, todos os arquivos e diretórios aparecem no diretório raiz /, mesmo que estejam armazenados em diferentes dispositivos físicos ou virtuais.
- / – Raiz da hierarquia primária e diretório raiz de toda a hierarquia do sistema de arquivos.
- /bin – Binários de comandos essenciais que precisam estar disponíveis no modo de usuário único, inclusive para ativar o sistema ou repará-lo, para todos os usuários (cat, ls, cp).
- /boot – Arquivos do carregador de inicialização (kernels, initrd).
- /dev – Arquivos de dispositivo (/dev/null, /dev/disk0, /dev/sda1, /dev/tty, /dev/random).
- /etc – Arquivos de configuração de todo o sistema específicos do host. Tem havido controvérsia sobre o significado do próprio nome. Nas primeiras versões do Documento de Implementação UNIX dos laboratórios Bell, /etc é referido como o diretório etcetera, já que este diretório historicamente mantinha tudo que não pertencia a outro lugar (entretanto, o FHS restringe /etc a arquivos de configuração estáticos e pode não conter binários ).
- /home – Diretórios pessoais dos usuários, contendo arquivos salvos, configurações pessoais, etc.
- /lib – Bibliotecas essenciais para os binários em /bin e /sbin.
- /media – Pontos de montagem para mídia removível, como CD-ROMs.
- /mnt – Sistemas de arquivos montados temporariamente.
- /opt – Pacotes de software de aplicativo complementar.
- /proc – Sistema de arquivos virtual que fornece informações de processo e kernel como arquivos. No Linux, corresponde a uma montagem procfs. Geralmente, gerados e preenchidos automaticamente pelo sistema, em tempo real.
- /root – Diretório inicial para o usuário root.
- /run – Dados variáveis de tempo de execução: informações sobre o sistema em execução desde a última inicialização, usuários conectados no momento e daemons em execução. Os arquivos nesse diretório devem ser removidos ou truncados no início do processo de inicialização, mas isso não é necessário em sistemas que fornecem esse diretório como um sistema de arquivos temporário (tmpfs).
- /sbin – Binários essenciais do sistema (fsck, init, route).
- /srv – Dados específicos do site servidos por este sistema, como dados e scripts para servidores web, dados oferecidos por servidores FTP e repositórios para sistemas de controle de versão.
- /sys – Contém informações sobre dispositivos, drivers e alguns recursos do kernel.
- /tmp – Diretório para arquivos temporários (consulte também /var/tmp). Frequentemente não é preservado entre as reinicializações do sistema e pode ter um tamanho severamente restrito.
- /usr – Hierarquia secundária para dados de usuário somente leitura; contém a maioria dos utilitários e aplicativos (multi-)usuário. Deve ser compartilhável e somente leitura.
- /var –
- Arquivos variáveis: arquivos cujo conteúdo deve mudar continuamente durante a operação normal do sistema, como logs, arquivos de spool e arquivos temporários de e-mail.
Comandos do Linux
Manipulação de diretório no Linux
- pwd
- Obtenha o caminho completo do diretório de trabalho atual.
- cd –
- Navegue até o último diretório em que você estava trabalhando.
- cd ~
- ou apenas cd Navegue até o diretório inicial do usuário atual.
- cd ..
- Vá para o diretório pai do diretório atual (cuidado com o espaço entre cd e ..)
Listando arquivos dentro de um diretório
- ls-l
- Liste os arquivos e diretórios no diretório atual em formato longo (tabela) (recomenda-se usar -l com ls para melhor legibilidade).
- ls-ld
- dir-name Lista informações sobre o diretório dir-name em vez de seu conteúdo.
- ls -a
- Liste todos os arquivos, incluindo os ocultos (nomes de arquivos começando com . são arquivos ocultos no Linux).
- ls -F
- Anexa um símbolo no final de um nome de arquivo para indicar seu tipo (* significa executável, / significa diretório, @ significa link simbólico, = significa soquete, | significa pipe nomeado, > significa porta).
- ls-lt
- Liste os arquivos classificados pela hora da última modificação com os arquivos modificados mais recentemente exibidos na parte superior (lembre-se que a opção -l fornece o formato longo que tem melhor legibilidade).
- ls -lh
- Liste os tamanhos de arquivo em formato legível por humanos.
- ls -lR
- Mostra todos os subdiretórios recursivamente.
- tree
- Irá gerar uma representação em árvore do sistema de arquivos a partir do diretório atual.
Arquivo ou Diretório – Criar, Copiar e Remover
- cp -p origem destino
- Irá copiar o arquivo da origem para o diretório de destino. -p significa preservação. Ele preserva os atributos originais do arquivo durante a cópia, como proprietário do arquivo, registro de data e hora, grupo, permissões, etc.
- cp -R origem destino
- Irá copiar o diretório de origem para o destino especificado recursivamente.
- mv arquivo1 arquivo2
- No Linux, não há comando de renomeação como tal. Portanto, mv move/renomeia o arquivo1 para arquivo2.
- rm -i filename
- Pergunta antes de cada remoção de arquivo para confirmação. SE VOCÊ É UM NOVO USUÁRIO DA LINHA DE COMANDO DO LINUX, SEMPRE DEVE USAR rm -i. Você pode especificar vários arquivos.
- rm -R nome do diretório
- Irá remover o diretório dir-name recursivamente.
- rm -rf nome do diretório
- Irá remover o diretório dir recursivamente, ignorando arquivos inexistentes e nunca solicitará nada. CUIDADO AO USAR ESTE COMANDO! Você pode especificar vários diretórios.
- rmdir nome do diretório
- Irá remover o diretório dir-name, se estiver vazio. Este comando só pode remover diretórios vazios.
- mkdir nome do diretório
- Crie um diretório dir-name.
- mkdir -p nome do diretório/nome do diretório
- Crie uma hierarquia de diretórios. Crie diretórios pai conforme necessário, se eles não existirem. Você pode especificar vários diretórios.
- touch nome do arquivo
- Crie um nome de arquivo de arquivo, se não existir, caso contrário, altere o registro de data e hora do arquivo para a hora atual.
Comandos de Permissões e Grupos
- chmod < especificação > nome do arquivo
- Altere as permissões do arquivo. Especificações = u usuário, g grupo, o outro, + adicionar permissão, – remover, r ler, w escrever, x executar.
- chmod -R < especificação > dir-name
- Altere as permissões de um diretório recursivamente. Para alterar a permissão de um diretório e tudo dentro desse diretório, use este comando.
- chmod go=+r meuarquivo
- Adicione permissão de leitura para o proprietário e o grupo.
- chmod a +rwx meuarquivo
- Permita que todos os usuários leiam, escrevam ou executem myfile.
- chmod go -r meuarquivo
- Remova a permissão de leitura do grupo e de outros.
- nome de arquivo chown owner1
- Altere a propriedade de um arquivo para o usuário owner1.
- chgrp grp_owner nome do arquivo
- Altere a propriedade do grupo principal do arquivo filename para o grupo grp_owner.
- chgrp -R grp_owner nome do diretório
Cursos e treinamentos
- Cursos gratuitos com certificado: https://cursodevops.com.br/cursos-devops-gratuitos/