Comandos Unix & Linux Bash Shell



Baixar 52,36 Kb.
Encontro03.07.2018
Tamanho52,36 Kb.

Arquivos e Sistema de arquivos (Parte I)
Nome:__________________________________________________ Matrícula: _____________

Nome:__________________________________________________ Matrícula: _____________

Nome:__________________________________________________ Matrícula: _____________


  1. Bem, vamos conhecer um pouco o ambiente Unix e alguns rudimentos do sistema de arquivos.




    1. Logue-se como “guest” (a senha você já deve saber :-) e abra uma janela de terminal. Em primeiro lugar, vamos descobrir onde estamos. Digite “pwd” (não, não é para mudar a senha. É a abreviatura de “print working directory”). Qual foi a resposta ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. O que existe neste diretório ? Verifique isto com um “ls”. Qual a saída ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Meio vazio, não ? Vamos criar alguns arquivos. Um comando bem versátil para isto é o “cat”. Digite “cat” e gere umas três linhas aleatórias (ou seja, digite o que quiser - só não vale pressionar três vezes a tecla “enter”). No fim, digite ctrl-d. Qual a reação do sistema ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Pois é, o comando cat tem como entrada default o teclado (standard in, stdin) e como saída default o vídeo (standard out, stdout). Mas isto pode ser mudado. Digite “cat > teste1.txt” e gere novamente as três linhas aleatórias, com ctrl-d no fim. Qual foi a reação agora (Dica: verifique o diretório com “ls”)

_______________________________________________________________________________

_______________________________________________________________________________



    1. O símbolo “>” redirecionou a saída padrão para o arquivos “teste1.txt”. Vamos conferir se as suas digitações randômicas estão lá. Digite “cat teste1.txt”. O que ocorreu ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. E será que dá para fazer as duas coisas ao mesmo tempo. Vamos experimentar. Digite “cat teste1.txt > teste2.txt”. O que ocorreu ? (Dica: não esqueça do “ls”)

_______________________________________________________________________________

_______________________________________________________________________________



    1. Bem, já que até agora foi fácil, vamos sofisticar. Mas em primeiro lugar, precisamos de alguma informação extra. Digite “ls -l test*”. Qual o tamanho dos arquivos ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Digite agora “cat teste1.txt >> teste2.txt”. O que ocorreu ? Verifique o tamanho dos arquivos com “ls -l”. Como ficou teste2.txt ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. E o comando cat ainda deixa fazer mais. Tente com “cat test* > teste_do_cat_com_asterisco” (sim, escreva este nome mesmo!). Verifique o diretório com “ls -l”. O que ocorreu ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Um nome longo pode ser bom para identificar um arquivo, mas é cansativo ter que digitá-lo todo. Felizmente, alguém já pensou nisto antes. Digite “cat teste_” e imediatamente depois pressione “esc”e “/”. O que houve ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Será que funciona sempre? Experimente com “cat t”seguido de “esc” e “/”. O que houve ? (Obs: não aperte a tecla “enter”, vamos completar esta linha mais tarde)

_______________________________________________________________________________

_______________________________________________________________________________



    1. É, o sistema vai até onde pode. Para ver os possíveis nomes, pressione “esc” e “?”. Qual foi a resposta ? Onde foi parar o cursor ? O comando cat foi executado ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Bom, chega de cat por enquanto. Complete o comando anterior (do jeito que você preferir). Vamos guardar todos os testes em um diretório. Crie um diretório com o comando “mkdir lixo”. Verifique a situação atual com “ls -l”. Como podemos diferenciar um arquivo de um diretório ? (mesmo se a gente for daltônico :-)

_______________________________________________________________________________

_______________________________________________________________________________



    1. Agora digite “mv test* lixo”. O que ocorreu ? (Dica: tente o “ls -l” e um “ls lixo”)

_______________________________________________________________________________

_______________________________________________________________________________



    1. Hummm, tudo isto está muito parecido com um DOS. Vamos mostrar as vantagens de um sistema de arquivos decente. Digite “ln lixo/teste_”, seguido de um “esc” e “/” (viu, funciona até dentro de subdiretório!) e depois “t”. Complete tudo com um “enter”. Verifique o diretório com “ls -l”. O que aconteceu ? Qual o tamanho do arquivo “t” ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. O comando “ln” criou um “hard link” para o arquivo “lixo/teste_do_cat_com asterisco”. Um hard link significa que existem dois ponteiros para o mesmo arquivo ! (existem sistemas operacionais que consideram isto um erro :-). Tudo que a gente fizer com o “t” também vamos fazer com “lixo/teste_do_cat_com_asterisco”. Duvida ? Em primeiro lugar, qual o tamanho do arquivo “t”e “lixo/teste_do_cat_com_asterisco” ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Agora digite “cat >> t” e escreva alguma coisa aleatória, terminando por “ctrl-d”. Qual o novo tamanho do arquivo “t” ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Digite “ls -l lixo”. O que ocorreu com o arquivo “teste_do_cat_com asterisco” ? Qual seu tamanho ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. No lugar do hard link, também podemos criar um “soft link”, ou “symbolic link” (que alguns sistemas operacionais chamam de “atalho”). Digite “ln -s lixo/teste1.txt t1”. Verifique o diretório com “ls -l”. Quais as características da entrada t1 ? Qual seu tamanho ? Confere com o de “lixo/teste1.txt” ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Digite “cat t1”. O que foi listado ? Confere com a quantidade de bytes de t1 ? O que será que determina o tamanho de t1 ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Será que o truque do item 1.17 funciona para soft links ? Digite “cat >> t1”, escreva alguma coisa (terminando com ctrl-d) e depois verifique os tamanhos de t1 e de lixo/teste1. O que ocorreu ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. E se a gente resolver mudar os atributos dos arquivos ? Digite “chmod u-w t*” e verifique o diretório com “ls -l”. O que mudou ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. E dentro do diretório lixo ? O que mudou (verifique isto com “ls -l lixo”) ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. O contrário também funciona. Vá para o diretório lixo (com “cd lixo”) e digite “chmod a+w t*”. Como ficaram as permissões ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Volte ao diretório original (com “cd”). Como estão as permissões ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Antes da próxima experiência, precisamos de mais um soft link. Digite “ln -s lixo/teste2.txt t2”. Confira o diretório atual (com “ls -l”) e o lixo (com “ls -l lixo”). Agora, remova o arquivo t com o comando “rm t”. O que aconteceu com os arquivos do diretório lixo ? Algum foi apagado ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Um link foi, faltam dois. Digite “rm t1”. O que ocorreu com os arquivos do diretório lixo ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Bem só falta um link. Digite “rm lixo/teste2.txt” ? O que ocorreu com o arquivo t2 ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. E o que acontece se digitarmos “cat t2” ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Chega por enquanto. Limpe tudo (com “rm t2”e “rm -r lixo”)



  1. Bem, agora vamos trabalhar com arquivos em disquete (você trouxe um, não trouxe ??). No Unix, assim, como em qualquer sistema operacional decente (como o MacOS, por exemplo), é necessário “montar” um dispositivo antes de usá-lo. Como isto é uma operação delicada, em princípio só o administrador pode fazer isto (um usuário comum também, mas isto já é assunto para outra aula).




    1. Olhe a janela de terminal. Você verá um prompt. Qual é este prompt ? Com que caracter ele termina ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. O símbolo “$” serve para lembrar que você é um reles mortal, ou seja, um usuário comum. Digite “whoami” (sim, tudo junto mesmo). Qual foi a resposta ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Mas isto pode ser facilmente modificado. Digite “su root” e forneça a senha do administrador (que você também deve saber qual é :-). O que mudou no prompt ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Pois é, o símbolo “#” indica que agora você pode fazer tudo na máquina. Vamos ver se o sistema operacional também concorda. Digite “whoami”. Qual foi a resposta ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Ok, insira o seu disquete na disqueteira (só para conferir: ele tem alguns arquivos, não? E seria até bom se houvessem arquivos com nomes longos). No Unix, tudo está no sistema de arquivos. O diretório que corresponde ao disquete é o “/mnt/floppy”. Digite um “ls -l /mnt/floppy”. O que aconteceu ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Lógico, tinha que dar errado. Esquecemos de montar o disquete. Mas antes, vamos ver o que o sistema conhece de sistemas de arquivos. Digite “cat /etc/fstab”. Esta é a lista dos sistemas a serem montados. A primeira coluna indica o dispositivo, a segunda indica o ponto de montagem e a terceira o tipo do sistema de arquivos. Quem aparece na primeira coluna ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Qual o ponto de montagem da disqueteira ? E o sistema de arquivos default para ela ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Antes de montar um disquete, vamos ver o que está montado. Digite “cat /etc/mtab”. Quantos dispositivos estão montados ? Quais são eles ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Ok, vamos montar um disquete DOS. Digite “mount -t msdos /dev/fd0 /mnt/floppy”. Agora repita o “ls -l /mnt/floppy”. O que aconteceu ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Existia algum arquivo com nome longo no disquete ? Como ficou este nome ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Desmonte o disquete com “umount /dev/fd0”. Agora remonte com “mount -t vfat /dev/fd0 /mnt/floppy”. Repita o “ls -l /mnt/floppy”. Como ficaram os nomes longos ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Viu a diferença que faz um sistema de arquivos? E só para deixar bem clara a diferença entre um dispositivo e o ponto de montagem, digite agora "ls -l /dev/fd0". O que ocorreu?

_______________________________________________________________________________

_______________________________________________________________________________



    1. O linux também tem um sistema de arquivos default, o "ext2". Desmonte o disquete com “umount /dev/fd0”. Agora tente remontar com “mount /dev/fd01”. O que ocorreu ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. O tipo do sistema de arquivos default está na /etc/fstab. Voce tem um CD-ROM ? (Senão, peça um para os professores). Digite "mount /dev/cdrom". Funcionou? Porque não precisamos digitar o ponto de montagem ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Digite agora "ls -l /dev/cdrom". Qual a saída?

_______________________________________________________________________________

_______________________________________________________________________________



    1. E digitando "ls -l /mnt/cdrom", o que ocorre ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Só parta demonstrar o que é uma gerência de arquivos decente - o que ocorre no Windows 9x, por exemplo, se colocarmos um CD, abrirmos uma janela com o seu conteúdo e então apertarmos o botão de eject ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Com o CD-ROM ainda montado, aperte no Linux o botão de eject. O que ocorreu ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Será que o leitor de CD estragou justo agora ? Vamos ver. Digite "umount /dev/cdrom" e aperte o botão. O que houve ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. E dá para fazer mais. Re-insira o CD e monte-o. Digite "cat /etc/mtab". O CD está lá ? Qual a linha dele ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Agora digite "eject /dev/cdrom". O que aconteceu ?

_______________________________________________________________________________

_______________________________________________________________________________

Para terminar, saia do modo administrador com "exit"


  1. Para terminar, uma perguntinha. Você sabe o que são BogoMips?




    1. Você reparou que no início (antes de ativar o servidor X), o Linux avalia o seu computador e diz o seu desempenho ? Não ? Bem, vamos ver isto. Basta olhar o prompt. Digite "ctrl", "alt" e "f1" (tudo junto). O que apareceu ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Ooops, console errada. Tente "ctrl", "alt" e "f2". Quantos BogoMips tem o sistema ? Qual o Processador ?

_______________________________________________________________________________

_______________________________________________________________________________



    1. Volte para o terminal gráfico (deve ser "ctrl", "alt" e "f7" - senão, vá variando as teclas de função até achar). No terminal, digite "cat /proc/cpuinfo". O que apareceu (vendor_id, family, model, model name, cpu MHz e bogomips)

_______________________________________________________________________________

_______________________________________________________________________________



    1. Bogomips serve para duas coisas - um, para o kernel saber a velocidade do processador e se ajustar de acordo. Dois, para enganar os leigos (Bogo vem do inglês "bogus"). Mais detalhes podem ser achados em /usr/doc/HOWTO/mini/Bogomips :-). E você notou que para falar de Bogomips usamos mais dois conceitos interessantes (várias consoles virtuais e do diretório /proc) ? Mais detalhes sobre isto e o sistema de arquivos ext2 nas próximas aulas…




©livred.info 2017
enviar mensagem

    Página principal