Entendendo o Sistema Operacinal Prof. Armando Martins de Souza E-mail: armandomartins.souza@gmail.com
Criando um Snapshot da Máquina Padrão Page 2
Criando um Snapshot da Máquina Padrão Page 3
Criando um Snapshot da Máquina Padrão Devemos dar um nome para o snapshot e fazer uma breve descrição. Page 4
Criando um Snapshot da Máquina Padrão Agora temos o estado atual da máquina salvo, sem nenhuma modificação. Sempre que quizermos repetir o exercício, basta Iniciármos a VM a partir desse snapshot Page 5
Iniciando a máquina virtual Ajustes Page 6
Iniciando a máquina virtual Page 7
Iniciando a máquina virtual Iniciando a VM Page 8
Iniciando a máquina virtual Logando no Sistema: User: root Password: q1w2e3 Page 9
Logando na VM Usuário administrador Logado Page 10
Para Conexão Remota Verificar Tutorial putty
Estrutura de Diretórios
Árvore de diretórios do Sistema Operacional Page 13
Diretórios - Organização Diretório Descrição dos arquivos que estão nesse diretório / Diretório raiz do sistema de arquivos. /bin Arquivos executáveis de comandos essenciais. /boot Arquivos necessários à inicialização do sistema. /dev Arquivos de dispositivos do sistema. /etc Arquivos de configuração do sistema. /home Lugar onde ficam as pastas locais dos usuários. /lib Arquivos de bibliotecas essenciais ao sistema, utilizadas pelos programas. /mnt Usualmente é o ponto de montagem de dispositivos. /proc Informações do kernel, dos processos e interrupções da máquina. /root Pasta local, ou home, do superusuário. /sbin Arquivos relacionados diretamente ao sistema. Normalmente só o superusuário tem acesso a estes arquivos. /tmp Pasta de arquivos temporários. /usr Arquivos pertencentes aos usuários, bem como documentação do sistema, dentre outros tipos de arquivos. /var Pasta onde são guardadas informações variáveis sobre o sistema. Page 14
Comandos Básicos
Comandos Básicos cd Navega na árvore de diretórios ls Listar conteúdos de diretórios cp Copiar arquivos ou diretórios rm Remover arquivos ou diretórios mv Mover ou remomear, arquivos ou diretórios mkdir Criação de diretórios rmdir Remoção de diretórios Page 16 ln Criação de links
Comando cd cd Navega entre diretórios Sintaxe: cd <diretório ou atalhos> Atalhos Descrição ~ ou cd <enter> Diretórios de trabalho do usuário Page 17.. Vai para o diretório imediatamente acima ( Pai ) - Vai para o diretório anterior
Comando cd (exemplos) Navegamos para dentro do diretório /etc Navegamos para dentro do diretório /usr Navegamos para dentro do diretório de trabalho do usuário logado. Voltamos para o diretório que estávamos anteriormente /usr Subimos um diretório. Navegamos para dentro do diretório de trabalho do usuário logado. Page 18
Comando ls ls Listar conteúdos de diretórios Sintaxe: ls [opções] <diretório> Opção Descrição -a Exibe arquivos e diretórios ocultos (inicial. ) -A -l Exibe arquivos e diretórios ocultos (não considerando os diretórios. e.. ) Exibe listagem utilizando o formato longo. -i Exibe o inode (veremos mais a frente) de cada arquivo. -h Exibe a listagem em formato Human (simples compreensão) Ordena a saída por data -t Page 19
Comando ls (exemplos) Navegamos para dentro do diretório /usr Listamos o conteúdo do diretório /usr Listando o conteúdo do /usr em formato longo 1. Tipo Arquivo + Permissões de dono, grupo e outros 2. Hard Links 3. dono do arquivo/diretório 4. Grupo dono do arquivo/diretório 5. tamanho 6. data e hora da criação/modificação 7. nome do Arquivo/diretório Page 20
Comando ls (exemplos) Listamos o conteúdo do diretório /usr, inclusive os arquivos/diretórios ocultos (iniciados por. ).. Diretório atual.. Diretório pai Listando o conteúdo do /usr em formato longo Page 21
Comando ls (exemplos) Criamos com o comando touch.teste, um Arquivo oculto de nome.teste Não aparece o arquivo.teste na saída do ls Usando o comando ls -a aparece. Diretório atual o.. Diretório pai e o arquivo que criamos com o comando touch. Ao usarmos a opção -A, os diretórios pai (..) e o atual (.), não mais aparecem. Nesse caso veremos apenas o.teste Page 22
Comando ls (exemplos) As opção -li combinadas, mostram: 1. formato Longo; 2. inode do Arquivo/diretório; As opção -lhi combinadas, mostram: 1. formato Longo; 2. formato human; 3.inode do Arquivo/diretório; Page 23
Comando ls (exemplos) As opção -lt combinadas, mostram: 1. formato Longo; 2. ordena por data de criação/modificação; Page 24
Comando cp cp Copiar arquivos ou diretórios Sintaxe: cp [opções] <origem> <destino> Atalhos -a Mantém os atributos dos arquivos/diretórios -r Faz uma cópia recursiva -u Copia apenas se o arquivo origem for mais novo que o arquivo destino Exibe o nome do arquivo/diretório, antes de copiá-lo -v Page 25 Descrição
Comando cp (exemplos) Comandos: cd <enter> (indo para o diretório de trabalho do user) pwd (mostra onde estamos dentro da árvore de diret.) cp -r /usr/. (copiando o /usr para o diretório atual) Page 26
Comando cp (exemplos) Quando usamos o cp -r, ele não mantém os atributos Do arquivo/diretório que esta sendo copiado. Page 27
Comando cp (exemplos) Ao usarmos as opções -ra teremos: 1. a cópia recursiva; 2. mantendo os atributos do arquivo original. Cópia sem usar a Opção -a Agora sim temos os atributos iguais ao original. Basta voltarmos no slide anterior para confirmarmos Page 28
Comando cp (exemplos) Vamos para o diretório de trabalho do administrador e deiremos criar um arquivo chamado lixo.txt, em seguida listaremos o conteúdo do diretório e veremos a data do criação/modificação do arquivo lixo.txt. Page 29
Comando cp (exemplos) Vamos tentar copiar novamente o arquivo lixo.txt. como a data não é mais atual que a do diretório, o arquivo não é copiado. Page 30
Comando cp (exemplos) Usaremos o comando touch, para atualizarmos a data e hora da criação do arquivo lixo.txt, depois tentaremos copiar novamente o arquivo para /root/usr Page 31
Comando cp (exemplos) Agora sim, o arquivo foi copiado. Page 32
Comando cp (exemplos) Vamos tentar copiar novamente o arquivo lixo.txt. como a data não é mais atual que a do diretório, o arquivo não é copiado. Page 33
Comando rm rm Remover arquivos ou diretórios Sintaxe: rm [opções] <arquivo/diretório> Atalhos Page 34 Descrição -i Pede confirmação antes de apagar -r Apaga recursivamente -v Exibe o nome do arquivo/diretório, antes de copiá-lo
Comando rm (exemplos) Utilizando o comando rm, com a opção -i. Page 35
Comando rm (exemplos) Utilizando o comando rm, com a opção -r. Page 36
Comando rm (exemplos) Utilizando o comando rm, com a opção -v. Page 37
Comando mv mv Mover ou remomear, arquivos ou diretórios Sintaxe: mv [opções] <origem> <destino> Page 38 Atalhos Descrição -b -f Faz backup do arquivo/diretório que esta sendo manipulado Remove os arquivos, sem a necessidade de confirmação. -i Pede confirmação antes de remomear o arquivo/diretório. -v Exibe o nome do arquivo/diretório, antes de movê-lo.
Comando mv (exemplos) Preparando o exemplo do comando mv. Page 39
Comando mv (exemplos) Movendo lixo.txt, para o diretório de trabalho do usuário que esta executando o comando. Listando o conteúdo de /usr/local/bin Listando o conteúdo de /root/ Vendo o conteúdo do arquivo lixo.txt que esta dentro de /root/ Criando outro arquivo lixo.txt em /usr/local/bin Page 40
Comando mv (exemplos) Listando o conteúdo de /usr/local/bin Vendo o que esta escrito dentro de lixo.txt Listando o conteúdo de /root/ Listando o conteúdo de /root/ Vendo o que esta escrito dentro de lixo.txt, Que esta dentro de /root Page 41
Comando mv (exemplos) Listando o conteúdo de /usr/local/bin Listando o conteúdo de /root/ Movendo o arquivo lixo.txt de dentro do diretório /usr/local/bin para /root Listando o conteúdo de /root/ Listando o conteúdo de /usr/local/bin Page 42
Comando mv (exemplos) Indo para dentro do diretório de trabalho do usuário Listando o conteúdo de lixo.txt Listando o conteúdo de lixo.txt~ (arquivo backup) Renomeando lixo.txt~ para lixo-original.txt Renomeando lixo.txt para lixo-original.txt, como o arquivo existe ele pede confirmação devido a opção -i Page 43
Comando mkdir mkdir Criação de diretórios Sintaxe: mkdir [opções] <nome_diretório> Atalhos -p -m perm -v ou verbose Page 44 Descrição Cria a árvore de diretórios se ainda não existir. Cria um diretório com a permissão de acesso perm. Mostra o nome de cada diretório criado.
Comando mkdir (exemplos) Criando o diretório chamado albatroz Listando o conteúdo do diretório de trabalho do root Criando a árvore de diretórios Listando o conteúdo do diretório. Listando o conteúdo do diretório. Page 45
Comando mkdir (exemplos) Criando o diretório chamado diretoria, usando a permissão 700 e mostrando o nome do diretório criado. Diretório diretoria criado Não funciona no formato simbólico Page 46
Comando rmdir rmdir Remoção de diretórios Sintaxe: rmdir [opções] <diretório-remover> Atalhos -p Descrição Remove os diretórios intermediários se estes estiverem vazios -v ou --verbose Mostra o nome de cada diretório removido. Page 47
Comando rmdir (exemplos) Listando o diretório de trabalho so usuário logado (nesse caso root ) Tentando remover o diretório albatroz Agora sim removendo a árvore toda os diretórios tem que estar vazios Page 48
Comando ln Link Referência a outro arquivo/diretório Tipos: a. diretos (hard links) Criam dois ou mais nomes para um arquivo dentro do Sistema de arquivos. Não podem ser visualizados. b. simbólicos (soft links) São arquivos que fazerm referência ao arquivo/diretório original contendo o caminho completo ao arquivo/diretório original. Pode ser visualizados ls -l Page 49
Comando ln ln Criação de links Sintaxe: ln [opções] <caminho> <nome_link> Atalhos -s -f Page 50 Descrição Cria link simbólico Força a criação do link
Comando ln (exemplos) Listando o diretório de trabalho so usuário logado (nesse caso root ) Criando um soft link do arquivo lixo.txt Page 51
Comando ln (exemplos) Copiando o arquivo passwd para o diretório local Criando um hard link do arquivo passwd Page 52
Comando ln (exemplos) Populando o arquivo lixo.txt Listando o conteúdo do arquivo lixo.txt através do Link simbólico link_lixo.txt. Page 53
Comando ln (exemplos) Listando o conteúdo do diretório Removendo o arquivo lixo.txt Page 54
Comando ln (exemplos) Listando o conteúdo do diretório Remover um Link direto. Removendo o arquivo passwd.o conteúdo do arquivo permanece no arquivo passwd-hardlink Page 55
Comando ln (exemplos) Listando o conteúdo link direto passwd-hardlink Page 56
Comandos Básicos echo Ecoa informações na saída padrão clear Limpa tela sleep Sistema aguarda n segundos antes de continuar executando Page 57
Comando echo (exemplos) Funcionalidade do comando echo. Page 58
Comando echo (exemplos) Comando clear ou ctrl+l (limpa a tela) Page 59
Comandos Básicos - Navegação pwd Localização do usuário na árvore de diretórios tree Mostra árvore de diretórios Page 60
Comando pwd (exemplos) Funcionalidade do comando pwd. Page 61
Comando tree (exemplos) Funcionalidade do comando tree. Page 62
Comandos Básicos Localização arquivos/diretórios find Busca arquivos no Sistema de Arquivos locate Localiza arquivos a partir de um banco de dados (updatedb - cria/atualiza a base) grep Procura em um ou mais arquivos, linhas que contenham um padrão de busca (expressão regular, simples ou estendida) fgrep Interpreta padrão como expressão regular sem metacaracteres. egrep Interpreta padrão como expressão regular estendida. Page 63
Metacaracteres? Corresponde a um único caractere. * Corresponde a qualquer caractere. Inclusive conjuntos de caracteres ou ausencia deles. [] Corresponde a qualquer caractere entre os colchetes. [a-z] Corresponde a uma faixa de caracteres. ^abs Corresponde ao padrão abc no início da linha. Abc$ Corresponde ao padrão abc no final da linha. Page 64 { } Semelhante ao colchete. Representa cadeia de caracteres, separados por vírgula. Ex.: arq{1,2,3}
Comandos Básicos df mostra o espaço livre/ocupado em cada partição du mostra o espaço ocupado por arquivos file informa o tipo de arquivo head imprime as 10 primeiras linhas de um arquivo na saída padrão (head n <arquivo> - imprime n primeiras linhas) tail imprime as 10 últimas linhas de uma arquivo na saída padrão (tail n <arquivo> - imprime n primeiras linhas) sudo Permite a execução de comandos usando priviégio de root (precisa informar a senha de administrador) Page 65
Comandos Básicos time mede o tempo gasto na execução de um processo (sintaxe: time <comando>) sort organiza as linhas de um arquivo dmesg mostra mensagens de inicialização do sistema su permite o usuário mudar de identidade sem fazer logout uname mostra o nome e a versão do kernel atual (uname -a ) reboot reinicia a máquina Page 66
Comando shutdown shutdown - Desliga/reinicia o computador imediatamente ou após determinado tempo (programável) de forma segura. # shutdown <opções> <hora> [mensagem] hora Momento que o computador será desligado. Você pode usar HH:MM para definir a hora e minuto, MM para definir minutos, +SS para definir após quantos segundos, ou now para imediatamente (equivalente a +0). mensagem Mensagem que será mostrada a todos os usuários alertando sobre o reinicio/desligamento do sistema. opções -h Inicia o processo para desligamento do computador. -r Reinicia o sistema -c Cancela a execução do shutdown. Você pode acrescentar uma mensagem avisando aos usuários sobre o fato. Ex: # shutdown -h now Desliga o computador imediatamente Page 67
Comandos Básicos Manipulação arquivos/diretórios which Localiza um comando, usando os diretórios contidos na variável PATH. touch Atualiza a última data de acesso ao arquivo. Se o arquivo não existir, será criado um arquivo vazio por padrão Page 68
Comandos less e more visualizando textos less Permite fazer a paginação de arquivos ou da entrada padrão. O comando less pode ser usado como comando para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela é ocupada, o less efetua uma pausa (semelhante ao more ) e permite que você pressione Seta para Cima e Seta para Baixo ou PgUP/PgDown para fazer o rolamento da página. more Permite fazer a paginação de arquivos ou da entrada padrão. O comando more pode ser usado como comando para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela é ocupada, o more efetua uma pausa e permite que você pressione Enter para continuar avançando o número de páginas. A utilização dos comandos less e more se faz de maneira semelhante. A única dica para este comando, é que este pode ser encerrado com a tecla q. Page 69
Comandos Básicos Edição de Texto vi Editor de texto tradicional do Unix/Linux. nano Editor simples, parecido com o edit do DOS Page 70
Redirecionamentos e pipes
Redirecionamentos No Linux é possível manipular a entrada e saída padrão dos comando executados. < : Redireciona a entrada padrão; > : Redireciona a saída padrão (destrutiva); >> : Redireciona a saída padrão (não destrutiva); 2> : Redireciona a saída de erros (destrutiva); 2>>: Redireciona a saída de erros (não destrutiva); &> : Redireciona a saída de erros e acertos. Exemplos: $ ls /teste 2> erros.txt (envia a mensagem de erro para o arquivo erros.txt, se for usuado p &> envia a mensagem de erros e acertos) Page 72
Pipes A função dos Pipes é combinar a saída de um comando com a entrada de outro, é representado pelo caracter exemplo: $ ls la less $ ls lr /etc grep ^d wc l Conta o numero de diretórios e subdiretorios de /etc. Page 73
Pipes Comando tee Comando tee: Envia o resultado do programa para a saída padrão (tela) e para um arquivo ao mesmo tempo. Este comando deve ser usado com o pipe. Sintaxe: comando tee <arquivo> Exemplo: ls la tee listagem.txt Page 74
Fim