Regra da Modularidade: Escreva partes simples que se conectem por interfaces claras Eric Raymond, A Arte da Programao Unix
,
Aprenda Terminal Linux pondo a mo na massa- ("ro#$ Tia%o Baciotti &oreira) Caro Aluno.
"arab/ns pela sua deciso em se aventurar pela linha de comando do Linux$ 0 ob1etivo do nosso curso / te a1udar a entender principais comandos de manipulao de textos'arquivos dentro do terminal Linux$
2o. voc3 no vai aprender a instalar o Linux ou usar o mouse e clicar em !cones$ 2o podemos tampouco chama4lo de um curso bsico de Linux (embora isso tamb/m este1a em nosso escopo para um #uturo pr5ximo) pois al%uns conceitos importantes como permiss6es. processos. etc no sero vistos nesse momento para podermos trabalhar mais 7mo na massa8$ 0 importante / despertar em voc3 o interesse e a%uar a curiosidade pelo trabalho na CLI (command line inter#ace)$
0 escopo do curso / linha de comando. letras brancas e #undo preto$ 9o poucos analistas'pro%ramadores que se enveredam pela linha de comando pois pre#erem o caminho mais #cil com 1anelas e !cones coloridos :4)$ ;uer um di#erencial no mercado de trabalho< Aprenda BA9=-
0 ob1etivo do curso / te apresentar os comandos de #orma rpida e ento tra>er problemas para serem resolvidos com a utili>ao do que aprendeu$ A aborda%em peda%5%ica / de experimentao onde voc3 dever buscar'procurar'testar'#uar'descobrir a utili>ao dos comandos$ ?se a a1uda do pr5prio shell-
spero que voc3 %oste da experi3ncia.
Bom Trabalho-
Tia%o Baciotti &oreira
@
Aprenda Terminal Linux pondo a mo na massa- ("ro#$ Tia%o Baciotti &oreira) Atividade 1
9eu ob1etivo / reali>ar al%umas a6es bem simples nesse primeiro problemaA
a) Abrir o terminal Linux
b) Listar os arquivos do diret5rio que se encontra
c) xibir o conteBdo do arquivo passCd existente no diret5rio etc
d) Limpar a tela
e) Disuali>ar a a1uda do comando tac
E
Aprenda Terminal Linux pondo a mo na massa- ("ro#$ Tia%o Baciotti &oreira) Atividade 2
Ftimo$ ;ue bom que voc3 conse%uiu #a>er o primeiro exerc!cio$ Como voc3 sabe / poss!vel ler a a1uda dos comandos do terminal usando Ghelp. por exemplo ls Ghelp mostra a a1uda do comando ls$
9abendo disso. a%ora voc3 deveA
a) xibir o conteBdo do arquivo 'etc'passCd$ (Tente o comando cat)
b) xibir as H primeiras linhas do arquivo 'etc'passCd$ (Acho que voc3 pode avaliar o comando head para resolver esse)
c) xibir as H Bltimas linhas do arquivo 'etc'passCd (?se o tail aqui)
d) "ara #echar. exiba o conteBdo desse arquivo de trs pra #rente (I o contrrio de cat)
J
Aprenda Terminal Linux pondo a mo na massa- ("ro#$ Tia%o Baciotti &oreira) Atividade 3
Le%al. a%ora vamos misturar um pouco as coisas$ Doc3 vai aprender sobre dois operadores da linha de comando$
Damos lA
a) ?tili>e o comando echo e exiba seu nome na tela$ I s5 isso mesmo
b) Ftimo$ A%ora voc3 vai usar o K (sinal de maior) para redirecionar o seu nome para L2T+0 do arquivo nome$txt$ Tente usar o echo 1unto com esse operador$ Tente descobrir como #a>er isso-
c) Liste os arquivos do diret5rio atual e ve1a se o arquivo nomes$txt #oi criado$
d) "or Bltimo. para ter certe>a que deu certo o comando. exiba o conteBdo do arquivo$
e) Ftimo. tente a%ora 1o%ar dentro desse mesmo arquivo o nome de um ami%o seu$ xiba o conteBdo e ve1a se deu certo$ Doc3 tem ( minutos para descobrir como AC+9C2TA+ ao #inal do arquivo o outro nome$ 2o 90B+9C+D+. mas AC+9C2TA+$
&uito bom- At/ aqui voc3 aprendeu como redirecionar sa!da e acrescentar ao #inal de um arquivo$ &as a%ora voc3 vai aprender sobre a maior descoberta do homem. depois da eletricidade$ 0 7"ipin%8-
0 pipin%. ou pipe. ou canali>ao. etc$ / representado pelo s!mbolo M (Leve estar perto da contra4barra no seu teclado. olha a!$$$)
le / o campeo da linha de comando pois permite que se N?2T DO+I09 C0&A2L09---
Damos lA
#) xiba o conteBdo do arquivo 'var'lo%'dmes% (?se a tecla TAB que voc3 completa o caminho do arquivo)$
%) &uita in#ormao no / mesmo<< Tente a%ora C02CAT2A+ esse comando de lista%em com o comando less$ Como se #a> isso< Boa per%unta$$$
P
Aprenda Terminal Linux pondo a mo na massa- ("ro#$ Tia%o Baciotti &oreira) Atividade 4
2essa atividade vamos mudar um pouco as coisas$ Damos trabalhar com diret5rios. que so os equivalentes as pastas no ambiente %r#ico$ 9o H comandos bsicosA cd para voc3 acessar o diret5rio (entrar nele). mQdir para criar diret5rios e rmdir para apa%a4los$
&ais um detalheA 2o unix o $ (ponto) si%ni#ica diret5rio atual e o $$ (ponto ponto) si%ni#ica diret5rio pai$
a) Crie a estrutura de diret5rios abaixo dentro de sua home (a pasta que voc3 1 deve estar. provavelmente)A
b) Ftimo$ A%ora remova o diret5rio Rama e o diret5rio Lelta$ Scil no / mesmo<
c) "ara remover o diret5rio Abc voc3 teria que apa%ar tudo que est dentro dele$ &as vamos #a>er de um 1eito mais #cil$ stando dentro do diret5rio Al#a di%ite rm Gr# Abc
T
Aprenda Terminal Linux pondo a mo na massa- ("ro#$ Tia%o Baciotti &oreira) Atividade 5
Criar diret5rios / divertido mesmo. mas vamos voltar para o trabalho com manipulao de textos- 0 comando cut me permite listar somente CA&"09 que me interessam em um arquivo$ Doc3 deve se atentar para duas coisas ao usar o comando cutA LLI&ITAL0+ e CA&"0 L9NAL0$
9abendo disso. resolvaA
a) &ostre somente o primeiro campo do arquivo 'etc'passCd
b) &ostre o primeiro e o sexto campo desse mesmo arquivo
*)
Aprenda Terminal Linux pondo a mo na massa- ("ro#$ Tia%o Baciotti &oreira) Atividade
A%ora voc3 precisar do conteBdo do arquivo Linux$>ip que disponibili>amos como material extra do curso$ 9e voc3 usa a mquina virtual que eu #orneci ver esses arquivos dentro da pasta Locumentos$ 9eno basta voc3 baixar para trabalhar$
a) xiba o conteBdo do arquivo placas$txt$ Deri#ique que o mesmo est #ora de ordem. no / isso<
b) Coloque esse arquivo em ordem redirecionando a sa!da para dentro do arquivo placas($txt (Tente o sort)
c) Ftimo$ A%ora precisamos ?2I+ o arquivo carros$txt com o arquivo placas($txt$ Tente #a>er isso com o comando 1oin$
d) Ftimo- Acho que voc3 est indo bem$ ?se o Cc e conte a quantidade de linhas do arquivo #uncionrios$txt. ento-
**
Aprenda Terminal Linux pondo a mo na massa- ("ro#$ Tia%o Baciotti &oreira) Atividade !
0Q$ A%ora voc3 precisar resolver al%uns problemas usando o que 1 aprendeu at/ a%ora (e umas coisas novas tamb/m)
a) Liste o arquivo #uncionrios$txt mostrando somente os #uncionrios que tenham pre#ixo () no tele#one$ ("esquise pelo %rep)
b) Conte quantos #uncionrios #oram admitidos em ()*($
c) xiba somente o ano de admisso dos #uncionrios
d) xiba somente o primeiro nome dos #uncionrios
e) xiba somente o primeiro nome dos #uncionrios em letras minBsculas (para converter para letras minBsculas voc3 pode usar tr UA4VW Ua4>W$
#) 0 arquivo #uncionrios$txt possui ()) linhas ao todo$ Livida4o. usando o comando split. em arquivos menores de () linhas cada$
%) xiba somente a JPX linha do arquivo #uncionarios$txt
h) 2umere as linhas do arquivo #uncionarios$txt 1o%ando a sa!da em #uncionarios($txt
*(
Aprenda Terminal Linux pondo a mo na massa- ("ro#$ Tia%o Baciotti &oreira) Atividade "
"ara no se esquecer de qual usurio est lo%ado voc3 pode usar o comando 7;uem 9ou u8$
a) ;ual o nome do usurio lo%ado no momento<
b) ?se o editor nano e crie um arquivo chamado nomes$txt contendo o se%uinteA anaYbanana 1oseYbuscape pedroYmala>arte
c) Crie a%ora o arquivo provedores$txt e adicione o se%uinte conteBdoA Zahoo$com %mail$com bol$com$br
d) xcelente- A%ora use o comando paste para criar um novo arquivo com endereos de email criados a partir dos dois arquivos acima$ sse arquivo dever se chamar e4 mails$txt$
*H
Aprenda Terminal Linux pondo a mo na massa- ("ro#$ Tia%o Baciotti &oreira) Atividade #
"ara #inali>ar vamos manipular al%uns arquivos$
a) Copie o arquivo e4mails$txt para outro$txt usando o comando cp
b) +enomeie o arquivo outro$txt para alterado$txt usando o comando mv
c) Crie um diret5rio com o nome de teste e copie o arquivo e4mails$txt para dentro desse diret5rio$
d) xclua. usando o rm. o arquivo alterado$txt
*,
Aprenda Terminal Linux pondo a mo na massa- ("ro#$ Tia%o Baciotti &oreira) Para$%ns &or chegar at% a'(i)
9e voc3 cumpriu as atividades corretamente 1 conse%uiu ter uma noo do poder que o terminal Linux tem$
stou a disposio pelo email baciotti[%mail$com para a1ud4lo$
Lembre4se de #a>er as atividades extras para sedimentar o que aprendeu-
?m abrao.
Tia%o Baciotti &oreira
*@
Aprenda Terminal Linux pondo a mo na massa- ("ro#$ Tia%o Baciotti &oreira) *estre +oo discorre so$re a ,nter-ace .r/-ica do Us(/rio
Certa noite &estre Soo e 2ubi participavam de um encontro de pro%ramadores que decidiram se reunir para aprender um dos outros$ ?m dos pro%ramadores per%untou a 2ubi a que escola ele e seu mestre pertenciam$ Lo%o ap5s de ter ouvido que eles eram se%uidores do Rrandioso Caminho do ?nix o pro%ramador retrucou sarcasticamente$ \As #erramentas de linha4de4comando do ?nix so arcicas e rudes\. ele desdenhou$ \9istema modernos. propriamente pro1etados #a>em tudo atrav/s de uma inter#ace %r#ica do usurio$\ &estre Soo no disse nada. mas apontou para a lua$ ?m cachorro pr5ximo comeou a latir para a mo do mestre$ \2o consi%o entend34lo-\ disse o pro%ramador$ &estre Soo continuou em sil3ncio. e apontou para a ima%em de Buddha$ ento ele apontou para uma 1anela$ \0 que voc3 est tentando me di>er<\ per%untou o pro%ramador$ &estre Soo apontou para a cabea do pro%ramador. e lo%o depois ele apontou para uma pedra$ \"or que voc3 no tenta ser mais claro<\ exi%iu o pro%ramador$ &estre Soo #ran>iu contemplativamente a testa e deu dois toques no nari> do pro%ramador. empurrando4o numa lixeira ao lado$ nquanto o pro%ramador se debatia no lixo o cachorro andou a esmo e urinou sobre ele$ 2esse momento o pro%ramador alcanou iluminao$