Mind map
Linux

Map content
Linux
Características
- LSB
- Linux Standard Base - é um padrão para as diversas distribuições linux seguirem para manter a interoperabilidade entre os sistemas.
- Kernel
- é o núcleo do sistema, a parte mais próxima do hardware. é ele que possibilidade a comunicação entre o usuário e o hardware.
- Multitarefa
- executa vários programas/processos simultaneamente, o kernel garante os recursos necessários para sua execução.
- Multiusuário
- suporta conexões simultaneas de diversos usuário, isolando as atividades de cada um.
- Modularidade
- O modulo de driver do kernel suporta que modulos sejam carregados dinamicamentes sem afetar o desempenho.
- Portabilidade
- pode ser adaptado para ser executado em várias arquiteturas de hardware facilmente.
- Diretórios Hierarquicos
- FHS - define os principais diretórios de um sistema linux. A hierarquia facilita a manipulação e a localização das informações.
- Pipelines
- permite conectar a saída de um comando com a entrada de outro.
- Sistema de Arquivos Externos
- Há suporte a sistemas de arquivos de qualquer outros SO.
- Memória Virtual
- para permitir a execução de programas cujo tamanho venha ser superior ao da memória física
- Distribuições
- Há diversas distribuições, para as mais diversas necessidades.
- LSB
Arquitetura
- É dividida em camadas.
- System Call Interface
- SCI - é uma camada que permite aos ususários fazerem chamadas de função.
- Gerenciamento de Processos
- o kernel do linux realiza o gerenciamento dos processos, inclusive hardware, como a memória.
- Sistema de Arquivos Virtual
- Fornece uma camada de comunicação entre a interface de chamada de sistema e os sistemas de arquivos suportados pelo kernel.
- Pilha de Rede
- é modelada independemente dos próprios protocolos, e fornece uma interface para um variedade de protocolos da rede
Shell Script
- É o interpretador de comandos do Linux. Responsável por viabilizar a comunicação do usuário com o Kernel, mas não faz parte do kernel
- Interpretação
- é uma linguagem de comando baseada no conceito de interpretação.
- Automatização
- Pode ser usado com o objetivo de automatizar sequencias de tarefas que são repetidas várias vezes
- Scripts
- São programas contendo sequencias de comandos que são interpretados pelo shell, linha após linha.
- Shell
- Na linha inicial do script deverá contér qual será a shell deverá interpretar aquela sequencia de comandos quando o arquivo for executado.
- #!
- a primeira linha do script sempre deverá começar com #! ex.: #!/bin/bash
Ambiente Gráfico
- Não é parte nativa do kernel do Linux. O emprego da interface gráfica é possibilitado pelo X-Windows.
- X-Window
- protocolo padrão para interface gráfica no linux.
- Servidor X
- é o programa que provê a interface gráfica para os usuários e permite a execução de aplicações gráficas.
Gerenciamento
- Gerenciamento de Processos
- Faz parte do kernel e é o responsável pelo escalonamento dos processos e pela divisão de tempo de CPU entre os processos.
- INIT
- É o pai de todos os processos, criado pelo kernel quando o Linux é iniciado. É o processo número 0.
- Chamadas de Sistema
- São requisições feitas pelos processos para criar subprocessos, gerenciar memória, ler e escrever arquivos. As mais comuns são exit e kill.
- Controle de Processos
- é feito através de um conjunto de características como proprietário do processo. Seu estado, prioridade de execução e recursos de memória.
- PID
- É o número de cada processo. Cada processo possui um processo pai (exceto o init) que é identificado pelo PPID
- UID e GID
- é usado para controlar os privilégios do usuário e/ou do grupo
- Processos em Execução
- ps -aux ps -l top
- Processos em Background
- # comando & executa os comandos em background, liberando a shell para outras atividades.
- Foreground
- São os processos executados na tela. A shell só é liberada após sua finalização.
- Daemon
- É um processo executado em background sem tempo de execução definido. Pode ser executado por tempo indeterminado.
- Utilidade
- Realizar rotinas e tarefas como paginação de memórias, solicitações de login, transferência de arquivos, etc.
- Cron
- É uma daemon que permite o agendamento de tarefas.
- Sinais de Sistema
- É uma notificação de software enviada por um determinado processo ou pelo sistema operacional, relativo a um evento ocorrido. Outros processos podem respondem a essa notificação.
- Comunicação entre processos
- É parte essencial do Linux. Alguns processos podem necessitar de informações de outros processos.
- Kill
- kill [pid] kill -9 [pid] é utilizado quando queremos terminar um processo.
- Nohup
- nohup arquivo utilizado para manter o processo funcionando mesmo após o encerramento da sessão.
- Gerenciamento de Processos
Gerenciamento de Pacotes
- Pacote
- É um arquivo que contém uma aplicação ou biblioteca, scritps de instalação e dados como sua descrição e pré-requisitos.
- Formatos
- .deb - distribuições baseadas em debian .rpm - distribuições baseadas em redhat
- RPM
- é a principal ferramenta para instalar, desinstalar e atualizar pacotes .rpm. (não resolve as dependencias automáticamente)
- DPKG
- é a principal ferramenta para instalar, desinstalar e atualizar pacotes .deb. (não resolve as dependencias automáticamente)
- APT
- é um ferramenta de gerenciamento de pacotes utilizadas na distribuição Debian e suas variantes, que trata de forma automática problemas com dependências entre pacotes
- Banco de Dados
- Possui um banco de dados que armazena as informações dos pacotes instalados no sistema e as utiliza para instalar, remover e atualizar os pacotes da maneira correta.
- Arquivos de Configuração
- /etc/apt/apt.conf.d - configurações de proxy, timeout, entre outras. /etc/apt/sources.list - indica os repositorios que serão usados.
- APT-GET
- comando utilizado para instalar, remover e atualizar pacotes.
- Exemplos
- apt-get update apt-get install ___ apt-get remove ___ apt-cache search ___
- Pacote
Gerenciamento de Usuários
- Grupo
- É um agrupamento lógico para facilitar o gerenciamento dos usuários com necessidades e caracteristicas semelhantes.
- GID
- é o identificador do grupo, é único, ficam contidas nos arquivos: /etc/gshadow e /etc/group
- Campos
- nomedogrupo:senhadogrupo:GID:listadeusuarios
- Criação
- Podem ser criados pelos comandos ADDGROUP ou GROUPADD
- UID
- UserID - número que o sistema usa para identificar o usuário de forma única.
- Informações dos usuários
- Ficam armazenadas nos arquivos /etc/passwd e /etc/shadow. Cada usuário possui um diretório home e um shell (interpretador de comandos.)
- /etc/shadow
- Armazena um hash da senha do usuário, e não a senha propriamente dita. Aumenta a segurança do sistema.
- nome do usuário : senha criptografada : última alteração da senha em dias : número de dias que o usuário deve aguardar para trocar sua senha : número de dias antes da senha expirar : número de dias após a senha ter sido expirada em que a conta será desabilitada : número de dias em que a conta será desabilitada.
- /etc/passwd
- nome de usuário : hash da senha criptografada : UID : GID : campo com nome e contato : diretório de trabalho : interpretador de comandos associado ao usuário.
- Root
- ou superusuário - tem permissão para acessar qualquer recurso ou executar qualquer software. Seu UID é o 0
- Usuários administrativos
- Há usuários que não podem fazer login e são usados apenas para tarefas administrativas. Ex.: bin, daemon, sys
- Tipos de contas de usuários
- Root
- usada pelo administrador. possui acesso irrestrito a todos os recursos do sistema.
- Contas de Sistema
- usadas por serviços e gerenciamento de processos.
- Contas de Usuário
- Root
- Grupo
Gerenciamento de Dispositivos
- Módulo
- Separa os drivers em pequenos arquivos para serem carregados pelo kernel conforme a necessidade. Quando são carregados funcionam como se fosse uma parte do kernel, tendo as mesmas permissões.
- /dev
- diretório onde se encontram os dispositivos por meio do qual os programas podem utiliza-lo.
- Permissões
- As mesmas permissões aplicadas a usuários, são aplicadas aos dispositivos podendo ser definido que usuário usa qual dispositivo.
- lsmod
- lista os modulos do kernel
- insmod
- carrega um módulo manualmente
- modprobe
- alem de inserir o módulo especificado é possível inicia-los automáticamente os modulos adicionais, dependecias, utilizadas pelo módulos que foi específicado.
- rmmod
- remove os modulos que foram carregados.
- Hotplug
- é um subsistema do linux que detecta e gera eventos sempre que um novo dispositivo é conectado, além de identifica-los durante o boot do sistema.
- lspci
- lista os dispositivos pci conectados no pc.
- lspcu
- exibe diversos parâmetros do processador.
- lshw
- exibe informações detalhadas a respeito do hardware instalado no pc.
- lsusb
- exibe informações sobre os barramentos usb disponíveis.
- /proc
- fonte de informações sobre o hardware instalado no pc. /proc/cpuinfo /proc/meminfo /proc/devices
- Módulo
Gerenciamento de Rede
- Comandos
- ifconfig
- é utilizado para verificar ou atribuir um endereço de rede a uma interface. Somando aos comando up ou down, pode habilitar ou desabilitar a interface.
- traceroute
- é usado para verificar a conectividade dos roteadores até o destino.
- netstat
- verifica ou lista as conexões ativas.
- -r
- permite listar a tabela de roteamento
- ifconfig
- Serviços de Rede
- NIS
- Comandos
Estrutura de Diretórios
- é hierarquica em decorrência do FHS.
- Atenção
- Há pequenas váriações em algumas distribuições
- /
- diretório raiz e origem da árvore hierarquica.
- /bin
- binários do sistema utilizados pelos usuários
- /boot
- arquivos de inicialização do sistema
- /dev
- arquivos de dispositivos de entrada e saída.
- /etc
- arquivos de configuração, scripts de inicialização de serviços, entre outros
- /etc/fstab
- arquivos de configuração de pontos de montagem.
- /home
- diretórios pessoais dos usuários
- /lib
- bibliotecas compartilhadas pelos programas e sistemas.
- /mnt
- diretório utilizados como ponto de montagens das midias removiveis.
- /opt
- utilizado para instalação de pacotes adicionais, que não fazem parte da distribuição
- /proc
- diretório virtual que contém o sistema de arquivos do kernel.
- /root
- diretório pessoal do usuário root.
- /sbin
- comando de administração do sistema utilizados pelo root.
- /tmp
- arquivos temporários de sistemas e programas.
- /usr
- programas de uso geral do sistema.
- /var
- arquivos de tamanho variável como logs, cache, etc.
- Diretório
- é um contêiner ou representação lógica usadas nos sistemas de arquivos dos SO. Agrupa arquivos ou pastas em um lugar comum.
- Inode
- é uma estrutura de dados usada para representar um objeto, identificação única de um diretório ou arquivo.
Arquivos
- Atributos
- São armazenados na estrutura dos arquivos correspondentes. As informações são criadas e utilizadas conforme os arquivos vão sendo manipulados.
- Nome
- nome do arquivo
- Localização
- de onde está armazenado
- Tamanho
- do arquivo em bytes
- Ligações
- nomes pelos quais o arquivo é reconhecido
- Propriedades
- usuário dono do arquivo.
- Grupo
- grupo de usuários que pode ter acesso ao arquivo.
- Tipo
- do arquivo
- Criação
- data de criação..
- Modificação
- data de modificação.
- Acesso
- data do ultimo acesso
- Permissão
- permissões de acesso.
- Permissões de Arquivos
- todo arquivo ou diretório é associado a um usuário que é chamado de dono.
- Permissões de Acesso
- Determina as operações que um usuário, seu grupo e outros usuários podem realizar.
- r
- read - permissão apenas de leitura 4
- w
- write - acesso para leitura e gravação 2
- x
- execute - permite executar o arquivo. 1
- Grupos de RWX
- podem representar as permissões de acordo com a posição do bit. Cada grupo possui 3 bits
- 1º bit
- permissão de leitura
- 2º bit
- permissão de escrita
- 3º bit
- permissão de execução
- Variações
- 7 = rwx 6 = rw 4 = r 3 = wx 2 = w 1 = x
- Exemplo
- Arquivo com permissão 764 dono = ler, escrever e executar grupo = ler e escrever outros = ler
- Comuns
- a estrutura básica usada pelo linux para armazenar informações é a de arquivos. seu nome pode ter até 255 caracteres.
- de Dispositivos
- o sistema de arquivos também é usado para tratar os dispositivos de E/S. São manipulados como arquivos especiais do sistema.
- Orientado a caractere
- realizam suas transferências de dados byte a byte.
- Orientado a bloco de caractere
- realizam as transferências em blocos de tamanho que podem variar de 512 bytes a 32 Kbytes.
- Nomes individuais
- por padrão, todos os dispositivos no linux recebem nomes individuais e ficam armazenados no diretório /dev.
- Links
- ln - [opções] origem [destino]
- Sockets
- São mecanismos para a troca de dados entre os processos remotos.
- Localização
- os processos podem estar sendo executados no mesmo pc ou em pcs distintos.
- Tráfego
- Depois que o socket é estabelecido, o tráfego pode funcionar nos dois sentidos.
- IPC
- Inter Process Communication - é usado para comunicação entre processos em um mesmo SO.
- Socket de rede
- é usado para a comunicação de processos em computadores diferentes interligados por uma rede.
- Funcionamento
- cada socket de rede representa a conexão entre dois processos através de uma conexão de rede.
- Identificação
- cada socket tem seu próprio número de identificação que é composto por IP e Porta.
- Criação e Remoção
- Pode ser criado pode um chamada de sistema SOCKET e removido através do comando RM ou da chamada de sistema CLOSE
- Atributos
Comandos Básicos
- Navegação em diretórios
- . - representa o diretório corrente .. - representa o nível acima do diretório corrente.
- pwd
- mostra o caminho completo do diretório corrente
- cd
- change directory - usado para navegação de diretórios
- Manipulação de arquivos
- ls
- lista os arquivos e pastas do diretório corrente
- -l
- lista no formato longo, com mais detalhes como: tipo de arquivo, permissão, número de links, dono, grupo, tamanho em bytes, data da ultima alteração, nome
- chown
- altera o dono do arquivo. # chown dono arquivo
- chgrp
- altera o grupo do arquivo # chgrp grupo arquivo
- chmod
- altera as permissões de um arquivo.
- Exemplo
- # chmod +r arquivo (atribui permissão de leitura) # chmod g -x arquivo (tira permissão de execução do grupo)
- Touch
- é usado para modificar o horário de acesso e modificação de um determinado arquivo. # touch [opções] arquivo
- mkdir
- usado para a criação de diretórios
- cp
- faz a cópia de arquivos. # cp - [opções] origem destino
- -r
- opção recursiva, faz a cópia de diretórios.
- scp
- faz cópias de segurança usando o protocolo ssh.
- rm
- usado para remover arquivos # rm - [opçoes] arquivo/pasta
- -r
- faz a remoção de diretórios.
- rmdir
- faz a remoção de diretórios sem conteúdo.
- mv
- usado para movimentar ou renomear um arquivo # mv - [opções] origem destino
- rename
- usado para renomear arquivos podendo trocar apenas parte do nome. # rename .htm .html *.htm
- find
- # find [caminho] [expressão] usado para localizar arquivos e diretórios.
- locate
- busca arquivos consultando um banco de dados de arquivos que são criados pelo usuário. # locate concurso
- updatedb
- atualiza o banco de dados de arquivos criado pelo usuário.
- cat
- sua função principal é concatenar arquivos, mas pode ser usado para criar ou ler um arquivo. # cat arquivo
- more
- usado para ler arquivos muito grandes, quando o número de linhas ultrapassa o tamanho do monitor. # more [opções] [-num] [arquivo]
- less
- usado para ler arquivos muito grandes, quando o número de linhas ultrapassa o tamanho do monitor. # less [opções] [arquivo]
- wc
- usado para contar caracteres, palavras ou linhas de um arquivo # wc [opções] [arquivo]
- head
- exibe as primeiras linhas de um arquivo # head [opções] arquivo
- tail
- mostra as ultimas linhas de um arquivo # tail [opções] [arquivo]
- grep
- é usado para fazer filtros nas pesquisas em arquivos # grep [opções] padrão [arquivo]
- cmp
- compara arquivos e mostra a posição em que há a primeira diferença. # cmp arquivo1 arquivo2
- sort
- ordena as linhas de um arquivo. # sort [opções] arquivo
- ctrl + z
- encerra programas mal comportados na interface gráfica.
- ls
- Navegação em diretórios
Images and files in the map
Information
- Description
- Linux Mind Map on Linux, created by Flavio Costa on 28/04/2017.
- Created by
- Flavio Costa
- Views
- 2
- History
-
- Created by a deleted user · Feb 2, 2017
- Copied by Flavio Costa · Apr 28, 2017
- Rating
