Você está na página 1de 37

UniversidadeFederaldeSantaMaria

PETCinciadaComputaoUFSM

CursodeIntroduoaoGNU/Linux

GuilhermeA.KrueldeAndrade
GuilhermeGonalvesSchardong
GuilhermeWeigertCassales

2011

Sumrio
1Introduo........................................................................................................................................4
1.1OqueLinux...........................................................................................................................4
1.2OqueGNU............................................................................................................................4
1.3Caractersticasdosistema.........................................................................................................4
1.3.1Usuriosegrupos..............................................................................................................5
1.3.2Arquivoseestruturadediretrios.....................................................................................5
1.3.2.1Nomesdearquivos....................................................................................................5
1.3.2.2EstruturabsicadosarquivosdosistemaLinux.......................................................6
1.3.2.3Sistemasdearquivos.................................................................................................7
2Comandosbsicos...........................................................................................................................8
2.1Oprimeirocomando:listandoocontedodeumdiretrio......................................................8
2.2Obtendoajuda...........................................................................................................................9
2.3Redirecionandoasadaparaumarquivo..................................................................................9
2.4Criandoarquivos................................................................................................................10
2.5Coringas.............................................................................................................................10
2.6Navegandopelaestruturadediretrios..............................................................................11
2.7Criandodiretrios..............................................................................................................12
2.8Removendoarquivosediretrios......................................................................................12
2.9Copiandoarquivosediretrios..........................................................................................13
2.10Movendoarquivosediretrios........................................................................................13
2.10.1Utilizandomaiseficientementeoshell.........................................................................14
2.11Utilizandodispositivosdearmazenamento......................................................................14
2.12Manipulaodeusuriosegrupos...................................................................................15
2.12.1Adicionandousurios...............................................................................................16
2.12.2Removendousurios................................................................................................16
2.12.3Definindoasenhadeumusurio.............................................................................16
2.12.4Criandogrupos.........................................................................................................17
2.12.5Removendogrupos...................................................................................................17
2.12.6Visualizandoalgumasinformaes..........................................................................18
2.13Permisses,donosegruposdosarquivos........................................................................18
2.13.1Modificandopermisses...........................................................................................18
2.13.2Modificandoodonoeogrupodeumarquivo.........................................................19
2.14Mudandodeusurio.........................................................................................................19
2.15Definindoapelidosparacomandos..................................................................................19
2.16Oarquivadortar...............................................................................................................20
2.17UtilizandooeditorVim...................................................................................................21
2.18Outrasmaneirasdeverocontedodeumarquivo..........................................................22
2.19Maisalgunssmbolosespeciais.......................................................................................23
3Controlandoaexecuodeprogramas..........................................................................................24
3.1Ocomandotop........................................................................................................................24
3.2Ocomandojobs......................................................................................................................24
3.3Ocomandopstree...................................................................................................................24
3.4Ocomandopidof...................................................................................................................24
3.5Interrompendoaexecuodeprocessos.................................................................................24
4ShellScript....................................................................................................................................26
4.1OqueumScriptemShell?..................................................................................................26
4.2OlMundoCruel...................................................................................................................26
4.3Lendooteclado......................................................................................................................27

4.4Brincandocomvariveis........................................................................................................27
4.5Laoseestruturasdecontrole.................................................................................................28
4.6Testescondicionais................................................................................................................28
4.7Exemplosdelaoseestruturasdecontrole............................................................................29
4.8Entradaporargumento...........................................................................................................30
5TrabalhandocomaLinguagemC.................................................................................................32
5.1CompiladorGCC....................................................................................................................32
5.2DepuradorGDB.....................................................................................................................32
5.3DepuradorDDD......................................................................................................................33
6ConectandomquinasremotasutilizandoSSH.............................................................................34
6.1Utilizandooscp.......................................................................................................................34
7Maisinformaes..........................................................................................................................36
7.1InterfaceGrfica.....................................................................................................................36
7.2Buscandooutrasfontesdeinformao...................................................................................36
8Bibliografia....................................................................................................................................37

CursodeIntroduoaoGNU/Linux

1Introduo
Estecursopretendefornecerosconhecimentosiniciaisnecessriosparaousodesistemas
GNU/Linux. Para isso sero apresentadas as principais caractersticas do sistema,
comandosbsicosealgunsaplicativosteisaosiniciantesnousodessessistemas.Ofoco
principal desse curso ser o uso das funcionalidades que rodam sem a utilizao de
interfacegrfica.Issosedeveaofatodequeessaformadetrabalhoproporcionamelhor
conhecimentodosistema,permitetrabalhomaiseficienteeexecutartarefasquenoso
acessveisatravs deprogramasgrficos.Almdissohapossibilidadedeosalunos
necessitarem usar uma estao na qual no h servidor grfico, como geralmente
acontececomamaioriadosservidoresWeb,debancodedados,deFTP,etc.

1.1OqueLinux
LinuxumsistemaoperacionalcriadoporLinusTorvaldsem1991,naUniversidadede
Helsinki,naFinlndia.EmumsistemaGNU/Linuxeleoquechamamosdekernelou
ncleodosistemaoperacional.Eleoresponsvelporfazerainterfaceentreosoutros
programaseohardwaredosistema,demaneiraaabstrairdetalhesdofuncionamento
dessehardware.OLinuxfoibaseadonoMinix,pequenosistemaoperacionalcriadopor
Andrew S.Tanembaum, com finalidades de ensino, que porsua vez foibaseado no
sistemaUnix.
OLinuxumsoftwarelivre,licenciadopelaGNUPublicLicense(GPL),oquesignifica
quepodesercopiado,distribudo,adaptado,executado,melhorado,semquequemofaa
sejacobradoporisso.

1.2OqueGNU
FundadoporRichardStallman,em1984,GNUumprojetodedesenvolverumsistema
operacionallivrecompatvelcomopadrodoUnix.Essessistemassoconhecidoscomo
Unixlike,oLinuxestincludoentreeles.
QuandosurgiuoLinuxjhaviamsidocriadasvriasferramentascomo,porexemplo,um
compilador C e um editor de textos, no entanto, ainda no havia um kernel. O que
aconteceufoiqueLinusTorvaldscomeouadaptarasaplicaesdoGNUparausarno
Linux,eoutrosdesenvolvedoresseguiramessatendncia.OLinuxpenasum kernel
(ncleodosistemaoperacional),queporsisnousvel.Oqueusamosumamistura
dokernel,queoLinux,comosistemaGNU.Devidoaissoargumentasequeosistema
deveserchamadoGNU/Linux.

1.3Caractersticasdosistema
Nessaseoapresentaremosalgumascaractersticasdosistemacomousuriosegrupos,

2010PETCinciadaComputaoUFSM

Pgina4/37

CursodeIntroduoaoGNU/Linux
estruturadearquivosediretrios,sistemasdearquivoserepresentaodosdispositivos
dehardware.

1.3.1Usuriosegrupos
OLinuxumsistemaoperacionalmultiusurio.Cadausuriopossuiumidentificador,
usualmente chamado login euma senha, necessrios para entrar no sistema. Alm
dissocadausuriopertenceaumoumaisgrupos.Osgruposdefinempermissespara
acessararquivos,utilizaralgunsperifricosouexecutarcertoscomandos.
Um desses usurios, chamado root, o administrador do sistema, o qual um
superusurio,autorizadoafazerqualquercoisanosistema.

1.3.2Arquivoseestruturadediretrios
EmumsistemaLinuxexisteapenasumarvoredediretrios,quesooequivalenteao
queoutrossistemascomooWindowschamamdepastas.Osdiretriosnadamaissodo
quearquivosespeciaisquecontminformaes,sobreoutrosarquivosediretriosque
estodentrodele.
Almdisso,osdispositivosdearmazenamentonosorepresentadosporletras,comono
DOSounoWindows.OqueacontecenoLinuxqueaspartiesdedisco,oscdroms,
disquetes,etc.,somontadosnarvoredediretrios.Issosignificaquedefinidoum
diretrioquevaiconterosdadosdodispositivodearmazenamento.
Outro aspecto importante do sistema que os dispositivos de hardware tambm so
representadosporarquivosdosistema.IssofeitonossistemasbaseadosemUnixpara
facilitarainterfacedoprogramadorparacomessedispositivo.Dessaformaenviarou
receberdadosdeumdessesdispositivosresumeseaescreveroulerumarquivo.
Maisumpontoaressaltarquecadaarquivopossuiumdonoeumgrupo,almde
permissesdeleitura,escrita,eexecuodistintasparaoseudono,seugrupo,eparaos
outrosusurios.

1.3.2.1Nomesdearquivos
No Linux o nome dos arquivos e diretrios sensvel capitalizao, ou seja, h
diferenciaoentreletrasminsculasemaisculas.Um.noinciodonomedeum
arquivoediretrioindica queeleoculto,porexemplo: .arquivo_oculto. Os
nomesdediretrios soseparadoshierarquicamentepelocaracter/.Assim,parase
referenciar ao diretrio fulano, que est dentro do diretrio home, devese escrever
home/fulano.Odiretrioprincipaldahierarquia,quecontmtodososoutros,chamado
raiz representadoapenaspor /. Aseguirapresentaseumalistadealgunsnomes
especiaisdediretrioeoqueelesreferenciam:

2009PETCinciadaComputaoUFSM

Pgina5/37

CursodeIntroduoaoGNU/Linux
.

referenciaodiretrioatual;

..

referenciaodiretriopaidoatual,ousejaaquelequeestlogoacimadelena
hierarquia,queocontm;

referenciaodiretriodousurio,usualmentechamadodehomedousurio;

referenciaodiretrioraiz.

1.3.2.2EstruturabsicadosarquivosdosistemaLinux
OsistemaLinuxgeralmentepossuiaseguinteestruturabsicadediretrios:
/bin Contm arquivos de programas dosistema quesousados comfreqncia
pelosusurios.
/boot Contmarquivosnecessriosparaainicializaodosistema.
/dev

Contmarquivosusadosparaacessardispositivos(perifricos)existentesno
computador.

/etc

Arquivosdeconfiguraodeseucomputadorlocal.

/home Diretrio contendo os diretrios dos usurios. Geralmente os usurios


humanospossuemdiretrioscomonome/home/login
/lib

Bibliotecascompartilhadaspelosprogramasdosistemaemdulosdokernel.

/mnt

Contmdiretriosnormalmenteusadoscomopontodemontagemtemporrio.

/proc Sistemadearquivosdokernel.Estediretrionoexisteemseudiscorgido,
elecolocadolpelokerneleusadopordiversosprogramasquefazemsua
leitura,verificamconfiguraesdosistemaoumodificamofuncionamentode
dispositivos,atravsdaalteraoemseusarquivos.
/root Diretriodoadministradordosistema.
/sbin Diretriodeprogramasusadospelosuperusurio(root)paraadministraoe
controledofuncionamentodosistema.
/tmp

Diretrioparaarmazenamentodearquivostemporrioscriadosporprogramas.

/usr

Contmmaiorpartedeseusprogramas.Normalmenteacessvelsomentecomo
leitura.

/var

Contm maior parte dos arquivos que so gravados com freqncia pelos
programasdosistema,emails,spooldeimpressora,cache,etc.

2010PETCinciadaComputaoUFSM

Pgina6/37

CursodeIntroduoaoGNU/Linux

1.3.2.3Sistemasdearquivos
Umsistemadearquivosoquedeterminacomoseusdadossoorganizadosemum
dispositivodearmazenamento.OLinuxpossuisuporteavriossistemasdearquivopara
discos, sendo os principais o ext2, o ext3 e atualmente vem sendo bastante usado o
Reiserfs.AlmdissooLinuxpossuisuporteasistemasdearquivosutilizadospeloDOSe
peloMSWindows,comoofat16,ofat32eNTFS.

2009PETCinciadaComputaoUFSM

Pgina7/37

CursodeIntroduoaoGNU/Linux

2Comandosbsicos
AgoravamoscomearaestudaralgunscomandosdoLinux.Paraissovamosirparaum
terminalvirtual.OLinuxusualmentepossui6terminaisvirtuaisemmodotextoeum
terminalgrfico.ParaalternarentreosterminaispressionaseAlt+F#,#sendoonmero
doterminalparaoqualsequeralternar.Casoestejanomodogrficosernecessrio
pressionarCtrl+Alt+F#.
Noterminal,paraentrarnosistema,digiteseulogin,esenhaquandoperguntado.Ir
parecerumsinaldeprontoparecidocom fulano@localhost~$, ondedevemser
digitadososcomandos.Oscomandosadigitadosseroexecutadospelointerpretadorde
comandosou shell, comogeralmentechamado.Normalmenteopessopassadas
aoscomandosutilizandoosformatos-O ou --opcao.

2.1Oprimeirocomando:listandoocontedodeumdiretrio
Ocomandolsusadoparavisualizarocontedodeumdiretrio.Suasintaxebsica:
ls [opes][diretrio ou arquivo]
Exemplos:
ls

listacontedododiretrioatual

ls~

listaocontedodahomedousurioqueexecutao
comando

ls..

listaocontedododiretriopai

ls/home/feliz/batatas/ listaocontedododiretriobatatas,queest
dentrododiretriofeliz,queestdentrodo
diretriohome,queestdentrodoraiz
lsdocs/

listaocontedododiretriodocs,queestdentro
dodiretrioatual.

Algumasopesdocomandols:
l

mostrainformaesextrassobreosarquivos,comexibionaformadelista,
umarquivoporlinha;

mostraotamanhodosarquivos;

mostraosarquivosocultos;

humanreadable,emconjuntocomsoul,mostraostamanhosdos
arquivosemunidadescomKB,MBouGB.

2010PETCinciadaComputaoUFSM

Pgina8/37

CursodeIntroduoaoGNU/Linux
Obs.: as opes que no recebem argumentos podem ser agrupadas, na maioria dos
comandos.Porexemplo,ocomando ls -la listaocontedodosdiretriosemuma
listadetalhadaexibindoosarquivosocultos.

2.2Obtendoajuda
Umaferramentamuitoimportanteocomandoman,eleserveparamostrarpginasdo
manualdeumcomando.Nososcomandosdosistemasocobertospeloman, h
tambmpginassobrecomandosdelinguagensdeprogramaocomoalinguagemC,e
sobrearquivosdeconfiguraodosistemaedeaplicativos.Asintaxebsica:
man [seo] <tpico>
Exemplos:
manls

mostrainformaessobreocomandols;

man3printf mostrainfromaessobreocomandoprintfdalinguagemC.
Notequefoiindicadoaseo3,paraveraseoLinux
Programmer'sManual.Senofosseindicadaaseoseria
mostradoomanualdocomandoprintfdoshell.
Dentrodomanutilizeas telasdeseta, PgUp e PgDn pararolarotexto.possvel
pesquisarumtexto,pressionando/elogoapsdigitandootextobuscarepressionando
Enter.UtilizeateclanparairparaaprximaocorrnciaeShift+nparairparaa
anterior.Parasairdomanpressinaseq.
Outra maneira de obter informaes de ajuda o comando info, o qual mostra
informaesestendidassobreocomando.Asintaxebsica:
info <tpico>

2.3Redirecionandoasadaparaumarquivo
Pararedirecionarasadadeumcomandoparaumarquivoutilizaseossmbolos>e
>>.Osmbolo>apagaocontedooriginaldoarquivo,enquantoosmbolo>>
concatenaasadadocomandonofinaldoarquivooriginal.
Exemplo:
ls > lista.txt

redirecionaasadadocomandolsparaoarquivo
lista.txt,apagandoocontedodesse;

ls >> lista.txt

omesmoqueoanterior,masnoapagaocontedo
originaldoarquivo,apenasconcatenaasadanofinaldo
mesmo.

2009PETCinciadaComputaoUFSM

Pgina9/37

CursodeIntroduoaoGNU/Linux
Vamosveroutroexemplodeusodessafuncionalidadenoprximotpico.

2.4Criandoarquivos
Aquivoalgunscomandosquepodemserusadosparacriararquivosparaseremusados
nostestesdoscomandosdestaapostila.
O comando touch, tem por objetivo atualizar a data de acessode um arquivo. No
entanto,quandousadoumnomedearquivonoexistentecomoargumento,criadoum
arquivovazio.Asintaxe:
touch nome_do_arquivo
Ocomandocatfoicriadoparconcatenarocontedodevriosarquivosemostrlopor
nasadapadro.Essecomandotambmpodeserutilizadoparamostrarocontedode
umarquivo.
Exemplos:
cat exemplo.txt

mostranoconsoleocontedodoarquivoexemplo.txt;

cat arq1 arq2.txt

mostranoconsoleoscontedosdearq1.txtearq2.txt,
concatenados.

O comando cat sem argumentos l a entrada padro do teclado. Dessa maneira se


redirecionarmossuasadaparaumarquivo,podemosutilizloparaadicionartextoa
arquivos.
Exemplos:
cat > texto.txt

escreveoquefoidigitadonoarquivotexto.txt,apagandoo
contedooriginaldoarquivo;

concatenaoquefoidigitadonofimdoarquivotexto.txt
semapagarseucontedooriginal.
Apsdigitadootexto,devesepressionar Ctrl+d parasinalizarofimdeentrada, ou
Ctrl+cparacancelar.
cat >> texto.txt

2.5Coringas
Coringas(ourefernciaglobal)umrecursousadoparaespecificarumoumaisarquivos
oudiretrios dosistemadeumasvez.Esteumrecursopermitequevocfaa a
filtragemdoqueserlistado,copiado,apagado,etc.
TiposdecoringasnoGNU/Linux:

2010PETCinciadaComputaoUFSM

Pgina10/37

CursodeIntroduoaoGNU/Linux
[a-z,1,0]

Fazrefernciaaintervalodecaracteresdeaatzou1ou
0naquelaposio.

Fazrefernciaaumaletranaquelaposio.

[padro]

Faz referncia a uma faixa de caracteres de um


arquivo/diretrio.

[a-z][0-9]

Faz referncia a caracteres de a at z seguido de um


caracterde0at9.

[a,z][1,0]

Faz a referncia aos caracteres a e z seguido de um


caracter1ou0naquelaposio.

Casoaexpressosejaprecedidaporum^,fazrefernciaaqualquercaracterexcetooda
expresso.Porexemplo[^abc]fazrefernciaaqualquercaracterexcetoa,bec.
Lembrando que os tipos de coringas ("*", "?", "[]") podem ser usados juntos. Para
entendermelhorvamosprtica:
ls/usr/teste/*

listatodososarquivosdodiretrio/usr/teste

ls*.txt

pegatodososarquivosquecomeamcomqualquer
nomeeteminaterminamcom.txt

lsteste?.txt

pegatodososarquivosquecomeamcomonome
teste,tenhamqualquercaracternolugardocoringa?
eterminemcom.txt

lsteste[13].txt

pegatodososarquivosquecomeamcomonome
teste,tenhamqualquercaracterentreonmero13
nolugarda6aletraeterminemcom.txt

lsteste[4,5].*

listatodososarquivosquecomeamcomteste
contmnmerosde4e5naquelaposioeterminem
comqualquerextenso

2.6Navegandopelaestruturadediretrios
Paranavegarpelaestruturadediretriosutilizaseocomandocd,quesignificachange
directory.
Sintaxe:
cd <diretrio>
Exemplos:

2009PETCinciadaComputaoUFSM

Pgina11/37

CursodeIntroduoaoGNU/Linux
cd..

mudaparaodiretriopai;

cd../pix

mudaparaodiretriopixqueestdentrododiretriopai;

cdtextos

mudaodiretrioatualparaodiretriotextosqueestnodiretrio
atual;

cd/usr/bin

mudaparaodiretrio/usr/bin;

cd~

mudaparaodiretriohomedousurio.

cd

equivalenteaoexemploanterior

2.7Criandodiretrios
Paracriardiretriosutilizaseocomandomkdir.
Sintaxe:
mkdir [opes] nome do diretrio
Opesinteressantes:
p

criaodiretrioetodososdiretrios
inexistentesprimeiro;

Exemplos:
mkdir teste

criaodiretriotestenodiretrioatual;

mkdir /home/xyz/doc

criaodiretriodocdentrododiretrio/home/xyzj
existente;

mkdir -p /home/xyz/doc omesmoqueoanteriorexcetoque/home/xyzser


criadosenoexistir.

2.8Removendoarquivosediretrios
Pararemoverarquivosediretriosutilizaseocomandorm.Asintaxebsica:
rm [opes] <lista de arquivos e diretrios>
Algumasopesdorm:
-r

apagarecursivamentediretrio;

-i

pedeconfirmao;

2010PETCinciadaComputaoUFSM

Pgina12/37

CursodeIntroduoaoGNU/Linux
-r

apagarecursivamentediretrio;

-f

apagaarquivosprotegidoscontraescritasempedirconfirmao(desdeque
pertenamaousurio)

Exemplosdeuso:
rm abacate

apagaoarquivoabacate,nodiretrioatual;

rmrfverdeazulcores

apagaosdiretrioouarquivoscomnomes
verdeazulcores,dodiretrioatual,sempedir
confirmao.

2.9Copiandoarquivosediretrios
Paracopiararquivosediretriosutilizaseocomandocp.Suasintaxeaseguinte:
cp [opes] <origem 1> [origem 2] ... [origem n] <destino>
Sedestinonoexistirouforumarquivo,entoapenasumaorigemdeveserfornecida.Se
destinojexistireforumdiretrio,entotodosostensespecificadoscomoorigemsero
copiadosparadentrodele.
Opes:
-r

copiarecursivamentediretrio(necessrioparacopiardiretrios);

-f

sobrescrevearquivossempedirpermisso.

2.10Movendoarquivosediretrios
Ocomandomvusadoparamoverarquivosediretriosparaoutroarquivooudiretrio.
Essecomandopodeserusadotambmpararenomeararquivos.
Sintaxe:
mv <lista de arquivos ou diretrios> <destino>
Seodestinoforumarquivo,apenasumarquivopoderserespecificadocomoorigem,se
oarquivojexistirsersobrescrito,casocontrriosercriadoumnovoarquivocomo
nomededestino.Casosejaumdiretrio,sejexistir,osarquivosediretriosdeorigem
sero movidos para dentro do diretrio. impossvel mover um arquivo para um
diretrionoexistente.
Algumasopesteis:
-i

pedeconfirmaoaosobrescreverumarquivojexistente.

2009PETCinciadaComputaoUFSM

Pgina13/37

CursodeIntroduoaoGNU/Linux

Exemplos:
mvnome1nome2

Senome2forumarquivo:equivalentearenomear
nome1comonome2(searquivo2jexistirser
sobrescrito).
Senome2forumdiretriojexistente:move
nome1paradentrodenome2;

mvorigem1origem2

moveorigem1origem2eorigem3,queestdentro
dodiretrio/home,paradentrodapastadestino.

/home/origem3destino

2.10.1Utilizandomaiseficientementeoshell
Halgumasfacilidadesqueoshellfornece,quepossibilitamseuusomaiseficiente.So
comandoseatalhosquepodempouparumpoucodetrabalhoaousurio.
Noshell,possvelcircularentrecomandosusadosanteriormenteutilizandoassetas
paracimaeparabaixo.Digitandoocomandohistorynoshellmostradoohistrico
decomandosarmazenado.Pressionando Ctrl+r,aparecerumcampodebuscadotipo
findasyoutype(buscaenquantovocdigita),decomandosnohistrico.
Paralimparatela, digitaseocomando clear,oumais eficientemente, utilizase o
atalhoCtrl+l.Quandoousurioquisersairdoshell,bastadigitarocomandoexit,ouo
atalhoCtrl+d.
possvel mandar um sinal de trmino (break) para um programa, forando o
encerramento de sua execuo, utilizando o atalho Ctrl+c. Pressionando Ctrl+z,
possvelpararaexecuodoprograma.ApspressionarCtrl+z,digitebgparacontinuar
aexecuoemsegundoplano(background),ou fg (foreground)paracontinulaem
primeiroplano.
Almdissooshellpossuiorecursodeautocompletarcomandosenomesdearquivos.
ParausarissobastainicaradigitaoepressionarateclaTab,casoexistaapenasuma
possibilidade o nome de arquivo ou comando ser completado automaticamente. Se
houvermaisdeumapossibilidade,pressionandoTabnovamente,aparecerumalistade
possibilidadesdecompleo.Casonohajanenhumapossibilidadedeautocompletara
digitaonoacontecernadaaopressionarTabpelasegundavez.
Pararolarateladoterminalsegureatecla Shift epressione PageUp parasubire
PgDownparadescer.

2.11Utilizandodispositivosdearmazenamento
No sistema GNU/Linux para utilizar dispositivos de armazenamento necessrio

2010PETCinciadaComputaoUFSM

Pgina14/37

CursodeIntroduoaoGNU/Linux
primeiromontlos.Algunsdispositivossomontadosautomaticamentenainicializao
dosistema,comoaspartiesondeestoosarquivosdoS.O.eosdosusurios.
Olhando o contedo do diretrio /dev, vse vrios arquivos que representam
dispositivos,osdiscoseasparties,assimcomooutrosdispositivosdearmazenamento.
Normalmenteosdiscosrgidossorepresentadosdaseguintemaneira:
BIOS

Windows Linux

PrimaryMaster

C:

/dev/hda

PrimarySlave

D:

/dev/hdb

SecondaryMaster

E:

/dev/hdc

SecondarySlave

F:

/dev/hdd

DriveCDROM

/dev/cdrom

DrivedeDisquetes

A:

/dev/fd0

As parties de um disco so nomeadas anexando o nmero da partio ao do


dispositivo.Assim,aprimeirapartiododisco /dev/hdb sechamar /dev/hdb1.
Osnomesaquifornecidossoapenasexemplosdoqueacontecenamaioriadossistemas,
emalgunscasosodriveCDROMpodeserrepresentadopor/dev/cdroms/cdrom0,
porexemplo.
Paramontarumdispositivoouumapartioutilizaseocomando mount.Geralmente
utilizase:
mount <dispositivo> <ponto de montagem>
Noentantoessecomandospodeserrodadopelousurioroot.Osusuriosnormaiss
podem montar dispositivos que o superusurio tenha configurado para isso.
Principalmente em sistemas desktop comum os usurios poderem montar algumas
mdiasremovveis,comoCDROMediscosflexveis.
Para montar um desses dispositivo usase algo como: mount <ponto de
montagem>. Pontos de montagem comumente usados para CDROM so
/mnt/cdrom, /media/cdrom, /cdrom, drivers/cdrom. Para disquetes:
/mnt/floppy,/media/floppy,/floppy,drivers/floppy.
Antesderemoveramdiaprecisodesmontlautilizandoocomando umount.Basta
digitar o comando umount <ponto de montagem>. Para desmontar um
dispositivonecessrioqueelenoestejasendousado.
Alguns sistemas atuais estoconfigurados parausar automount,que fazcom que os
dispositivossejammontadosedesmontadosautomaticamente.

2.12Manipulaodeusuriosegrupos
Nessa seo apresentaremos comandos para criao, remoo de usurios e grupos,

2009PETCinciadaComputaoUFSM

Pgina15/37

CursodeIntroduoaoGNU/Linux
visualizaodosgruposaqueumusuriopertence,edosusuriospertencentesaum
grupo.Essastarefasspodemserexecutadaspelosuperusurio.

2.12.1Adicionandousurios
Paraadicionarusuriosusaseocomandouseradd.Asintaxebsicadocomando:
useradd <login> [opes]
Algumasopes:
-m

criaahomedousurio,utilizandoalocalizaopadro,normalmente
/home/login;

-G

recebecomoargumentoumalistadosgruposaqueousuriopertencer,
separadosporvrgulas,oprimeirogruposerogrupoprincipaldousurio;

-p

recebecomoargumentoasenhadousuriocriptografada;

-d

permitedefinirumahomediferentedapadro.

Exemplo:
useraddlocomGusers,inf2006

criaumusuriocomologinloco,
adicionandooaosgruposuserse
inf2006ecriasuahomena
localizaopadrodosistema.

2.12.2Removendousurios
Pararemoverusuriosusaseocomandouserdel.Asintaxe:
userdel [opes] login
Aopo-rfazcomqueahomedousuriosejaapagada.
Exemplo:
userdelrloco

removeousuriocomologinloco,
eapagaseudiretriohome.

2.12.3Definindoasenhadeumusurio
Asenhadeumusuriopodeserdefinidautilizandoseocomando passwd.Sevoc
criouumusurioutilizandouseradd,semaopop,entosernecessriocriaruma
senhaparaele.Asintaxebsicadocomando:

2010PETCinciadaComputaoUFSM

Pgina16/37

CursodeIntroduoaoGNU/Linux
passwd <login>
Aousaressecomandoousuriosersolicitadoainserirumasenha,logoaps,asenha
deverserrepetidaparaconfirmao.Feitoisso,seassenhascoincidirem,estardefinida
a nova senha do usurio. O usurio pode modificar sua prpria senha digitando o
comandopasswdsemargumentos,nointerpretadordecomandos.
Exemplo:
passwdloco

pedeparamudarasenhadousurio
loco.

2.12.4Criandogrupos
Ocomandogroupaddusadoparacriargrupos.Asintaxe:
groupadd <nome_de_grupo>
Exemplo:
groupaddinf2009

criaogrupoinf2009.

2.12.5Removendogrupos
Ocomandogroupdelusadopararemovergrupos.Asintaxe:
groupdel <nome_de_grupo>
Exemplo:
groupdelinf2009

2009PETCinciadaComputaoUFSM

removeogrupoinf2009.

Pgina17/37

CursodeIntroduoaoGNU/Linux

2.12.6Visualizandoalgumasinformaes
Paraveraquegrupospertenceumusuriodigitase:
groups usurio
Omitindoousurionocomando,somostradososgruposdousurioatual.

2.13Permisses,donosegruposdosarquivos
Aoexecutarocomandols -l,emcadalinhaaparecealgoassim:
drwxr-xr-- 2 fulano users 1024 Jun 18 14:30 textos
Presteatenonaprimeirapartedessalinha,aquelasletrasqueaparecemlestodizendo
seotemumdiretrioouno,easpermissesdeleitura(r),escrita(w)eexecuo
(x), para o dono do arquivo, para o grupo do arquivo, e para os outros usurios,
respectivamente. Um em uma posio significa que o atributo est desativado.
Tambmtemosasinformaesdequeoarquivopertenceaousuriofulanoeaogrupo
users.Agoravamosvernassubseesseguintescomomodificaraspermissesdeum
arquivo,seudonoeseugrupo.

2.13.1Modificandopermisses
Ocomandochmodusadoparamudaraspermissesdearquivosediretrios.Omodo
maisprticodemudarpermissespassarparaocomandoumaseqnciade3dgitos
querepresentam,cadaum,aspermissesparaousuriodonodoarquivo,paraogrupoe
paraosoutros,nessaordem.Parafromaressaseqnciadedgitoslevaseemcontaos
valoresdaspermissesqueso:
1:Execuo;
2:Escrita;
4:Leitura.
Agorabastasomaraspermisseseordenlasnaordem ugo(usurio,grupo,outros).
Assim,paradarpermissodeleituraescritaeexecuoparaodonodoarquivo,digitase
7(1+2+4).Paradarpermissesdeleituraeexecuoparaogrupodigitase5(1+4)epara
darnenhumapermissoaosoutrosusuriosdigitase0.Assimformaseaseqncia750.
Ocomandoparadaressapermissoaumdiretriochamadotextos,ficariaassim:
chmod 750 textos
Executandoocomandolslteramosnalinhaemqueapareceodiretrio,oseguinte:
drwxr-x--- 2 fulano users 1024 Jun 18 14:30 textos
Aopo -R usadaparamodificarrecursivamenteaspermissesdeumdiretrios,ou
seja, ao utilizla estase modificando as permisses de tudo o que est dentro do
diretriotambm.

2010PETCinciadaComputaoUFSM

Pgina18/37

CursodeIntroduoaoGNU/Linux
Umacuriosidade:deondesurgiramessesvaloresparaleitura,escritaegravao?Basta
consideraraseqnciarwxcomoumaseqnciadebits,obit1significandoativoeo
bit0,inativo.Assim,aspermissesquedemosparaogrupo,noexemploanterior,em
binrio,ficariamassim:101(rx).Convertendoessenmeroparaanotaodecimal
temoscomoresultado5.

2.13.2Modificandoodonoeogrupodeumarquivo
Paramodificarodonodeumarquivooudiretrioutilizaseocomando chown.Basta
digitar:
chown <usurio> <lista de arquivos ou diretrios>
Aopo-Rtemomesmoefeitoquenocomandochmod.
Exemplo:
chownbeltranotextos

fazdebeltranoonovodonodetextos;

chownRbeltranotextos fazdebeltranoonovodonododiretriotextos
edetodooseucontedo.
Ocomandochgrpmodificaogrupodeumarquivo.Asintaxemaisusada:
chgrp <grupo> <lista de arquivos ou diretrios>
Aopo-Rtemomesmoefeitoquenocomandochmod.
Exemplo:
chgrpadmtextos

mudaogrupodetextosparaadm;

chgrpRadmtextos

mudaogrupodetextosedetodooseucontedopara
adm.

2.14Mudandodeusurio
possvelmudardeusuriosemterdesairdoshellouiniciaroutro.Paraissoutilizaseo
comandosu.Bastadigitar:
su <usurio>
Oprogramaperguntarpelasenhadousurioespecificado.Aoterminardeutilizar o
outrousurio,useocomando exit oupressione Ctrl+d paravoltaraousurio que
executouocomandosu.

2.15Definindoapelidosparacomandos
Ocomandoaliaspermitecriarapelidosparacomandos.Geralmenteutilizase:
alias <apelido>=<comando>
2009PETCinciadaComputaoUFSM

Pgina19/37

CursodeIntroduoaoGNU/Linux
Seocomandopossuirespaosoucaracteresespeciaispodeserprecisocolocloentre
aspas.
Exemplos:
aliaslista=ls

apartirdeagora,aodigitarocomandolistanoshell,
elesubstituirporls aointerpretarocomando;

alias

apartirdeagora,aodigitarlsnoshellelesubstituir
por ls --color.

ls=lscolor

Pararemoverumapelidocriadoanteriormente,utilizaseocomandounalias.Asintaxe:
unalias <apelido>
Exemplo:
unaliaslista

oapelidolistadeixadeexistir.

2.16Oarquivadortar
Oarquivadortarusadoparaarquivarvriosarquivosemumnico.Usualmenteele
usadoparacompactararquivos.Asintaxe:
tar <operaes> [opes] [destino] <origem>
Algumasoperaescomunsso:
c

criar

extrair

atualizar

listar

Algumasopescomumenteutilizadas:
z compactarutilizandogzip;
v verbosemodemostradetalhesdaoperao;
p preservapermisses;
j compactacombzip2;
f usadoparaespecificarumarquivoparagravao.

2010PETCinciadaComputaoUFSM

Pgina20/37

CursodeIntroduoaoGNU/Linux

Exemplos:
tarczvfmydir.tgzmydir

criaumarquivomydir.tgzquecontmo
contedodemydircompactadonoformato
gzipemostrainformaoextrasobreo
processo,natela;

tarxzvfmydir.tgz

descompataoarquivocriado
anteriormente,nodiretrioatual;

tarcjvfpmydir.tar.bz2mydir mesmoqueoprimeiro,excetoque
compactacombzip2eguardaas
permissesdosarquivos;
tarxjvfpmydir.tar.bz2

descompactaoarquivocriadonoexemplo
anteriorepreservaaspermisses.

2.17UtilizandooeditorVim
OeditorVim(ViImproved)umaversomelhoradadeumeditorchamadoVi.O
VimfuncionaemmodotextoemuitopopularentreusuriosGNU/Linuxporoferecer
muitasfunesepoderrodaremqualquermquinaLinux,estandoinstaladoemquase
todos os sistemas. Recomendase que se aprenda pelo menos o o bsico sobre o
programa.
ParaabriroVimdigiteocomando:
vim
Paraabrirumarquivocomovimapartirdalinhadecomandodigite:
vim <nome_do_arquivo>
Ao entrar no Vim voc estar no modonormal,para entrar no modode insero,
pressioneateclai.ParasairdomododeinseropressioneateclaESC.
Nomodonormaltemososcomandos:
:q

saidoeditor;

:q!

foraasadadoeditor,mesmoquehajamodificaesno
savas;

:w

gravaoarquivo;

:wnome

gravaoarquivocomonomeespecificado;

2009PETCinciadaComputaoUFSM

Pgina21/37

CursodeIntroduoaoGNU/Linux
:enome

abreoarquivocomonomeespecificado,senoexistirento
sercriadoaogravar;

:/padrao

buscapelopadroapsa/,usasenparairparaa
prximaocorrnciaeShift+nparairparaaanterior;

:s/padrao/subst

substituiaprimeiraocorrnciadopadropadraopor
subst,nalinhaatual;

:
s/padrao/subst/g

substituitodasasocorrnciasdopadropadraoporsubst,
nalinhaatual;

:nmero

vaiparaalinhaindicadapornumero;

desfazer;

Ctrl+r

refazer;

Ctrl+v

irparaomodovisualblock,quepermiteselecionarumbloco
detexto;

Shift+v

irparaomodovisualline,quepermiteselecionarlinhasde
texto;

yy

copiaalinhaatual;

colaumalinhaabaixodaatual,ouumblocoapsocursor;

dd

apagaalinhaatual;

d$

apagaatofimdalinhaatual;

#dd

substituindo#porumnmero,indicaaquantidadedelinhas
aseremapagadas.

Pressionando Ctrl+v ou Shift+v entrase nos modos visual block e visual line,
respectivamente.Nessesmodosbastamoverocursorparaselecionartexto.Pressioney
paracopiaroudparacortarotextoselecionado.
Obs.: alguns comandos precedidos por : podem ser concatenados, por exemplo, o
comando:wqgravaoarquivoesaidoVim.

2.18Outrasmaneirasdeverocontedodeumarquivo
Ocomandosortmostraocontedodoarquivo,ordenandoaslinhas,quandousadoda
seguinteforma:
sort <nome_do_arquivo>
possvelprocurarumtextoemumarquivousandoocomandogrep.Assim:

2010PETCinciadaComputaoUFSM

Pgina22/37

CursodeIntroduoaoGNU/Linux
grep <texto> <nome do arquivo>
O comando less permite visualizar um arquivo de texto, tendo a possibilidade de
rolarotexto.possvelbuscartexto,utilizandoosmesmoscomandosdoprograma
man.Amaneiratrivialdeuslo:
less <nome do arquivo>
Ocomandoheadmostraasprimeiraslinhasdeumarquivoeocomandotailmostraas
ltimas.Suasformasdeusomaiscomunsso:
head <nome do arquivo>
tail <nome do arquivo>
Aoponrecebecomoargumentoonmerodelinhasasermostrado,paraambosos
comandos.

2.19Maisalgunssmbolosespeciais
Almdossmbolos>e>>,jabordados,houtrosquepodemserusadosnoshell.
Umdeleso|,chamadopipe,queservepararedirecionarasadadeumcomando
paraoutro.
Exemplo:
ls -l|grep users
Essecomandomostrartodasaslinhasdoresultadodels -lquecontiveremapalavra
users.
Osmbolo&,quandocolocadonofinaldocomando,fazcomqueessesejaexecutado
emsegundoplano.
Exemplo:
tar czf exemplos.tar.gz exdir&
O smbolo &&, entre dois comandos, faz com que eles sejam executados em
seqncia.Noentanto,seumdoscomandosfalhar,todososqueestodepoisdeleno
seroexecutados.
Exemplo:
tar czvf exem.tar.gz exdir && cp exem.tar.gz /mnt/floppy

2009PETCinciadaComputaoUFSM

Pgina23/37

CursodeIntroduoaoGNU/Linux

3Controlandoaexecuodeprogramas
Abaixoestodescritosalgunscomandosemtodosteisparaocontroledaexecuode
processosnoGNU/Linux.

3.1Ocomandotop
O comando top apresenta uma lista dos processos sendo
executados no sistema, que esto ocupando mais recursos.
Geralmenteusadoassim:
top
Parasairdotopbastadigitarq.

3.2Ocomandojobs
O comando jobs mostra os processos que esto parados ou
rodandoemsegundoplano.
Sintaxe:
jobs
Onmerodeidentificaodecadaprocessoparadoouemsegundoplano(job),usado
comoscomandosbg,fgekill.

3.3Ocomandopstree
Mostraaestruturadeprocessosemexecuonosistemaemformadervore.
Exemplo:
pstree

3.4Ocomandopidof
Mostraoprocessid(pid)deumprograma.
Sintaxe:
pidof programa
Exemplo:
pidof wget

3.5Interrompendoaexecuodeprocessos
Para interromper a execuo de um processo (matar um

2010PETCinciadaComputaoUFSM

Pgina24/37

CursodeIntroduoaoGNU/Linux
processo) rodando em primeiro plano, basta digitar
Ctrl+c.Casocontrriopodeseutilizaroscomandos kill
oukillall.Ocomandokillallmatatodososprocessoscomo
nomequerecebecomoargumento.
Sintaxe:
kill<pid>
killall<comando>
Opiddoprocessopodeserencontradoutilizandoocomando
ps ax.Casonoconsigamataroprocessousando kill pid,
experimente kill -9 pid.Esseltimocomandoenviaosinal
dedestruioaoprocesso,obrigandooaencerrarnamarra.

2009PETCinciadaComputaoUFSM

Pgina25/37

CursodeIntroduoaoGNU/Linux

4ShellScript
Oshellcomoanteriormentejditoumaplicativoqueservedeinterfaceentreousurio
e o sistema Linux. Contudoessaferramenta tambm muito utilizada em todos os
sistemas UNIX/Like. Existem diversas implementaes de programas do tipo shell.
Podemosdestacar:

csh;

tcsh;

sh;

bash;

ksh;

zsh.

CadaimplementaodeumShellpossuisuaspeculiaridades.Oformatoemquesedeve
escrevercomandos,aformacomosedeclaramvariveis,formasdeacessarvariveisde
ambiente,entreoutrascoisas.Ofocodessaapostilao Bash, quebasicamenteuma
versomelhoradadosh.

4.1OqueumScriptemShell?
umaseqnciadecomandosarmazenadaemumarquivonoformatotextocapazdeser
executada a partir de um interpretador shell. Diversas atividades administrativas de
servidoresoumesmoatividadesdeusuriospodemserfacilmentebeneficiadasporesse
recursodoshell.
Umadasgrandesvantagensnessetipode script apossibilidadedeseutilizarvrios
programasjimplementadosparafuncionarporlinhadecomando.

4.2OlMundoCruel
Nessemomentoiremosabordaroprincpiodoincio;).Ofamosoolmundoesse
que normalmente o primeiro programa a ser feito em uma nova linguagem de
programao.
Crie um arquivo com o nome ola_mundo.sh. Podese utilizar o editor da sua
preferncia.Comonessecursoofocolinhadecomandosugerimosqueutilizeovim,
nanoouGNU/emacs.
vim

ola_mundo.sh

ou

2010PETCinciadaComputaoUFSM

Pgina26/37

CursodeIntroduoaoGNU/Linux
nano

ola_mundo.sh

ououtroeditorqualquer.
Emseguidacoloqueocontedoabaixonoarquivoelogoemseguidasalveo.
#!/bin/bash
#echo estou comentado
echo ola mundo cruel

Parapoderexecutarnossoscriptexistemduasabordagenspossveis:
1. Utilizasedocomandobash;
bash ola_mundo.sh
2. Trocaraspermissesdoarquivoconfigurandoelecomoexecutvelapartirdo
comandochmod.
chmod +x ola_mundo.sh
./ola_mundo.sh

4.3Lendooteclado
umfatobastantecomumanecessidadedeinteraocomousurio,porissoexisteo
comandoread.Essecomandoresponsvelporleraentradadotecladoeinicializaruma
varivelconformeoexemplodecdigoabaixo:
#!/bin/bash
echo Qual o seu nome?
read PESSOA
echo Ol $PESSOA
NotenesseexemploousodavarivelPESSOA.Nonossoexemplousamosavarivel
todaemcaixaalta.Entretanto,nonecessrioqueonomedavarivelsejatodaem
maisculo.Outrofatobastante importante ofatodautilizao docaractere $no
momentoemqueimprimimosovalordavarivel.

4.4Brincandocomvariveis
Na programao em scripts para o bash existem algumas maneiras especficas para
trabalhar com as variveis. Diferentemente de linguagens como C, C++, Java, entre
outrasnoexisteanecessidadedesedeclarar umavarivel parauslaenemdese

2009PETCinciadaComputaoUFSM

Pgina27/37

CursodeIntroduoaoGNU/Linux
definirotipodela.Noexemplodecdigoabaixoveremosalgumasmaneirasparase
trabalharcomvariveis.
#!/bin/bash
echo "Digite alguma coisa"
#lendo entrada do teclado
read var_teclado
#inicializando uma varivel inteira
num_int=2
echo "Teclado + numero="$((num_int+var_teclado))

4.5Laoseestruturasdecontrole
Apesardescriptsemshellseremmaissimplesquemuitaslinguagenseleapresentaboa
partedeestruturasdecontroleedeblocosderepetio.
ifCOMANDO

forVARIAVELinLISTAGEM whileCOMANDO

then

do

do

comandos

comandos

comandos

else

done

done

comandos
fi

4.6Testescondicionais
Testesdevariveisnumricas:
lt

menorque.(LessThan)

gt

maiorque.(GreaterThan)

le

menorigual.(LessEqual)

ge

maiorigual.(GreaterEqual)

eq

igual.(Equal)

2010PETCinciadaComputaoUFSM

Pgina28/37

CursodeIntroduoaoGNU/Linux
diferentede.(NotEqual)

ne

TestesdevariveisString:
n

nonula.

nula.

igual.

=!

diferentede

Testesdearquivos:
d

diretrio.

arquivonormal.

tempermissodeleitura.

tamanhomaiorquezero.

tempermissodeescrita.

nt

maisrecenteque.(NewerThan)

ot

maisantigoque.(OlderThan)

ef

omesmo.

Elgico(AND)

OUlgico(OR)

4.7Exemplosdelaoseestruturasdecontrole
#!/bin/bash
lista="1 2 3 4 5 6 7 8 9 10"
echo "exemplo de for"
for i in $lista
do
echo $i

2009PETCinciadaComputaoUFSM

Pgina29/37

CursodeIntroduoaoGNU/Linux
done
num1=1
num2=30
echo "exemplo if"
if [ $num1 -lt $num2 ]
then
echo $num1"<"$num2
else
echo $num1">="$num2
fi
echo "exemplo while"
while [ $num2 -gt $num1 ]
do
num1=$((num1+1))
echo $num2">"$num2
done

4.8Entradaporargumento
Algobastantecorriqueiroaodesenvolverumaaplicaoouumscriptapossibilidadede
receberargumentosdiretopelalinhadecomando.Dessaforma,podemosreceberdados
comoentradasemprecisarusarocomandoread.
Variveisdeentrada:
$#

Nmerodeargumentos

$1

argumento1

$2

argumento2

$3

argumento3

$4

argumento4

$n

argumentodenmeron.Sendoquenumvalornumrico.

2010PETCinciadaComputaoUFSM

Pgina30/37

CursodeIntroduoaoGNU/Linux
$*

listacomtodososvaloresdeentradanaformadeumalista.

#!/bin/bash
primeiro_nome=$1
echo "Ol"$primeiro_nome
echo "O seu nome completo : "$*
echo "Seu nome completo composto por "$#"palavras"

2009PETCinciadaComputaoUFSM

Pgina31/37

CursodeIntroduoaoGNU/Linux

5TrabalhandocomaLinguagemC
Nessaseomostraremosumpoucodeinformaosobreferramentasutilizadasparaa
programaocomalinguagemC.FalaremossobreocompiladorGCC(GNUCompiler
Collection),depuradorgdbeseufrontend,oDDD.

5.1CompiladorGCC
OGCCutilizadoparacompilararquivosfontesegerararquivosexecutveis.Vamos
mostrar um exemplo simples de como compilar um programa em linguagem C.
Primeiramentevamoscriarumarquivoteste.ccomoseguintecontedo:
#include <stdio.h>
main()
{
printf(Ol Calouros!\n);
}
Paracompilaroprogramaacimaexecutamosocomando:
gcc -o ola teste.c
Sergeradooarquivoexecutvelola,paraexecutlobastadigitar./olanalinhade
comando.
AlgumasopesteisdoGCC:
o

recebecomoargumentooarquivodesada,senofor
especificado,sergeradoumarquivochamadoa.out;

adicionaaoexecutvelinformaesdedepurao.Necessrio
paraousodeumdepuradorcomoogdb;

Wall

fazcomqueocompilarmostrealertassobrepossveiserrosque
anteseramignorados;

l<biblioteca> recebecomoargumentobibliotecasnecessriasparaoprograma.

5.2DepuradorGDB
OGDB(GNUDeBugger)umaferramentaqueauxiliaoprogramadoraencontrarerros
nocdigo.Parautilizloparadepurarumprogramanecessrioqueomesmotenha
sidocompiladoutilizandoaopog.Bastadigitarocomando:
gdb <nome do executvel>

2010PETCinciadaComputaoUFSM

Pgina32/37

CursodeIntroduoaoGNU/Linux
OsprincipaiscomandosparaautilizaodoGDBso:
run

rodaoprograma,sirpararquandoo
programaterminarnormalmenteou
devidoaumafalhafatal,ouentoquando
atingirumbreakpoint;

break<nmerodalinha>

insereumbreakpointnalinha
especificada;

list

mostraocdigodas5linhasanteriorese
5linhasposterioresdaposioatual;

next

passaparaalinhaseguintedoprograma;

step

passaparaalinhadoprximocomando
executado,nocdigo;

print<nomedavarivel>

imprimeocontedodavarivelno
momento.

5.3DepuradorDDD
ODDD(DataDisplayDebugger)um frontend grficoparaoGDB,ousejaum
programaeminterfacegrficaqueutilizaoGDB.Eleforneceumainterfacequepermite
enviarcomandosparaoGDB,utilizandoomouseemostrarinformaescoletadaspelo
mesmo,deformagrfica.Ocomandodeinicializaooseguinte(necessrioestarem
umterminalgrfico):
ddd <nome do arquivo executvel>
Utilizaobsica:

paracriarumbreakpoint:cliquecomobotodireitodomousenalinhadesejada
eselecioneaoposetbreakpoint;

paraexecutaroprograma:cliqueemrun;

para visualizarocontedodeumavarivel:dumduplocliquenonomeda
varivel;

parapassarparaoprximopasso:cliqueemstep;

para passarparaaprximalinha,semverospassosintermedirios:clique
emnext;

parainterromperaexecuodoprograma:cliqueeminterrupt.

2009PETCinciadaComputaoUFSM

Pgina33/37

CursodeIntroduoaoGNU/Linux

6Conectandomquinasremotas
utilizandoSSH
SSHexecutaumshellremoto,proporcionandoconexoseguraaumamquinarodando
umservidorSSH.Paraconectaraumservidordigitase:
ssh <usurio>@<servidor>
Exemplo:
ssh aluno@ssh.local.com.br solicitaumaconexoaoservidor
ssh.local.com.brutilizandoousurio
aluno.
possveltambmusarosftpparatransferirarquivosparaoudeumservidorremoto.
Ocomando:
sftp <usurio>@<servidor>
Dentrodosftpvocpodeusaroscomandos:
pwd

mostraodiretrioatualnoservidor;

ls

listaosarquivosdodiretrioatualnoservidor;

cd<nome_do_diretrio>

mudaodiretrioatualnoservidor;

get<nome_de_arquivo>

transferearquivosdoservidorparaocliente;

put<nome_de_arquivos>

transferearquivosdoclienteparaoservidor;

byeouCtrl+d

saidosftp.

6.1Utilizandooscp
O comando scp permite a cpia de arquivos entre duas mquinas utilizandose os
recursosdecriptografiadoSSHepodeserumaalternativaaousodoFTP.
Suaformabsica:
$ scp arquivo-origem arquivo-destino

2010PETCinciadaComputaoUFSM

Pgina34/37

CursodeIntroduoaoGNU/Linux
Aorigemeodestinopodemselocalizarnamquinaclienteounamquinaservidor,
almdomais,podesernecessriofornecerologintambm.Porexemplo,paracopiarum
arquivodamquinalocalparaoservidorvocpoderusaroscpassim:
$ scp arquivo usuario@servidor:/home/usuario

Notequenecessrioindicarocaminhoabsolutonoservidorenoocaminhorelativo
apenassuareahome.
Paracopiarumarquivodoservidorparasuamquinautilize:
$ scp usuario@servidor:/caminho/arquivo .

2009PETCinciadaComputaoUFSM

Pgina35/37

CursodeIntroduoaoGNU/Linux

7Maisinformaes
7.1InterfaceGrfica
EmsistemasGNU/Linuxainterfacegrficanofazpartedosistemaoperacional.Oque
setemumservidorgrfico,chamadoservidorX,independentedoSO, quefornece
serviosgrficosaoutrosprogramasquefazeminterfacecomeleatravsdebibliotecas.
Usualmente so rodados em cima do X , programas chamados gerenciadores de
janelaseAmbientesdeDesktopousimplesmentedesktops.
Osgerenciadoresdejanelastemporobjetivoprincipalcontrolaroposicionamentodas
janelasgrficas,seuredimensionamentoemovimento.Elestambmcontrolambarrasde
ttulo, foco de janelas, e atalhos de mouse e teclado. Esses programas controlam a
aparncia das janelas e as maneiras pelas quais os usurios interagem com elas.
ExemplosdegerenciadoresdejanelassoFluxbox,AfterStep,WindowMaker,IceWM,
Metacity(usadopeloGnome)eKwin(usadopeloKDE).
Osdesktopsrodamnotopodeumgerenciadordejanelas.Elesobjetivamproveruma
interfacemais completa comosistemaoperacional, esuprirseuprprioconjunto de
aplicaes e utilitrios integrados. Essa convenincia e facilidade de uso faz deles
particularmente atrativos para usurios iniciantes. Os desktops mais populares so
Gnome,KDEeXFCE.
OGnomeumdesktoprelativamenterpido(secomparadoaoKDE),equeprovas
vantagensdeumdesktop,semtrazerumasobrecargadeefeitosvisuaissuprfluos.O
KDEumdesktoppoderoso,com muitosrecursos.Agradaquelesachamquevalea
penaquesacrificarumpoucodeperformance,emtrocadeumvisualmaiselaborado,
commaisefeitosepossibilidadesdeconfigurao.JoXFCEtemporobjetivoserleve,
eessasuacaractersticamaisinteressante.

7.2Buscandooutrasfontesdeinformao
O Guia foca GNU/Linux, cujo endereo est na bibliografia, um guia bastante
completo, possuindo os nveis iniciante, intermedirio e avanado. O site
http://www.linuxrsp.ru/winlinsoft/tableeng.html possui uma tabela de programas
Linux,boapartesendogrficos,divididosemcategorias,eosprogramasWindowsdos
quais so possveis equivalentes. A mais, na Internet pode ser encontrada extensa
documentao sobreGNU/Linuxesobreosutilitrios eaplicativos querodamnesse
sistema.Tambmnopodeseresquecidoocomandoman.

2010PETCinciadaComputaoUFSM

Pgina36/37

CursodeIntroduoaoGNU/Linux

8Bibliografia
Silva,G.M.GuiaFocaGNU/Linux,2005.Disponvelem:
http://www.guiafoca.org/download/inic_interm/focalinux12html.tar.gz
ChapmanM.,WindowManagersforX.Disponvelem:http://xwinman.org/
Miranda,M.D.,TutorialdoVim.Disponvelem:http://br
linux.org/artigos/vim_intro.htm
Thetableofequivalents/replacements/analogsofWindowssoftwareinLinux,
Disponvelem:http://www.linuxrsp.ru/winlinsoft/tableeng.html
Wikipdia.Shell.Disponvelem:http://pt.wikipedia.org/wiki/Shell
Jargas,A.M.IntroduoaoShellScript,2004Disponvel
em:http://aurelio.net/shell/apostilaintroducaoshell.pdf

2009PETCinciadaComputaoUFSM

Pgina37/37

Você também pode gostar