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;
s mostraotamanhodosarquivos;
a mostraosarquivosocultos;
h 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;
cat >> texto.txt concatenaoquefoidigitadonofimdoarquivotexto.txt
semapagarseucontedooriginal.
Apsdigitadootexto,devesepressionar Ctrl+d parasinalizarofimdeentrada, ou
Ctrl+cparacancelar.

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
/home/origem3destino dodiretrio/home,paradentrodapastadestino.

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 removeogrupoinf2009.

2009PETCinciadaComputaoUFSM 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
ls=lscolor por ls --color.

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

2.16Oarquivadortar
Oarquivadortarusadoparaarquivarvriosarquivosemumnico.Usualmenteele
usadoparacompactararquivos.Asintaxe:
tar <operaes> [opes] [destino] <origem>
Algumasoperaescomunsso:
c criar
x extrair
u atualizar
t 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;
: substituitodasasocorrnciasdopadropadraoporsubst,
s/padrao/subst/g nalinhaatual;
:nmero vaiparaalinhaindicadapornumero;
u desfazer;
Ctrl+r refazer;
Ctrl+v irparaomodovisualblock,quepermiteselecionarumbloco
detexto;
Shift+v irparaomodovisualline,quepermiteselecionarlinhasde
texto;
yy copiaalinhaatual;
p 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

ne diferentede.(NotEqual)

TestesdevariveisString:
n nonula.
z nula.
= igual.
=! diferentede

Testesdearquivos:
d diretrio.
f arquivonormal.
r tempermissodeleitura.
s tamanhomaiorquezero.
w tempermissodeescrita.
nt maisrecenteque.(NewerThan)
ot maisantigoque.(OlderThan)
ef omesmo.
a Elgico(AND)
o 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;
g 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