Mestrado em Gestão de Informação Computadores e Redes de Comunicação, 2004/07 Sistema Operativo UNIX – Ficha de Exercícios Nº1 Observação: Os alunos são encorajados a experimentar para além dos exemplos propostos, especialmente nas matérias em que se sintam menos confortáveis. Objectivos da ficha: Conhecer a FEUPnet. Estabelecer uma sessão numa máquina UNIX. Utilização de um interpretador de comandos. Utilização de comandos UNIX. Filtragem de resultados. Redireccionamento da entrada e saída. Sistema de ficheiros. Manipulação de ficheiros e directórios. Permissões de ficheiros. 1. Estabelecer uma ligação a um sistema remoto. a. Criar uma sessão remota com a máquina gnomo.fe.up.pt . b. Tentar alterar a palavra-chave usando o comando passwd . c. Usar o comando pwd (print working directory) para saber qual o directório actual. d. Consultar os conteúdos do directório com os comandos: ls , ls –l , ls –la . Existem diferenças entre as listagens? 2. Comandos base a. Consultar informação sobre o sistema com o comando uptime . b. Utilizar o comando echo com um argumento: echo “Hello World” . c. Listar os utilizadores ligados no sistema com o comando who , finger e w . Observar as diferenças entre as listagens. d. Testar o envio de uma mensagem a um colega com o comando write . Exemplo: write mgi01000 . Escrever linhas de texto. Para terminar usar a combinação de teclas CTRL+D . e. Estabelecer uma conversação com um colega usando o comando talk . Exemplo: talk mgi01000 . Terminar a sessão com CTRL+D . 3. Sistema de ajuda a. Consultar ajuda sobre o comando w com man w . Para navegar na ajuda utilizar ENTER ou SPACE . Para sair da ajuda utilizar a tecla q . b. O que fazem os comandos wc , quota , mail e history ? Sérgio Nunes (DEEC-FEUP) c. Execute e interprete os resultados do comando quota . d. Usando o comando apropos , descubra o comando que permite apresentar um calendário. Usando esse comando verifique em que dia da semana calhou 1 de Janeiro de 1999? E o seu nascimento? e. Descubra quais os comandos que disponibilizam uma calculadora ao utilizador. 4. Combinação de comandos. a. Execute o comando history . Consulte apenas as últimas 5 linhas com history | tail –n5 , as primeiras 10 linhas com history | head –n10 e apenas os comandos em que foi o usada a palavra “man” com history | grep man . Experimente. b. Saiba quantos comandos já executou com a instrução history | wc –l . O que faz o comando wc –l ? c. Obtenha uma listagem com os utilizadores do MGI que estão ligados no sistema com finger | grep mgi . Como obter apenas os alunos do MGI inscritos este ano lectivo? 5. Sistema de ficheiros a. Use o comando cd para voltar à home. b. Criar um directório chamado “CRC” usando o comando mkdir CRC . c. Criar outro directório chamado “crc” (caixa baixa) usando o comando mkdir crc . d. Entrar no directório “CRC” com cd CRC . Criar uma nova pasta: mkdir aulas . e. Voltar à home com cd . f. Entrar no directório “crc” com cd crc . Criar uma nova pasta: mkdir aulas . g. Voltar à home com cd e executar os comandos tree e tree –d . O que significa a opção –d ? h. Tentar apagar o directório “crc” com rmdir crc . Qual o problema? Tentar resolver de forma a ficar apenas com os directórios “CRC” e “CRC/aulas”. i. Ir para a raiz do sistema com cd / . j. Executar o comando tree –d . k. Guardar o resultado deste comando num ficheiro com redireccionamento: tree –d > ~mgi_____/CRC/aulas/arvore_sistema.txt . l. Voltar à home com cd . m. Ir para a pasta “CRC/aulas” com cd CRC/aulas . n. Consultar o conteúdo do ficheiro página a página com: cat arvore_sistema.txt | more . Usar o SPACE para avançar página a página, ENTER para avançar linha a linha ou o q para sair. Sérgio Nunes (DEEC-FEUP) o. Voltar à home com cd . p. Entrar directamente no directório “aulas” com cd CRC/aulas . q. Executar o comando wget http://www.fe.up.pt/~ssn/2004/crc/canto1.TXT . Consultar a página do manual sobre o comando wget . Para que serve este comando? r. Executar o comando file canto1.TXT . Que tipo de ficheiro é este? s. Utilize o comando ls –lh para saber a dimensão do ficheiro. Qual é? Para que serve a opção –h ? t. Renomear o ficheiro com o comando mv canto1.TXT canto1.txt . u. Fazer uma cópia do ficheiro com o comando cp canto1.txt canto1-copia.txt . v. Visualizar o ficheiro com cat canto1.txt . Que texto é? w. Executar o comando wc canto1.txt . O que significam os três valores? x. Contar o número de linhas em que aparece a referência à palavra “mar”, usando o comando cat canto1.txt | grep mar | wc –l . Experimentar outras combinações. 6. Redireccionamento da entrada e saída a. Voltar à home com o comando cd . b. Guardar o resultado do comando tree num ficheiro, usando o comando tree > arvore.txt . Alternativamente pode ser usado o comando find para ver a estrutura de ficheiros e pastas. c. Enviar um e-mail com este ficheiro em anexo, usando mail <endereço> < arvore.txt. Confirmar a recepção do e-mail. d. Mover o ficheiro “arvore.txt” para a pasta aulas: mv arvore.txt CRC/aulas/arvore.txt . 7. Permissões de ficheiros a. Voltar à home com o comando cd . b. Entrar no directório “CRC/aulas” com o comando cd CRC/aulas . c. Consultar as permissões dos ficheiros nesse directório com o comando ls –l . d. Dar permissões de escrita e leitura para o grupo e para outros ao ficheiro “canto1-copia.txt” usando os comandos chmod g+rw canto1-copia.txt e chmod o+rw canto1-copia.txt . e. Retirar as permissões de leitura ao ficheiro “canto1.txt” para o grupo e para outros, usando os comandos chmod g-r canto1.txt e chmod o-r canto1.txt . 8. Exemplos avançados a. Visualizar o número de visitas às páginas dos alunos do MGI com: cat /var/log/apache/access_log | grep \~mgi . Adapte o caminho ao local do ficheiro de registo do Apache. Sérgio Nunes (DEEC-FEUP) b. Contar o número de visitas a estas páginas com: cat /var/log/apache/access_log | grep \~mgi | wc –l . c. 10 recursos mais vezes requisitados com: cat /var/log/apache/access_log | cut -d ' ' -f 6- | sort | uniq -c | sort -n | tail -n10 . 9. Terminar a sessão a. Para terminar uma sessão executar o comando logout . Sérgio Nunes (DEEC-FEUP)