Вы находитесь на странице: 1из 39
Indice Introdugéo Especificagbes Gerais. Capitulo 1—Introdugo ao Linux Capitulo 2 —Instalacéo do Sistema. Capitulo 3 — Sistema de Arquivos e Estrutura de Diretérios. Capitulo 4 —Tipos de Arquivos. Capitulo 5 — Introdugo ao Shell Capitulo 6 ~ Permissées e Propriedades de Arquivos. Capitulo 7 —Recursos do Shell Bash. Capitulo 8 - Comandos e Utilitarios. Plano de Horas Total. Documento versio 2.0 ~ 5 de Janeiro de 2006 - Conectiva S.A. Fundamentos do Sistema Linux Material do Instrutor Gabaritos 10 Marque as alternativas corretas: 4 Sobre 0 GNUe a GPL: (<0 GNU é um movimento criado por Richard Stallman (_) GNU significa * Guest is Not for Unix" (_) AGPL no permite modificar o cédigo-fonte do programa ( arql Este € 0 arquivo 1 D Resposta: 0 sinal *D significa o pressionamento das teclas Ctrl - d, para a finalizacéo do contetido do arquivo. Para criar os diretérios, deve-se utilizar o mkdir. 3. Va para o diretério ~/temp e liste 0 contetido dos diretérios criados no formato longo, inclusive arquivos ocultos. Em seguida, dirija-se ao diretorio C e mova os arquivos arql, arq2 e arq3 para o diretério atual Resposta: deve-se usar os comandos: $cd ~/temp $lstaaBcD © -| faz a listagem longa, ¢ 0 pardmetro -a lista todos os arquivos e subdiretorios, inclusive arquivos ocultos. Continuando o exercicio: sede $ mv .Jarql ./arg2 ./arq3 Note que 0 comando anterior usa a notacéo de pontos: os dois pontos finais (por exemplo, ./arqi) indicam o “diretério anterior’, enquanto que o ponto no final da sentenca indica 0 “diretorio atual”, ou seja, 0 diretério C. 27 Fundamentos do Sistema Linux Material do Instrutor 28 4. Verifique em que diretério vocé se encontra, e mostre o contetido dos arquivos na tela. Resposta: $ pwd—mostra o diretério atual $ cat arql arq2 arq3 — primeiro concatena os arquivos contidos no diretério atual e depois os exibe na saida padrao, que é a tela. 5. Volte para o diretério ~/temp e mova os arquivos arql, arq2 e arq3 respectivamente para os diretérios A, B e D. Resposta: primeiramente, deve-se voltar ao temp $ cd ~/temp E depois, usar 0 mv: $ mw C/arql A $ mw C/arq2 B $ mw C/arg3 D 6. Ainda em ~/temp, mova os diretorios de forma que A seja pai de 8, B de C eC de D Resposta: o comando mw deve ser usado: $mvDC $mvcB $mvBA 7. Va 20 diretério temp e visualize a estrutura formada, em forma de arvore Deve-se usar 0 comando ed para primeiro dirigir-se ao diretério ~/temp, e depois 0 comando tree, Aimagem deve ser parecida com esta 4 directories, 3 files Fundamentos do Sistema Linux Material do Instrutor 8. Dirja-se ao diretério B e visualize o arquivo arq2 com os comandos more ¢ less, Resposta: $cd ~/temp/A/B $ more arq2 e depois: $less arq2 & importante que 0 aluno utilize 0s comandos de navegacao do more e do less, fazendo pesquisas, mudando de tela ou executando outras acdes 9. Crie um link simbélico do arquivo arq3 em ~/temp. Resposta: $ cd - Este comando volta ao Ultimo diretério acessado (que deve ser o temp). Deve-se utilizar 0 pwd também para verificar se realmente 0 usuario esta em ~/temp. Alternativamente, pode ser usado também o comando: $cd~/temp Em seguida, basta criar o link $In-s A/B/C/D/ara3 Isto cria o link simbélico do arquivo arq3 em ~/temp. Note que nao é necessario incluir 0 nome do link no final da sentenca, pois o link ficara com o mesmo nome do arquivo 10. Remova o diretério temp de modo interativo, pedindo confirmagao para cada remogéo. A resposta ao comando rm deve se parecer com 0 quadro abaixo; o usuario deve responder y para cada pedido. rm -i temp descend into directory ‘tenp'? y remove Link sinblico * tenp/arg3'? descend into directory ‘temp/A'? y remove arquivo conum ‘tenp/A/arql'? y descend into directory * temp/A/B' remove arquivo conum *temp/A/B/arq2'? y descend into directory *temp/A/B/C'? y descend into directory *temp/A/B/C/D'? y remove arquivo conum * tenp/A/B/C/D/arq3 remove directory ‘tenp/A/B/C/D'? y remove directory *temp/A/B/C'? y remove directory *tenp/A/B'? y remove directory ‘tenp/A'? y rm: renove directory *temp'? y y 29 Fundamentos do Sistema Linux Material do Instrutor Laboratério 3 Este laboratério tem por objetivo a ambientacao geral do usuario com o sistema, mostrando a uti lizacao de comandos mostrados durante o capitulo, e também alguns comandos adicionais. Siga os procedimentos abaixo e anote os resultados quando necessério. 30 1.Estando em seu diretério home, liste 0 contetido do diretério atual (use os seguintes comandos: dir e vdir e Is) Resposta: o usuario deve utilizar 0s comandos indicados para perceber as diferencas. 2. Limpe a tela atual, e em seguida, mude para o diretério /etc e liste o seu contetido. seguinte sequéncia de comandos deve ser executada: $ cd ete $ls 3. Liste 0 contetido do diretorio em que vocé estava anteriormente sem sair do diretorio /ete Resposta: o aluno deve executar 0 comando: $15 homejaluno 4. Retorne ao seu diretério de trabalho ou home (cd -), e verifique se vocé se encontra realmente em seu diretério de trabalho. Respost: $cd- $pwd 5. Utilizando os comandos help e info, procure saber as opgées de todos os comandos que voce executou até agora neste laboratério. Resposta: utilizar os comandos para: cd, Is, pwd, clear, dir e vdir. Fazer com que o aluno utilize também o parametro - -help, apés o comando, 6. Repita o exercicio anterior, sé que agora utilizando os comandos man e apropos Resposta: da mesma forma, utilizar os comandos man e apropos para os comandos citados anteriormente. 7. Utilize 0 comando file para verificar o tipo dos arquivos /binjls, jetc/passwd e Jetc/pam.d. Qual 6 o tipo de cada arquivo? Resposta: a seguinte saida deve ser exibida, e o aluno deve anotar na apostila as respostas: Fundamentos do Sistema Linux Material do Instrutor $ file /bin/ls /bin/\s: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically Linked (uses shared Libs), stripped $ fille /etc/passwd Jetc/passwd: ASCII text $ fille /etc/pan.d Jetc/pam.d: directory 8. Crie a seguinte estrutura de pastas no seu diretério home: -guarda- roupa -sala -poltrona sofa Resposta: basta que o usuario utilize 0 comando mkdir, e @ partir do seu diretério home (Jhome/aluno) crie a estrutura citada 9. Copie 0 arquivo /etc/bashre diretério Casa. Resposta: o aluno deve executar 0 comand: $ cp /etc/bashre ~/Casa 10. Copie o arquivo Jete/crontab para o diretério sala Resposta: o aluno deve executar 0 comand: $ cp /etc/crontab ~/Casa/sala 11. Sem sair do seu diretério home, copie 0 arquivo passwd do diretério jetc para o diretério geladeira, alterando o nome da cépia para ArquivodeSenhas. Resposta: o aluno deve executar 0 comando: $ cp /etc/passwd ~ /Casa/cozinha/geladeira/ArquivodeSenhas 12. Ainda sem sair do seu diretério home, troque 0 nome do arquivo bashre do diretério Casa para que este passe a se chamar config Resposta: o aluno deve executar 0 comando: $ mv ~/Casa/bashre ~/Casajconfig Note que como 0 arquivo renomeado deve estar no mesmo diretério que o arquivo original, 0 caminho para ele também deve ser indicado no destino. 31 Fundamentos do Sistema Linux Material do Instrutor 32 13.Faca o login como root em outro terminal. Em seguida, copie o arquivo pwd do diretério /bin para o diretério raiz (/, alterando 0 nome da cépia para MostraDir; retorne ao seu antigo terminal (como usuario comum) Resposta: pode ser aberta outra instancia do Konsole, ou o aluno pode acessar outro terminal virtual (Ctrl + Alt + F3, por exemplo), deixando o terminal de aluno aberto. Em seguida, deve executar 0 comando: $su- e digitar a senha de root da maquina. Para finalizar 0 exercicio, deve executar: #cp /bin/pwd /MostraDir e retornar ao terminal de usuario normal (aluno). 14. Tente remover o arquivo MostraDir que se encontra no diretorio raiz (/), usando a sua conta de usuario (e ndo a conta de root). 0 que acontece? Resposta: 0 usudrio ndo tem permissdo para apagar este arquivo. Este exercicio serve para enfatizar que 0 usudrio comum no tem acesso a todas as areas do sistema, ou seja, no possui permissdo (explicar que este é o tema do préximo capitulo). 15. Remova recursivamente a estrutura de diretérios e os arquivos criados neste laboratério, € saia da sesso. Resposta: como usuario root, o aluno deve remover o arquivo criado: # rm /MostraDir E em seguida, sair deste terminal # exit Para finalizar, como usuario comum, o aluno pode apagar de uma vez toda a estrutura criada em seu diretério home: $rm-R ~/Casa Fundamentos do Sistema Linux Material do Instrutor Gabaritos 1. 0 comando utilizado para alterar as permissées de arquivos ou diretérios & a) chown b)In ) chmod ) charset ) charp Resposta: alternativa C. 0 chown muda os proprietarios de arquivos/diretérios e nao as permissées, o In cria links, 0 comando charset, para configurar 0 conjunto de caracteres e internacionalizacao de um terminal, e o chgrp modifica grupos de arquivos/diretérios. 2. As permissées de um arquivo definem (em sequancia) as propriedades relativas a: a) Dono do arquivo, membros do grupo e identificagao de diretério b) Membros do grupo, dono do arquivo e outros usuarios. ) Dono do arquivo, membros do grupo e outros usuarios. 4) Identificagao de diretério, dono do arquivo, membros do grupo, outros ususrios. Resposta: alternativa C. As outras alternativas mostram propriedades que nao séo definidas pelas permissdes de um arquivo 3. 0 que significa 0 modo 754 para um um arquivo qualquer? a) Dono pode ler, gravar e executar; membros do grupo podem ler; outros usuérios podem ler e executar b) Dono pode ler e executar; membros do grupo podem ler ¢ executar; outros usuarios podem ler, ) Dono pode ler, gravar e executar; membros do grupo podem ler e executar; outros usuarios podem ler e gravar. d) Dono pode ler, gravar e executar; membros do grupo podem ler e executar; outros usuarios podem ler. Resposta: alternativa D: permissao 7 =r+w+x (442+1) para 0 dono; permissio 5 = r+x (4+1) para o grupo e permissao 4=r para outros, 4. 0 comando utilizado para fazer alteracées relativas ao dono e grupos relacionados a um ou mais arquivos a) chmod b) chown ) charp d) umask Resposta: alternativa 8. 0 chmod muda permissées, 0 chgrp muda apenas 0 grupo de arquivos/diretérios e o comando umask define as opcées padrao para os arquivos que sero 35 Fundamentos do Sistema Linux Material do Instrutor 36 criados pelo usuario. 5.0 comando___define a permissao padro para arquivos novos, criados pelo usuario: a) chmod b) chown, ) umask d) chgrp Resposta: alternativa C Marque a alternativa correta a)Um diretério com permissées 710 permite que outros listem seu contetdo, mas nao acessem os arquivos b) Sem modificar as outras permissées, o comando chmod 400 inclui o direito de leitura para o usuario dono do arquivo; F ) © conjunto -rwsr-xr-x descreve as permissées de um arquivo executdvel, que serd executado com 0 UID do usuério dono do arquivo. V d) A permissao especial stick bit permite, em um diretério, que um usuario acesse e modifique © arquivo de todos os arquivos de outros usuarios. Resposta: alternativa C, basta observar o s nas permissées do dono do arquivo, indicando que 0 suid esta habilitado para um arquivo executavel. Na alternativa A, a permisséo 710 permite que usuérios do grupo a que ele pertence acessem arquivos em seu interior, mas desde que saibam seu nome, uma vez que a listagem do contetido nao é permitida; portanto, a afirmagio esta incorreta. Na alternativa 8, 0 comando modifica todas as permissées, tirando inclusive todas as permissdes para os usuarios do grupo e de outros usuarios (0 comando ‘chmod ot arquivo! € 0 correto), e na alternativa D, a definigao de stick bit esta incorreta, pois o stick bit habilitado em um diretério s6 permite que os usuarios modifiquem ou criem seus préprios arquivos, nao podendo modificar de outros usuarios. 7. 0 minimo de permissées que vocé necessita para ler um arquivo de um diretério é: a) Permissées r-- em todos os diretérios do caminho e x no arquivo em si b) Permissées -x em todos os diretérios do caminho e no arquivo em si. ) Permissées r-- em todos os diretérios do caminho e r--no arquivo em si d) Permissées -w- em todos os diretérios do caminho e -w-no arquivo em si Resposta: a alternativa B esta correta: a permissao de execugdo em um diretério significa que vocé pode acessar o diretério, bem como obter uma listagem do mesmo; entretanto, 0 usuario devera saber © nome do arquivo para lé-lo. A permissao de leitura em diretério (alternativa A) fornece apenas a listagem dos nomes dos arquivos, e nao 0 acesso aos arquivos do diretério, A permissio de leitura para 0 arquivo € auto-explicativa Fundamentos do Sistema Linux Material do Instrutor 8, Relacione as colunas corretamente: —Permissao x para diretério 1 —chmod 1666 diretério (10 ) niveis de permissao do Linux 2. - chmod 4711 arquivo (3 ) concede leitura e tira execuc&o para outros 3. —Permissao o+ rx (5) muda o grupo do arquivo/diretério 4 —Permissao 710 em diretorio (9 ) permissdo de acesso (ndo s6 listagem) 5 -chorp (7 ) nw para o dono, r para o grupo, x para outros 6 -chown-r (8 ) mascara de criag&o/c6pia de arquivos 7 -641 (1 ) stick bit habilitado 8 -umask (4 ) permite o acesso, mas ndo permite a listagem 9 ( ( 4 2 ) suid bit habilitado 6 10 — Usuario, grupo e outros ) altera o donojgrupo de modo recursive Laboratériol Este laboratério tem por objetivo 0 aprimoramento da utilizagao dos comandos demonstrados ao longo do capitulo. Siga os procedimentos abaixo, anotando os resultados ou respondendo as perguntas, quando requisitado 1. Crie 0 diretério ~/testes e dentro dele, crie os arquivos arql e arq2, com quaisquer contetdos. Resposta: use os comandos mkdir e cat, j4 vistos 2. Altere as permissées do arquivo arql para que o dono do arquivo tenha qualquer tipo de permissio, 0 grupo s6 tenha acesso de leitura e escrita e os outros usuarios s6 possam ler 0 arquivo. Resposta: o usuario pode fazer pela forma octal ou textual chmod 764 arql ou $ chmod Fwx.g=rw,o=r arql 3. Altere as permissées do arquivo arq2 para que somente o usuario dono do arquivo tenha todas ‘as permissées. Em seguida, copie arq2 para o diretério /tmp, acesse o sistema como outro usuario (peca ajuda ao instrutor) e tente acessar 0 arquivo. © que acontece? Resposta: usar 0 comando : chmod 700 arq2 @ em seguida, usar 0 cp para copiar arq2 para jtmp. Para acessar o sistema como outro usuario ~ utilizar © outro usuario criado durante a instalacao - pode-se abrir outro console 37 Fundamentos do Sistema Linux Material do Instrutor 38 = (outra instancia do Konsole ou usar outro console virtual, acessando com as teclas Ctrl+Alt-+F2, por exemplo), ou usar o comando su. Quando 0 outro usuario tentar, por exemplo, visualizar 0 arquivo com o cat, 0 acesso sera negado Adicione agora a permisso do arq2 para que qualquer outro ususrio diferente do dono do arquivo e do grupo dono do arquivo possuam permissao de leitura. Em seguida, acesse o sistema como outro ususrio (peca ajuda ao instrutor). © que acontece? Resposta: usar o chmo $ chmod ofr arq2 acessar o sistema com o segundo usuério, como no exercicio anterior. 0 usuario consegue acesso de leitura, ou seja, s6 conseguira visualizé-lo Quais so as permissées do diretério stmp? Modifique o diretério ~/testes para que ele tenha as mesmas permissées que 0 0 /tmp. Resposta: 0 diretorio /tmp tem o stick bit habilitado. Para habilité-lo em /testes, basta usar: $ chmod + testes Verifique depois se as outras permissées conferem, e se necessério, modifique-as utilizando 0 chmod ‘Acesse 0 sistema como root e crie um arquivo arq3 dentro do diretério ~/testes, que tenha o SUID habilitado. Em seguida, tente listar 0 arquivo com o seu usuario do sistema, visualizando as permissées. Quais as permissées mostradas? Vocé possui permissées para visualizer o arquivo? Resposta: pode-se criar primeiramente o arquivo arq3, como root, com o cat, como jé foi feito anteriormente . Em seguida, deve-se habilitar o bit SUID para este arquivo: # chmod +s arq3 Em seguida, 0 usuério deve retornar ao sistema como usuario comum, e verificar as permissées do arquivo, como no exemplo abaixo $ Us -la ara3 irwSr-Sr-- 1 root root 6 2004-08-06 11:25 arq3 Comisto, 0 usuario pode concluir que esta com as mesmas permissées que o usudrio root para manipular 0 arquivo, ou seja, pode visualizé-lo sem problemas Remova o diret6rio testes/ e todo o seu contetido, Resposta: Usar o comando rm como ja visto anteriormente Fundamentos do Sistema Linux Material do Instrutor Laboratério 2 Este laboratério tem por objetivo 0 aprimoramento da utilizagao dos comandos demonstrados ao longo do capitulo, utilizando também comandos ja aprendidos em capitulos anteriores. 1. Copie o arquivo apropos do diretério Jusr/bin para o seu diretério home. Resposta: estando o aluno em seu diretério home, basta usar 0 comando cp, como a seguir: $ cp /usr/bin/apropos 2. Crie um link simbélico em /tmp para 0 arquivo apropos (do seu diretério home), com © nome de aproposSoftLink. Resposta: basta utilizar comando In com o parametro -s $|n -s ~/apropos /tmp/aproposSofiLink 3. Crie um link direto em seu diretério home para o arquivo apropos (do seu diretério home), com ‘o nome de aproposHardLink. Resposta: utilizar 0 comando In: $|n apropos aproposHardLink 4. Liste os arquivos do seu diretério home e repare as permissées do arquivo copiado anteriormente e dos links que esto apontando para ele. Resposta: basta que o aluno execute um Is em cada um dos links e no arquivo, que deve ser parecido com o seguinte: $ Us -La apropos Srwxr-xr-x 1 aluno aluno 2397 2004-09-01 15: $ 1s -la /tmp/apropossof tLink Unwxrwxrwx 1 aluno aluno 21 2004-09-01 15:29 /tmp/aproposSoftLink -> ‘Zhome/aluno/apropos $ Ls -La apropostiardl ink =rwxr-xr-x 2 aluno aluno 2397 2004-09-01 15:17 aproposHardLink* Notar especialmente que o link direto nada mais é que uma cépia do arquivo. 7 apropos 5. Altere as permissées do arquivo apropos do seu diretério home para Wx, g=re Resposta: utilizar o chmod $ chmod u=nwx,g=r apropos 6. Altere as permissées do link aproposSoftLink, criado anteriormente, para ug aconteceu? © que Resposta: utilizar o chmod e o Is chmod ugo=r aproposSoftLink $ls-la aproposSoftLink A conclusio é que o link ndo muda suas permissées, e sim o arquivo original 7. Faga com que 0 arquivo apropos do seu diretério home seja da propriedade de outro usuario 39 Fundamentos do Sistema Linux Material do Instrutor (escolha outro usuario do sistema — pega ajuda ao instrutor, se necessario). 0 que acontece? Resposta: utilizar o chown para um usuario ficticio ‘teste’ (ou outro do sistema). 0 resultado se parecera com o seguinte: $, choun teste. teste apropos chown: mudando permissbes de “apropos': Operacdo néo permitida Visto que as permissées do arquivo apropos foram modificadas no exercicio anterior. 0 usuario no possui permissées para modificar estas propriedades. Caso tenha tempo, o instrutor pode pedir para que as permissées antigas sejam devolvidas ao arquivo - 744, e em seguida, tentar executar o comando novamente, 8. Remova todos os arquivos e links do diretério home do usuario aluno que foram criados neste exercicio. Resposta: estando no diretério home, basta que o ususrio utilize 0 comando rm: $1m [tmpjaproposSoftLink apropos aproposHardLink 9. Saia do login de root e do login de aluno. Resposta: executar o comando exit nos terminais apropriados. 40 Fundamentos do Sistema Linux Material do Instrutor Gabaritos 42 Para redirecionar a saida do comando Is -la para um arquivo chamado saida. txt, anexando 0 resultado do comando no arquivo, pode-se utilizar 0 comando: a) $s a | saida.tt b) $s -la >> saidatet ©) $s la > saidaitxt d) $s -la < saida.txt e) $ls-la << saida.txt Resposta: alternativa B: para anexar um contetido no final de um arquivo, sem modificar 0 contetido anterior, as duas setas para a direita so utilizadas. A primeira op¢ao nao existe {a sintaxe esta incorreta, pois a saida do comando Is esta sendo mandada para um arquivo, e deve ser enviada para um comando), a terceira opgéo cria um novo arquivo ou sobrescreve-o caso ele exista, a quarta alternativa redireciona 0 arquivo para a entrada do comando (e nao a safda do comando para 0 arquivo), e a quinta saida nao tem utilidade, do jeito como esta escrita (direciona 0 arquivo, sobrescrevendo 0 comando Is -la — nao faz sentido). Para redirecionar a saida do comando Is -la para um arquivo chamado saida.txt, criando 0 arquivo do zero, pode-se utilizar o comando: a) $s a | saida.tt b) $s -la >> saidatet ©) $s la > saidaitxt d) $s -la < saida.txt e) $s la << saidatet Resposta: alternativa C: para criar um novo arquivo como resultado de um comando, basta usar a seta para a direita (apenas uma seta). Execute 0 comando ‘find bin’ e redirecione o seu resultado para a saida padrao e para o arquivo listagem_usr.txt através do comando tee. Respostat find /bin | tee listagem_usr.txt Marque as sentencas verdadeiras: a) 0 comando history serve para mostrar histérico de comandos Resposta: verdadeira b) Para encontrar no histérico de um shell bash um comando cd que ja foi digitado, basta pressionar Ctrl+R e digitar cd, e ir pressionando Ctrl+R até que o comando desejado apareca do histérico. Resposta: verdadeira Fundamentos do Sistema Linux Material do Instrutor c)A tecla Tab serve para parar comandos, e a combinacdo Ctrl+Z serve para completar comandos. Resposta: falsa — os comandos e suas respectivas explicagées estdo trocados. d) 0 curinga asterisco representa zero ou mais ocorréncias de caracteres, Resposta: verdadeira e) 0 curinga ponto de interragacao representa negacao da sentenca no bash. Resposta: falsa — ele representa uma ou mais ocorréncias de um caractere f) Sabendo que os colchetes so curingas do bash, a representacao de [1-3] diz para o bash interpretar apenas os caracteres 1 3. Resposta: falsa — ele interpretard os caracteres de 1 a 3, endo somente Le 3 g) As entradas e saidas padrao so, geralmente, o teclado e o monitor, respectivamente. Resposta: verdadeira hh) 0 arquivo de dispositive /devinull geralmente fala para os comandos que eles devem ter resultados nulos. Resposta: falsa — 0 arquivo /devinull diz que o que for direcionado para ele sera eliminado. i) Sabendo que as chaves so curingas do bash, a representagio de {1,3} diz para o bash interpretar apenas os caracteres 1 e 3 Resposta: verdadeira 5. Assinale qual das op¢des abaixo pode ser um resultado para o comando: $ 1s {8,b,2arco.* a) arco, arcos, Barco, barco, rco b) Barco, BArco, Arco, arco.txt, barco.jpg ) arco, arco.txt, Barco, barco.txt, arco.jpg d) arco.*, Barco, barcos, arco, arcos e) arco.txt, arco.jpg, barco.txt, barco.jpg, marco Resposta: alternativa C. Na alternativa A, a string ‘rco' ja no combina com o padréo; na alternativa B, a string 'BArco' j& no combina com o padrdo, na alternativa D, ‘arcos' nao coincide com o padrdo (Falta um ponto antes do ‘s') — note que ‘arco. coincide com o padrdo, e por fim, na alternativa E, 'marco' nao combina com o padréo. Atengio: notar 2 virgula antes da chave de fechamento: ela permite que sejam selecionados 8, b ou nenhum caractere (ou seja, arco.txt se encaixaria como resultado, por exemplo). 43 Fundamentos do Sistema Linux Material do Instrutor 44 6. Assinale qual das opgées abaixo pode ser um resultado para o comando $ Is [A-Z]ol* Em seguida, sublinhe quais expressées/palavras nao combinam com o padrao nas alternativas restantes: a) olho, Colher, Solta, solta b) Sol, Olho, Voltar, Colo ¢) Bola, Folia, Mol, Tolo d) bolha, Bolha, Mola, mola Resposta: a alternativa C é a correta. Abaixo estdo os termos sublinhados que nao combinam com 0 padrao: a) olho, Colher, Solta,solta b) Sol, Olho, Voltar, Colo €) Bola, Folia, Mol, Tolo d)bolha, Bolha, Mola, mola © que faz 0 comando a seguir? $ 1s /etc/*.conf /root 2>41 | nore a) Lista os arquivos do diretério /ete com extensio .conf, fazendo com que o usuério tenha que usar o more para ver todos os arquivos que coincidem com o padrao e, ao final, exibe o erro de permissio negada para a listagem do diretorio jroct, pois um usuario comum esta tentando acessar o diretério de root b)Lista o diretério Jetc, os arquivos *conf do diretério atual ¢ o diretério Jroot, enviando os erros para a saida de erros padrao e também para o comando more. €) Lista os arquivos do diretério jetc/ com a extensao .conf e 0 contetido do diretério root, direcionando possiveis erros para a saida padrao do usuério, e direcionando o resultado para a entrada do comando more d) As alternativas a e c esto corretas. e) Nenhuma das alternativas. Resposta: alternativa D. As alternativas A e C correspondem a mesma coisa, mas foram escritas sobre visées diferentes. A alternativa B esta incorreta pois 0 comando nao envia tudo para a saida de erros padréo e também para o comando mare: ele primeiro executa a listagem, envia os erros para a saida de erros padrao, e depois envia o resultado disto para © comando more. Fundamentos do Sistema Linux Material do Instrutor 8. Qual das alternativas abaixo representa (ou é igual) 0 resultado da sequiéncia de comandos abaixo? $$ xeyes & (a) 1427 $ jobs a) [1]+ Terminado xeyes b) [2] 14277 ) [1+ Running xeyes & d) Nenhuma das alternativas. Resposta: alternativa C. A alternativa A mostra 0 programa sendo finalizado (o que no é 0 caso), ¢ a alternativa B mostra o proceso sendo enviado para primeiro plano, o que nao corresponde ao comando. 9. Marque a alternativa incorreta: a) A combinagéo de teclas Ctrl - 2 6 usada para enviar uma tarefa para segundo plano. b) 0 caractere "6, a0 final de uma linha de comando, envia a respectiva tarefa para o segundo plano de execugao c) 0 comando bg faz com que a ltima tarefa seja enviada para execuséo, ainda em segundo plano. d) 0 comando fg faz com que a Ultima tarefa seja enviada para o primeiro plano de execucao. @) 0 simbolo de porcentagem mais o nmero da tarefa podem ser utilizados, junto com os comandos bg e fg, para identificar uma tarefa. f) Nenhuma das alternativas anteriores. Resposta: alternativa F: todas as alternativas esto corretas. 45 Fundamentos do Sistema Linux Material do Instrutor Laboratorio 1 Este laboratério tem por objetivo treinar os comandos visto durante o capitulo, usando também comandos vistos em capitulos anteriores. 1. Crie um diretério temp em seu diretério home, criando 3 sub-diretorios: A, B e C. Procure utilizar a combinac&o Ctrl+r do bash para tentar encontrar comandos de seu histérico. Resposta: usar o mkdir (ja visto), usando a opcao -p quando possivel 2. Copie 0s arquivos /etc, da seguinte maneira 1a) os que comecam com o caractere ‘a! (maitisculo ou minuisculo), no diretério A, fazendo com que erros sejam levados para o dispositive nulo (/dev/null); bb) os que comecam com o caractere ‘b! (mailisculo ou mindsculo), no diretério B, fazendo com que erros sejam mostrados na saida padrao )e por fim, os que finalizam com a extensao .conf, no diretério C, fazendo com que erros sejam guardados em um arquivo chamado errosC, no diretério ~/temp. Procure utilizar a tecla Tab sempre que for possivel, para completar o caminho da cépia. Resposta: utilizar a seguinte sequéncia de comandos: cp Jetc/laA}* ~/temp/A 2> /devinull $ cp /ete/[bB)* ~/temp/B 2> 61 $ cp /ete/*conf ~/temp/C 2> ~/templerrosc 3. Remova os arquivos do diretério C que nao iniciem com os caracteres a, b ou c. Em seguida, copie 0s arquivos que ficaram para os diretérios respectivos (os arquivos que iniciam com a ou A para Ae 0s arquivos que iniciam com b ou 8 para 8) Resposta: $edC $ rm [*abcABC}* © circunflexo faz com que todos os caracteres sejam selecionados, menos os caracteres dentro dos colchetes. Apés a selecéo, o asterisco indica que qualquer coisa pode seguir a string selecionada. ‘Apés isto, pode-se copiar os arquivos restantes em seus respectivos diretérios, € importante ver se existe a possibilidade aqui da utilizacdo da combinagéo Ctri+R para a busca de comandos no histérico. 4. Remova o diretério ~/temp Resposta: $ rm -Rf ~/temp 46 Fundamentos do Sistema Linux Material do Instrutor Laboratério 2 Para os exercicios desta sego, sera usada a seguinte lista de arquivos: $s arquivo arquivo 2arquivo arquivo arquivo3 arquivo34 arquivos arquivoSarquivo 1. Crie um diretério ~/temp e crie os arquivos com um contetido qualquer; em seguida, liste todos os arquivos do diretério que iniciem com os caracteres "arquivo" Resposta: criar o diretério com mkdir arquivos genéricos com o cat. 0 que importa, neste momento é 0 nome dos arquivos, e nao 0 contetido. Em seguida, basta executar: $ Ls arquivo* arquivo arquivo3 arquivo4 arquivo34 arquiveSarquivo 2. Liste os arquivos cujos nomes so iniciados por *arquivo" e terminem com um tinico caractere qualquer: Resposta: $ Us arquivo? arquive3 arquivos 3. Liste agora os arquivos cujos nomes so iniciados por dois caracteres quaisquer e finalizem com a string "arquivo" Resposta: $ Us ?tarquivo arquivo 4, Liste 0s arquivos que iniciem com a string “arquivo”, e que sejam finalizados com um dos 3 caracteres: 1, 2 0u 3 Resposta: $ Us arquivol123] arquivo3 a7 Fundamentos do Sistema Linux Material do Instrutor 5. Liste os arquivos que iniciem com um dos 3 caracteres: 1, 2 ou 3, porém, que sejam finalizados com a string “arquivo”: Resposta: $ ls [123]arquivo arquivo 2arquivo 6. Liste os arquivos que iniciam com a string ‘arquive', mas que sejam finalizados ou com o caractere 1 ou como caractere 34. $ Us arquivot, 34} arquivo34 7. Liste os arquivos que iniciam com a string ‘arquive', mas que sejam finalizados com um destes caracteres: 1, 2, 3 ou 34 $1s_ arquivo, 2,3,34} arquivo3 arquivo34 8. Remove o diretério ~/temp e seu conteido. Resposta: utilizar 0 rm para remover o diretério 48 Fundamentos do Sistema Linux Material do Instrutor Gabaritos 50 Descreva o que cada um dos comandos abaixo executa: a) $find J -name exemplo.txt 2> errosiog Resposta: Os possiveis erros seriam direcionados para um arquivo chamado erros.log, b) $ cat saida.tet | grep testar Resposta: Efetuar a busca pela string testar, mostrando o resultado na tela. €) $ls /eteptconf | head 5 | sort Resposta: Lista os arquivos com extenséo .conf em /etc, exibindo as primeiras 5 ocorréncias, e ordenando o resultado d) $unexpand-a +t 1 arquivo.txt | cat -T Resposta: Converte cada espaco do arquivo em tabulaco e redireciona para o comando cat, que com a opgdo -T representara as tabulagdes com os caracteres “I. Para testar 0 comando acima, crie 0 arquivo arquivo.txt com um contetido qualquer, desde que este contetido possua alguns espacos seguidos. e) $s jete | split 15 -d—lista Resposta: Ira redirecionar a listagem dos arquivos e diretérios presentes em jetc para o comando split, que criara arquives de no maximo § linhas (-! 5), utilizando sufixo numérico no nome do arquivo (-d) e tendo como prefixo a palavra lista (- lista) f) $od jlistatxt Reposta: © comando esta incompleto. Para funcionar corretamente, deve ser passado um valor a0 parametro j. Este parametro é responsavel por omitir os x primeiros bytes do arquivo indicado. Para omitirmos os 10 primeiros bytes de listatxt, por exemplo, executariamos: od -j 10 listatxt © comando tail é utilizado para: a) Enviar para a saida padrao as ditimas linhas de um arquivo. b) Recortar colunas ou campos de um arquivo texto. ) Localizar dentro de um arquivo, um conjunto de strings especificado. d) Concatenar a saida de um arquivo a outro. ) Enviar para a saida padrdo as primeiras linhas de um arquivo. Resposta: alternativa A. A alternativa B corresponde ao cut, a alternativa C é a definicao do grep, a alternativa D corresponde ao comando cat e a alternativa E corresponde a0 head Fundamentos do Sistema Linux Material do Instrutor 3. Qual destes comandos ¢ utilizado para enviar para a saida padréo as primeiras linhas de um arquivo? a) tail b) expand ) head d) cut e) locate Resposta: alternativa C. As outras alternativas mostram comandos com outras funcées. 81 Fundamentos do Sistema Linux Material do Instrutor 4.0 comando we é utilizado para: a) Classificar as linhas de arquivos especificados, segundo opgées selecionadas. b) Visualizar 0 contetido de um arquivo ) Efetuar a contagem de linhas, palavras e/ou caracteres de determinado arquivo. 4) Visualizar as linhas totais de um arquivo. e) Nenhuma das alternativas. Resposta: alternativa C. A alternativa A corresponde @ descrigéo do comando sort, a alternativa & mostra a definicdo do cat, e a alternativa D 5. Em relago aos comandos de busca e localizagio de arquivos, analise as sentencas abaixo: 1. © comando locate faz buscas por sistemas de arquivo utilizando a base de dados criada pelo comando which 11. € possivel, com 0 comando find, fazer buscas por determinado arquivo/diretério e se preciso executar comandos ao aché-los, Ill, Para buscar recursivamente por um dado comando através dos diretérios especificados em PATH, basta executar 0 comando which IV. © comando updatedb gera uma base de dados dos arquivos existentes no sistema, especificados no arquivo /var/updatedb. Assinale a alternativa que corresponde as sentencas corretas: a)ilelll b)i ely ciel d)i ell €) Todas as alternativas esto corretas Resposta: alternativa A. A alternativa | é incorreta pois € 0 comando updatedb que cria a base de dados, e a alternativa IV esta incorreta porque os arquivos nao so especificados em lugar algum - 0 updatedb busca os arquivos do sistema em si 52 Fundamentos do Sistema Linux Material do Instrutor 6. 0 comando: $ find ~/tmp -name '*.txt' -exec ls -la {} \; possui o seguinte significado: a) Lista 0 arquivo *.txt do diretério /tmp. b) Busca por todos os arquivos com extenséo .txt do diretério /tmp e os lista no terminal ) Busca por todos os arquivos com extensao .txt do diretério /tmp e escreve a frase Is 1a em cada um deles d) Busca por todos os arquivos com extensio txt do diretério /home/alunoytmp e os lista no terminal Resposta: alternativa D. 7. Em relag&o ao comando find é correto afirmar: a) A opgo -atime -5 faz a busca por arquivos que foram acessados a exatamente 5 dias b) A opcao ctime +3 faz a busca por arquivos que foram acessados a mais do que 3 dias. ) A opgao -exec comando {}\; executa 0 comando para cada arquivo encontrado. 1d) A opcao -name indica que a busca deve ser iniciada pela letra *n" Resposta: alternativa C. 8. Com relagao ao comando grep, é incorreto afirmar: a) A opgao -i do grep considera as letras maitisculas e minusculas como sendo do mesmo grupo. b) 0 comando grep com a opgo 4 lista os nomes dos arquivos em vez de listas as linhas de forma individual c) 0 grep executa buscas por strings ou expressdes regulares contendo caracteres normais misturados com caracteres curinga d) 0 grep pode executar buscas dentro de um ou mais arquivos @).0 comando grep -v "xx" teste.txt lista todas as linhas que contenham a string "xx" no arquivo teste.txt Resposta: alternativa E € a incorreta. Neste caso 0 comands listara as linhas que nao contenham a string "xx" no arquivo teste.txt. 33 Fundamentos do Sistema Linux Material do Instrutor 54 9. Com relagao aos comandos do Linux, analise as sentengas abaixo a) b) o) tl d) e) |. Os comandos dos2unix e unix2dos permitem a converséo de arquivos entre sistemas, come por exemplo arquivos de late e .exe do DOSWindows (tm) para o Linux II, 0 expand troca tabulacées por espagos em um arquivo. I. © comando tr pode ser muito util, por exemplo, para inverter as letras maidsculas para mindsculas, em um arquivo ou entrada IV, Com o parametro -d do comando tr, € possivel retirar um certo caractere do conteuido de um arquivo. Assinale a alternativa que corresponde as sentengas corretas: len lel! tei New Nenhuma das alternativas. Resposta: alternativa C, Os comandos dos2unix e unix2dos permitem a converséo de arquivos texto. 10. Com relac&o aos comandos do Linux, analise as sentencas abaixo: a) b) o) tl d) e) f) |. © comando diff cria, por padréo, um arquivo que contém a diferenga entre dois outros arquivos. 11, © comando whereis echo mostra o caminho para o comando echo. I. Com © comando which, é possivel encontrar onde esto, por exemplo, as paginas de manual de um certo comando IV, Para localizar e contar o nimero de arquivos de um determinade diretério, © comando locate precisa ser utilizado. Assinale a alternativa que corresponde as sentengas incorretas: len lel! lle IV mew Todas as sentencas esto corretas. Nenhuma das alternativas anteriores. Resposta: alternativa D. Na alternativa | o diff mostra em tela a diferenga entre os arquivos. 0 comando whereis mostra o local do executavel e as paginas de manuais do Fundamentos do Sistema Linux Material do instrutor comando echo 11. Complete as reas em branco com o texto apropriado: a) Para ordenar o contetido de um arquivo em ordem reversa (de '2' para 'a'), pode-se usar 0 comando _sort__ como parametro__-r. b)0 parametro _-d__ do comando cut especifica o delimitador que sera usado no corte, e € interessante que seja usado juntamente com o parametro _-f_, para a seleco dos campos a serem cortados. c) Para encontrar um arquivo e executar um comando sobre ele (por exemplo, uma listagem - Is), pode-se usar 0 comando _find_com a ado _-exec comando {}\ d)Para permitir que 0 comando _diff_ mostre a diferenga entre dois arquivos de uma maneira mais especifica e visualmente melhor (mostrando uma formatacao da diferenca), pode-se usar o parametro_-u_. @) Os parametros do comando _we__ que contam apenas niimero de caracteres, apenas 0 nimero de linhas e apenas o numero de palavras so, respectivamente: parametro_-c_, parémetro__-I__eparametro_-w_. f) 0 parametro _-c_ do comando __uniq__ além de aliminar as linhas repetidas emum arquivo, indica quantas vezes cada linha apareceu no arquivo. g)Para numerar as linhas de um arquivo e apresenté-las na saida padréo, utilizamos 0 comando _nl hh) 0 __paste__apresenta as linhas de dois arquivos em paralelo, separadas, por padrao, com uma tabulagéo. }) © comando __fmt__ executado com o parametro _-u__padroniza o espagamento de um arquivo para um espaco entre as palavras e dois entre as sentencas 12. Assinale a alternativa correta: a) 0 comando locate aceita somente o nome exato do arquivo para busca, nao permitindo, por exemplo, curingas, b)O parametro i do comando expand substitui somente as ocorréncias de tabulagéo, ignorando a diferenca entre maiuisculas e mindsculas. ) Para visualizar somente as linhas que nao contém a string de filtragem especificada, pode ser usado 0 comando grep com o parametro -n 1d) Os comandos dos2unix ¢ unix2dos fazem a conversdo somente de arquivos do tipo texto, no convertendo arquivos de outros tipos de um sistema para outro. Resposta: alternativa D. © parametro correto para a alternativa C seria -v. 58 Fundamentos do Sistema Linux Material do Instrutor Laboratério 1 Este laboratorio tem por objetivo aprimorar os comandos vistos neste capitulo, especialmente os comandos relacionados a busca por strings e nome de arquivos. 1. Utilize o comando find para localizar os seguintes arquivos, ¢ escreva a localizagao ao lado: a) menullst b) bashre ) fstab d) konqueror Resposta: Como o Konqueror é um programa, podem ser usados também os programas which e whereis. 2. Localize todos os arquivos do disco cujas ligag6es (links) diretas correspondam a 10. Respostat find / -links 10 3. Repita o item anterior para arquivos cujas ligaées diretas correspondam a 15, 20 e 25. Resposta: Igual ao anterior, mas substituindo 10 por 15, 20 e 25 4. Localize e liste na saida padrao todos os arquivos do tipo pipe. Resposta: $ find / -type p 5. Localize todos os arquivos que so de sua propriedade (usuario aluno, ou o ususrio que estiver utilizando). Resposta: $ find /-user aluno 6. Localize todos os arquivos do diretério /usr que esto com o SUID ligado. Resposta: $find Jusr -perm -uts ou _—_$find /usr -perm -4000 7. Localize todos os arquivos chamados README do diretério Jusr/share/doc, e exiba na saida padro o nimero total de arquivos. Resposta: $ find jusr/share/doc -name README | we -| 8. Procure, a partir do diretério /etc, por arquivos que contenham a string “mandriva’, no fazendo distingao entre maidsculas e minusculas Resposta: $ find /etc -print |grep -i *mandriva* 9. Encontre todos os arquivos a partir do diretério raiz, cujas permissées correspondam a 111 (executavel) e guarde-os num arquivo chamado executavel_total, em seu diretério home. Resposta: $ find / perm +111 type f > ~/executavel_total 10. Localize, a partir do diretério raiz, todos os arquivos que forem menores que 10K (dica: procure pelo parametro size do find). Resposta: $ find / -size +10000 -print 56 Fundamentos do Sistema Linux Material do Instrutor Laboratério 2 Use as paginas de manual e info dos comandos para procurar as opgées que nao esto na apostila 1. Como comando tail pode ser usado para imprimir as 20 tltimas linhas de um arquivo? Resposta: tail -20 arquivo ou tail -lines (Pode usar | we | para verificar o resultado) 2. Qual parametro do tr comprime varios caracteres em um s6? Resposta: -s ou ~sequeeze-repeats 3. Qual opgae do cat comprime varias linhas em branco em uma unica linha? Resposta: cat -s ou cat ~sequeeze-blank 4, Como fazer 0 sort ignorar espacos em branco? Resposta: -b 5. Como formatar um arquivo de texto em linhas com, no maximo, 90 caracteres utilizando 0 fmt? Resposta: fmt -w 90 arquivo.txt 6. Como voce pode fazer para que o we imprima o comprimento maximo de uma linha em um arquivo? Resposta: -L ou -max-line-lenght 7. Mostre as primeiras 20 linhas do arquivo /etc/passwd. Em seguida, obtenha as ultimas 5 linhas dessas 20 linhas, e ordene-as para mostrar na tela. Resposta: $ head ~ 20 arquivo.txt | tail 5 | sort 8. Verifique 0 caminho para os programas Mozilla, XFree86 e Ark Resposta: which 9. Formate, com 0 comando pr, 0 arquivo /etc/group para impressao, alterando 0 cabecalho para que ele contenha a frase “Gruops do Sistema” e grave o resultado no arquivo ~Igrupos_sistema.bxt. Resposta: pr -h "Grupos do Sistemat /etc/passwd > ~/grupos_sistema.bxt 10. Localize onde se encontram os comandos clear, Is, rmdir e pwd. Escreva os resultados abaixo: Resposta: whereis 11. Quantos so os arquivos com extensdo .conf, localizados no diretorio /etc/ do seu sistema (sem contar sub-diretérios)? Dica: usar o pipe para o redirecionamento dos resultados. Resposta: $Is /etc/*.conf | we-| 12. Quantos so os arquivos com a string ‘conf! no nome, localizados no diretorio Jete do seu sistema (sem contar sub-diretérios)? Dica: usar 0 pipe para o redirecionamento dos resultados. Resposta: $ locate /etc/*.conf | we-| s7 Fundamentos do Sistema Linux Material do Instrutor 13. Quantos so os arquivos com a extensdo .conf no nome, localizados no diretério jetc do seu sistema, contando os sub-diretérios? Dica: usar o pipe para o redirecionamento dos resultados. Resposta: $ find fete -name *.conf | we - 58