Você está na página 1de 15

Introduo ao Terminal Linux (Bash)

Comandos bsicos para manipulao de


arquivos texto

Apostila de xerc!cios


























"ro#$ Tia%o Baciotti &oreira

&aio'()*(
(+evisada em maio'()*,)





















































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

Alfa-----Beta
|--Gama
|--Delta
|--Abc---Aplic
|--Dos
|--Xyz-- abc

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$

"er#eito- A%ora 1 podemos executar al%uns comandosA

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$

ric +aZmond. 0s ]oans do &estre Soo