Anda di halaman 1dari 147

AlinhadecomandodoUnixeGNU/Linux

AlinhadecomandodoUnixeGNU/Linux
MichaelOpdenacker FreeElectrons http://freeelectrons.com Traduzidopor KlaysonSesanaBonatto

CriadocomOpenOffice.org2.0
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

DireitodeCpia
Copyright20062004 MichaelOpdenacker michael@freeelectrons.com Fontesdosdocumentos,atualizaese tradues:
http://freeelectrons.com/training/intro_unix_linux

AttributionShareAlike2.0 Voclivre paracopiar,distribuir,exibirerealizaroseutrabalho paracriartrabalhosderivados parafazerusocomercialdestetrabalho Sobasseguintescondies Atribuio.Vocdevedarcrditoaoautororiginal. Compartilharigualmente.Sevocalterar,transformar oubasearsenestetrabalhovocdeverdistribuirotrabalho resultanteapenassobumalicenaidnticaaessa. Paraqualquerreusooudistribuiovocdevedeixarclaroaos outrosostermosdelicenadestetrabalho. Quaisquerdessascondiespodemserrenunciadassevocobtiver permissododetentordocopyright. Seuusohonesto(fairuse)eoutrosdireitosnosodeforma algumaafetadospelosacima. Textodalicena: http://creativecommons.org/licenses/bysa/2.0/legalcode

Correes,sugestes,contribuiese traduessobemvindas!

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

Melhorvisualizadocom...
Estedocumentomelhorvisualizadocomumleitorde arquivosPDFoucomoprprioOpenOffice.org! Utilizeasfacilidadesdoshyperlinksinternosouexternos. Nohesiteemclicarneles! Encontrepginasrapidamentegraaspesquisaautomtica; Useminiaturasparanavegarnodocumentodeformarpida; Sevocestiverlendoestedocumentonasuaformaimpressaou noformatoHTML,vocpodeobterumacpianoformatoPDF ouOpenOffice.orgnoendereo http://freeelectrons.com/training/intro_unix_linux!
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

Mementodecomandosmaisutilizados
Esteumtilrecursoquepodeser utilizadoparaacompanharesta apresentao. Exemplosparaoscomandosmaisteis sodadosemumanicapgina. Sugestesdeutilizao Coleestapginanasuaparede,usea comowallpaperdareadetrabalhodo seudesktop,imprimaanassuas roupas,corteaecriemarcadoresde pgina...
Faaodownloadem http://freeelectrons.com/training/intro_unix_linux
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

Contedodotreinamento(1)
Shells,sistemasdearquivosemanipulaodearquivos Tudoumarquivo EstruturadosistemadearquivosdoGNU/Linux Interpretadoresdelinhadecomando Manipulandoarquivosediretrios Exibindo,pesquisandoeordenandoarquivos Hardlinkselinkssimblicos Direitosdeacessoaarquivos

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

Contedodotreinamento(2)
E/Spadro,redirecionamentos,pipes EntradaeSada(E/S)padro,redirecionamentosparaarquivos Pipes:redirecionamentodasadapadroparaoutroscomandos Sadadeerropadro

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

Contedodotreinamento(3)
Controledeprocessos Controletotaldosprocessos Executandoemsegundoplano,suspendendo,resumindoe abortando Listadosprocessosativos "Matando"processos Variveisdeambiente VariveisdeambientePATH Shellaliases,arquivo.bashrc
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

Contedodotreinamento(4)
Miscelnea

Editoresdetexto Utilitriosdecompressoearquivamento Impressodearquivos Comparandoarquivosediretrios Procurandoarquivos Obtendoinformaessobreusurios

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

Contedodotreinamento(5)
Informaesbsicasparaaadministraodosistema Propriedadedearquivos Configuraodarede Sistemasdearquivos:criandoemontando Indoumpoucomaisalm Obtendoajuda,acessandoaspginasdomanual PesquisandonaInternetporrecursosauxiliares

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

GNU/LinuxeSoftwareLivre
EstaapresentaoincluaumaintroduoaoSoftwareLivre eCdigoAberto:sistemasoperacionais,aplicaes, principaisprojetoseregrasparaosucesso. Elaagoraestdisponvelcomoumaapresentaoseparada: http://freeelectrons.com/articles/freesw

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

10

IntroduoaoUnixeaoGNU/Linux

SistemasdearquivosUnix

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

11

Tudoumarquivo
QuasetudonoUnixumarquivo! Arquivoscomuns Diretrios Diretriossoapenasarquivos quelistamumconjuntode outrosarquivos. Linkssimblicos Arquivosquereferenciamo nomedeoutroarquivo. Dispositivoseperifricos Legravaemdispositivoscomo sefossemarquivoscomuns. Pipes Usadosparaconcatenar programas cat*.log|greperror Sockets Comunicaointerprocessos

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

12

Nomesdearquivos
CaractersticasdosnomesdearquivospresentesdesdeoinciodoUnix Diferenciamaisculaseminsculas(casesensitive). Nopossuiumlimitebviodetamanho. Podeconterqualquercaractere(incluindoespaos,exceto/). Otipodoarquivoarmazenadonoarquivo(nmerosmgicos). Extensesdosnomesdearquivonosoobrigatriasenoso interpretadas.Apenasutilizadasparaconveninciadousurio. Exemplosdenomesdearquivos: README .bashrc index.htm index.html WindowsBuglist index.html.old

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

13

Caminhos(paths)dearquivos
Umcaminho(path)umaseqnciadediretriosaninhadoscomum arquivooudiretrionofinal,separadospelocaractere/. Caminhorelativo: documents/fun/microsoft_jokes.html Relativoaodiretrioatual. Caminhoabsoluto: /home/bill/bugs/crash9402031614568 /:diretrioroot(ouraiz). oinciodoscaminhosabsolutosparatodososarquivosdo sistema(atmesmoparaarquivosexistentesemmdias removveisecompartilhamentosderede).
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

14

EstruturadosistemadearquivosGNU/Linux(1)
Noimpostapelosistema.Podevariardeumsistemaparaoutro,mesmo entreduasinstalaesdoGNU/Linux! / /bin/ /boot/ /dev/ /etc/ /home/ /lib/ DiretrioRoot Comandosbsicosessenciaisdosistema Imagensdokernel,initrdearquivosdeconfigurao Arquivosquerepresentamdispositivos Ex:/dev/hda:primeirodiscorgodoIDEdosistema Aquivosdeconfiguraodosistema Diretriosdosusurios Bibliotecascompartilhadasbsicasdosistema

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

15

EstruturadosistemadearquivosGNU/Linux(2)
/lost+found /mnt/ /opt/ /proc/ /root/ /sbin/ /sys/ Arquivoscorrompidosqueosistematentourecuperar Sistemasdearquivosmontados (/mnt/usbdisk/,/mnt/windows/...) Programasinstaladospeloadministradordosistema. (/usr/local/svezesusadocomessepropsito) Accessoainformaesdosistema (/proc/cpuinfo,/proc/version...) Diretrioparticulardousurioroot Comandosacessveisapenaspeloadministrador. Controlesdosistemaedispositivos (freqnciadaCPU,mdulosdokernel,etc.)

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

16

EstruturadosistemadearquivosGNU/Linux(3)
Arquivostemporrios Programasdosusurios(noessenciaisaosistema) (/usr/bin/,/usr/lib/,/usr/sbin...) /usr/local/ Programasinstaladospeloadministradordosistema. (usadoalgumasvezesnolugarde/opt/) /var/ Dadosusadospelosistemaouprogramasservidores /var/log/(logsdosistemaeprogramas) /var/spool/mail(emailsrecebidos) /var/spool/lpd(trabalhosdeimpresso)... /tmp/ /usr/

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

17

IntroduoaoUnixeaoGNU/Linux

Shellsemanipulaodearquivos

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

18

Interpretadoresdelinhadecomando
Shells:programasqueexecutamcomandosdousurio Sochamadosdeshells(conchas)porqueelesocultamdos usuriososdetalhesinternosdosistemaoperacionalsoba superfciedaconcha. Comandossoinformadosemumterminaldetexto,estejaele emumajaneladeumambientegrficoouemumconsoleno modocaractere. Osresultadossoexibidostambmnoterminal.Noha necessidadedegrficos. OsShellspermitemacriaodescripts:oferecemtodosos recursosnecessriosparaacriaodeprogramascomplexos (variveis,condicionais,iteraes...).
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

19

Shellsmaisconhecidos
Osmaisfamososepopularesshellsso: sh:TheBourneshell(obsoleto) Tradicional,shellbsicoencontradoemsistemasUnix,criadoporSteve Bourne. csh:TheCshell(obsoleto) ShellcomumasintaxesimilarencontradanalinguagemC. tcsh:TheTCshell(aindabastantepopular) ImplementaocompatvelcomCshell,mascomalgumasfunes aperfeioadas(autocompletedecomandos,histricoeoutros). bash:TheBourneAgainshell(omaispopular) Umimplementaosofisticadadoshcomaadiodemuitas funcionalidades.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

20

fish:umnovoshellmuitobacana.
TheFriendlyInteractiveShellhttp://roo.noip.org/fish/ Caractersticaspadro:histrico,autocomplete decomandosearquivos... Novascaractersticas:autocompletedeopesdecomandos,auto completedecomandoscomdescrio,destaquedesintaxe. Facilitaaaberturadequalquerarquivocomoprogramaassociadoao tipodoarquivo:comandointernoopen Sintaxemuitomaissimpleseconsistente(masnocompatvelcomo padroPOSIX),oquetornamaisfcilacriaodeshellscripts. Iniciantesnautilizaodalinhadecomandopodemaprendermuitomais rpido.Mesmosusuriosexperientespodemacharesseshellmuito conveniente.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

21

Comandols
Listaosarquivosdodiretrioatualemordemalfanumrica,exceto arquivosqueiniciamcomocaractere..
lsa(all) Listatodososarquivos (inclusiveosarquivos.*) lsl(long) Listagemlonga(tipo,data, tamanho,proprietrio, permisses) lst(time) Listaosarquivosmais recentesprimeiro lsS(size) Listaosmaioresarquivos primeiro lsr(reverse) Inverteaordenao lsltr(opespodemser combinadas) Listagemlonga,comos arquivosmaisrecentesno final.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

22

Padresdesubstituiodenomesdearquivos
Issomelhorexplicadocomexemplos! ls*txt Oshellprimeirosubstitui*txtportodososnomesdearquivose diretriosqueterminamcomtxt(incluindo.txt),exceto aquelesqueiniciamcom.,eentoexecutaocomandols. lsd.* Listatodososarquivosediretrioqueinicialcom.. dinstruiolsanoexibirocontedodos.*diretrios. cat?.log Exibetodososarquivoscujosnomespossuem1caracteree terminamcom.log.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

23

DiretriosEspeciais(1)
./ Odiretrioatual.tilparacomandosquelevamumdiretriocomo argumento.Tambmtilparaexecutarcomandoslocalizadosno diretrioatual(veremosmaisdetalhesadiante). Dessaforma,./readme.txtereadme.txtsoequivalentes. ../ Odiretriopai.Estsemprepresentenodiretrio.(vejalsa). nicarefernciaaodiretriopai. Usotpico: cd..
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

24

DiretriosEspeciais(2)
~/ Naverdadenoumdiretrioespecial.OsShellsapenas osubstituempelodiretriohomedousurioatual. Nopodeserutilizadonamaioriadosprogramas,jque elenoumdiretrioreal. ~sydney/ Similarmente,substitudopelosshellspelodiretrio homedousuriosydney.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

25

Oscomandoscdepwd
cd<dir> Alternaodiretrioatualpara<dir> pwd Exibeodiretrioatual("diretriodetrabalho")

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

26

Ocomandocp
cp<arquivo_origem><arquivo_destino> Copiaoarquivoorigemparaoarquivodestino. cparquivo1arquivo2arquivo3...dir Copiaosarquivosparaodiretriodestino(ltimoargumento). cpi(interativo) Solicitaconfirmaoaousuriocasooarquivodestinojexista. cpr<diretrio_origem><diretrio_destino> (recursivo) Copiatodoodiretrio.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

27

Cpiainteligentedediretrioscomrsync
rsync(remotesync)foiprojetadoparasincronizardiretriosemduas mquinasinterligadasporumaconexodebaixavelocidade
Apenascopiaarquivosquesofreramalteraes.Arquivoscomomesmo tamanhosocomparadospormeiodosseuschecksums. Apenastransfereosblocosdoarquivoquesofreramalterao! Podecompactarosblocostransferidos. Preservalinkssimblicoseaspermissesdearquivos:tambmmuitotil paracpiasrealizadasnamesmamquina. Podeserusadoviassh(shellremotoseguro).Muitotilparaatualizaro contedodeumwebsite,porexemplo.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

28

Exemplosdeutilizaodorsync(1)
rsynca/home/arvin/sd6_agents//home/sydney/misc/

a:modoarchive.EquivalentearlptgoD...formafcildedizerao programaquevocquerrecursoequerpreservarquasetodosos atributosdosarquivos.


rsyncPavdelete/home/steve/ideas//home/bill/my_ideas/

P:partial(mantmarquivosparcialmentetransferidos) eprogress(mostraoprogressoduranteatransferncia) delete:deletaarquivosnodestinocasoelesnoexistamnaorigem.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

29

Exemplosdeutilizaodorsync(2)
Copiandoparaumamquinaremota rsyncPav/home/bill/legal/arguments/\ bill@www.sco.com:/home/legal/arguments/ Sersolicitadaasenhaparaousuriobill Copiandodeumamquinaremotaviassh rsyncPavessh\ homer@tank.duff.com/prod/beer/\ fridge/homer/beer/ Sersolicitadaasenhasshparaousuriohomer

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

30

Comandosmverm
mv<nome_antigo><novo_nome> (move) Renomeiaoarquivooudiretriopassadocomoparmetro. mvi(interativo) Solicitaconfirmaoaousuriocasooarquivodestinojexista. rmarquivo1arquivo2arquivo3... Removeosarquivospassadoscomoparmetro. (remove)

rmi(interativo) Solicitaconfirmaodousurioantesdeexcluiroarquivo. rmrdir1dir2dir3(recursivo) Removerecursivamenteosdiretriospassadoscomoparmetro.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

31

Criandoeremovendodiretrios
mkdirdir1dir2dir3...(criadiretrios) Criadiretriosapartirdosnomespassadoscomo parmetros. rmdirdir1dir2dir3...(removediretrios) Removeosdiretriospassadoscomoparmetros. Seguro:apenasfuncionaquandoosdiretriosesto vazios. Alternativa:rmr

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

32

Exibindoocontedodearquivos
Existemvriasformasdeexibirocontedodearquivos: catarquivo1arquivo2arquivo3...(concatena) Concatenaeexibeocontedodosarquivospassadoscomo parmetros. morearquivo1arquivo2arquivo3... Acadapgina,solicitaqueousuriopressioneumateclapara continuar.Tambmpermitealocalizaodepalavras. (comando/) lessarquivo1arquivo2arquivo3... Faamaisdoqueomorecomoless. Noltodooarquivoantesdeiniciar. Permiteomovimentoderetrocessonoarquivo(comando?)
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

33

Oscomandosheadetail
head[<n>]<arquivo> Exibeasprimeiras<n>linhas(ou10,porpadro)doarquivo.. Nonecessrioabrirtodooarquivoparaisso! tail[<n>]<arquivo> Exibeasltimas<n>linhas(ou10,porpadro)doarquivo.. NonecessriocarregartodooarquivonaRAM!Muitotilparaarquivos grandes. tailf<arquivo>(contnuo) Exibeasltimas10linhasdoarquivoecontinuaaexibirnovaslinhasquando elassoacrescentadasaoarquivo.. Muitotilparaacompanharasmudanasemumarquivodelog,porexemplo. Exemplos headwindows_bugs.txt tailfoutlook_vulnerabilities.txt
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

34

Ocomandogrep
grep<padro><arquivos> Pesquisaosarquivospassadoscomoparmetroseexibeaslinhasquepossuem opadro. Exemplo:greperror*.log Exibetodasaslinhasquecontmastringerrornosarquivos*.log. grepierror*.log Mesmasituao,pormnodiferenciamaisculasdeminsculas. greprierror. Mesmasituao,pormfazapesquisarecursivamenteemtodososarquivosno diretrio.enosseussubdiretrios. grepvinfo*.log Exibetodasaslinhasdosarquivos*.logexcetoaquelasquecontmastring info.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

35

Ocomandosort
sort<arquivo> Ordenaaslinhasdoarquivopassadocomoparmetroe exibeasnatela. sortr<arquivo> Fazamesmacoisa,pormnaordemreversa. sortru<arquivo> u:unique.Fazamesmacoisa,pormexibelinhas idnticasapenasumavez,evitandoduplicidades. Veremosmaispossibilidadesemseguida!

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

36

Linkssimblicos
Umlinksimblicoumarquivoespecialqueapenasuma refernciaparaonomedeoutroarquivooudiretrio. tilparareduzirautilizaodediscoeacomplexidadequando2 arquivostmomesmocontedo. Exemplo:
anakin_skywalker_biography>darth_vador_biography

Comoidentificarlinkssimblicos:
lslexibe>eonomedoarquivolinkado. GNUlsexibelinkscomumacordiferente(azulciano).

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

37

Criandolinkssimblicos
Paracriarumlinksimblico(mesmaordemdocomandocp): lnsnome_do_arquivonome_do_link Paracriarumlinkparaumarquivoemoutrodiretrio,como mesmonome: lns../README.txt Pararemoverumlink: rmnome_do_link Obviamente,issonoremoveroarquivolinkado!

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

38

Hardlinks
Ocomportamentopadrodolncriarhardlinks. Umhardlinkparaumarquivoumarquivocomumcom exatamenteomesmocontedofsico. Apesardetambmeconomizaremespaoemdisco,noh comodistingirumhardlinkdoarquivooriginal. Sevocremoveroarquivooriginal,nohimpactono contedodohardlink. Ocontedoapenasremovidoquandonohmaisarquivos (ouhardlinks)relacionadosaele.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

39

Nomesdearquivoseinodes
Tornandomaisfcilacompreensodehardlinkselinkssimblicos.
Users Filenameinterface

Softlink

rm

File Inode

Hardlink
rm

Inode interface Filesystem

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

40

Direitosdeacessoaarquivos
Uselslparaverificarosdireitosdeacessoaumarquivo.
3tiposdedireitosdeacesso: AcessodeLeituraRead(r) AcessodeGravaoWrite(w) AcessodeExecuoExecute(x) 3tiposdenveisdeacesso: UsurioUser(u):parao proprietriodoarquivo. GrupoGroup(g):cadaarquivo temumatributodegrupo,que correspondeaumadeterminada listadeusurios. OutrosOthers(o):paratodos osoutrosusurios.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

41

Restriesrelacionadasadireitosdeacesso
xsemrpermitido,masintil. Voctemquesercapazdelerumarquivoparapoderexecutlo. Aspermissesrexsonecessriasparadiretrios:xparaentrar,r paralistarocontedo. Vocnopoderenomear,removeroucopiararquivosemum diretriosevocnotemapermissownestediretrio. Sevoctiverapermissowemumdiretrio,vocPODEremover umarquivomesmosevocnotiverpermissodegravaoneste arquivo(lembresedequeumdiretrioapenasumarquivoque descreveumalistadearquivos).Issoatmesmopermitequevoc modifique(removendo+recriando)umarquivosemapermissow.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

42

Exemplosdedireitosdeacesso
rwrr Podeserlidoegravadopeloproprietriodoarquivoeapenas lidopelosdemaisusurios. rwr Podeserlidoegravadopeloproprietriodoarquivoeapenas lidopelosusuriosquepertencemaogrupodoarquivo. drwx Diretrioacessvelapenasaoproprietrio. rx Arquivoexecutvelpelosoutrosusuriosdosistema,menospelos seusamigosouporvocmesmo.timaproteoparauma armadilha...
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

43

chmod:alterandopermisses
chmod<permisses><arquivos> 2formatosparapermisses: FormatoOctal(abc): a,b,c=r*4+w*2+x(r,w,x:booleans) Examplo:chmod644<arquivo> (rwparau,rparageo) Ouoformatosimblico.Facilitandoacompreensocomexemplos: chmodgo+r:addicionadireitodeleituraparaogrupoeoutros. chmoduw:removedireitodegravaodousurio (proprietrio). chmodax:(a:all)removedireitodeexecuodetodos.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

44

Maissobreochmod(1)
chmodRa+rXlinux/ Tornaodiretriolinuxetudodentrodeledisponvel paratodos! R:aplicaasmudanasrecursivamente. X:similaraox,masapenasparadiretriosearquivos quejsoexecutveis. Muitotilpararealizaracessorecursivoadiretrios,sem adicionardireitodeexecuoatodososarquivos.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

45

Maissobreochmod(2)
chmoda+t/tmp t:(sticky).Permissoespecialparadiretrios, permitindoqueapenasoproprietriodeumdiretrioou arquivopossadeletlos. tilparadiretrioscomacessodegravaoparatodos osusurios,comoo/tmp. Exibidopelocomandolslcomumcaracteret.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

46

IntroduoaoUnixeaoGNU/Linux

E/Spadro,redirecionamentos,pipes

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

47

Sadapadro
Maisinformaessobreasadadecomandos. Todososcomandosqueexibemtextonoseuterminalo fazempormeiodagravaodeinformaesnasuasada padro. Asadapadropodesergravadaem(redirecionadapara)um arquivousandoosmbolo> Asadapadropodeseradicionadaaofinaldeumarquivo existenteusandoosmbolo>>

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

48

Exemplosderedirecionamentodasadapadro
ls~saddam/*>~gwb/weapons_mass_destruction.txt catobiwan_kenobi.txt>starwars_biographies.txt cathan_solo.txt>>starwars_biographies.txt echoREADME:Nosuchfileordirectory>README Formaprticadecriarumarquivosemumeditordetextos. NestecasotambmumainfamepiadadomundoUnix.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

49

Entradapadro
Maisinformaessobreaentradadecomandos. Diversoscomandos,quandonorecebemargumentos,obtmsua entradaapartirdaentradapadro. sort windows linux [Ctrl][D] linux windows Ocomandosortobtmsuaentrada apartirdaentradapadro:neste caso,aquiloquevocdigitano terminal(finalizadocom[Ctrl][D]).

sort<participants.txt Aentradapadrodocomandosortobtidaapartirdoarquivo participants.txt.


IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

50

Pipes
Ospipessomuitoteispararedirecionarasadapadrodeum comandoparaaentradapadrodeoutrocomando. Exemplos
cat*.log|grepierror|sort greprierror.|grepvignored|sortu> serious_errors.log cat/home/*/homework.txt|grepmark|more

EssaumadasmaispoderosascaractersticasdosshellsdoUnix!

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

51

Ocomandotee
tee[a]arquivo Ocomandoteepodeserusadoparaenviarasada padroparaatelaeparaumarquivosimultaneamente. make|teebuild.log Executaocomandomakeearmazenaasuasadano arquivobuild.log makeinstall|teeabuild.log Executaocomandomakeeadicionaasuasadano arquivobuild.log

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

52

Erropadro
Mensagensdeerrosogeralmenteexibidas(seoprogramafor bemescrito)nasadadeerropadroenonasadapadro. Asadadeerropadropodeserredirecionadausando2>ou2>> Exemplo: catf1f2nofile>newfile2>errfile Nota:1odescritordasadapadro,ento1>equivalentea> possvelredirecionartantoasadapadroquantoasadadeerro padroparaomesmoarquivousando&> catf1f2nofile&>wholefile

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

53

Ocomandoyes
tilparapreencheraentradapadrosemprecomumamesmastring. yes<string>|<comando> Preencheaentradapadrodo<comando>com<string>(ypor padro). Exemplos yes|rmrdir/ bank>yesno|credit_applicant (bank>representaoprompt) yes""|makeoldconfig (equivalenteapressionarEnterparaaceitartodasasconfiguraes padro)
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

54

Dispositivosespeciais(1)
Elesseparecemcomarquivosreais,mas /dev/null Odetonadordedados!Descartatodososdadosgravadosnesse arquivo.tilparaeliminarsadanodesejada,tipicamente informaodelog: mplayerblack_adder_4th.avi&>/dev/null /dev/zero Aleituradessearquivosempreretornacaracteres\0 tilparacriarumarquivopreenchidocomzeros: ddif=/dev/zeroof=disk.imgbs=1kcount=2048

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

55

Dispositivosespeciais(2)
/dev/random Retornabytesaleatriosquandolido.Usadoprincipalmentepor programasdecriptografia.Usainterrupesobtidasapartirde algunsdriversdedispositivoscomofontedasuaverdadeira aleatoriedade(entropia).Leituraspodemserbloqueadasatque aentropiasuficientesejaobtida. /dev/urandom Utilizadoporprogramasondenmerospseudoaleatriosso suficientes.Sempregerabytesrandmicos,mesmosenohouver entropiasuficientedisponvel(nessescasospossvel,apesarda dificuldade,preverfuturasseqnciasdebytesapartirde seqnciasanteriormentegeradas). Vejamanrandomparadetalhes.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

56

IntroduoaoUnixeaoGNU/Linux

Gerenciamentodeprocessos

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

57

Controletotaldeprocessos
Desdeoincio,oUnixsuportamultitarefapreemptiva. Possibilidadedeexecutarvriasatividadesemparaleloe abortlasmesmoseelascorromperemseuprprioestadoe dados. Possibilidadedeescolherquaisprogramasexecutar. Possibilidadedeescolherqualentradaserdadaaosseus programaseparaondeirsuasada.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

58

Processos
TudonoUnixumarquivo. TudonoUnixquenoumarquivoumprocesso. Processos Instnciasdeprogramasemexecuo. Vriasinstnciasdeummesmoprogramapodemserexecutadasao mesmotempo. Dadosassociadosaprocessos: Arquivosabertos,memriaalocada,pilhadeexecuo,identificadordo processo,processopai,prioridade,estado,etc.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

59

Executandoprogramasemsegundoplano
Mesmaformadeutilizaoemtodososshells. Utilidade
Paracomandoscujasadapodeserexaminadamaistarde, especialmenteparaaquelesquedemorammuitotempo. Parainiciaraplicaesgrficasapartirdalinhadecomandoe continuarusandooterminal. Iniciandoumprograma:adicione&nofinaldalinha: find_prince_charmingcutecleverrich&

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

60

Controlandoprogramasemsegundoplano
jobs Retornaalistadeprogramasemsegundoplanodomesmoshellemqueforam executados. [1]Running~/bin/find_meaning_of_lifewithoutgod& [2]+Runningmakemistakes& fg fg%<n> Colocaemprimeiroplanooltimoncomandoquehaviasidocolocadoemsegundo plano. Movendoocomandocorrenteparasegundoplano,suspendendoo: [Ctrl]Z bg kill%<n> Abortaonltimocomandocolocadoemsegundoplano.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

61

Exemplos
>jobs [1]Running~/bin/find_meaning_of_lifewithoutgod& [2]+Runningmakemistakes& >fg makemistakes >[Ctrl]Z [2]+Stoppedmakemistakes >bg [2]+makemistakes& >kill%1 [1]+Terminated~/bin/find_meaning_of_lifewithoutgod

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

62

Listandotodososprocessos
...queforaminiciadosapartirdoshell,descriptsououtrospocessos. psux Listatodososprocessospertencentesaousurioatual. psaux(Obs:psedfemsistemasSystemV) Listatodososprocessosdosistema.
psaux|grepbart|grepbash USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND bart30390.00.259161380pts/2S14:350:00/bin/bash bart31340.00.253881380pts/3S14:360:00/bin/bash bart31900.00.263681360pts/4S14:370:00/bin/bash bart34160.00.000pts/2RW15:070:00[bash]

PID: VSZ: RSS: TTY: STAT:

Identificadordoprocesso. Tamanhovirtualdoprocesso(cdigo+dados+pilha) Tamanhoresidentedoprocesso:nmerodeKBatualmentenaRAM Terminal Status:R(Runnable),S(Sleep),W(paging),Z(Zombie)...


IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

63

Atividadedosprocessos
topExibeosprocessosmaisimportantes,ordenadospor percentualdeutilizaodaCPU.
top15:44:33up1:11,5users,loadaverage:0.98,0.61,0.59 Tasks:81total,5running,76sleeping,0stopped,0zombie Cpu(s):92.7%us,5.3%sy,0.0%ni,0.0%id,1.7%wa,0.3%hi,0.0%si Mem:515344ktotal,512384kused,2960kfree,20464kbuffers Swap:1044184ktotal,0kused,1044184kfree,277660kcached PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND 3809jdoe250625639321312R93.80.80:21.49bunzip2 2769root160157m80m90mR2.716.05:21.01X 3006jdoe1503092815m27mS0.33.00:22.40kdeinit 3008jdoe16056248924468S0.30.20:06.59autorun 3810jdoe16028929161620R0.30.20:00.06top

Vocpodealteraraordemteclando... M:UtilizaodaMemria,P:%CPU,T:Tempo. Vocpodematar(kill)umprocessodigitandokeonmerode identificaodoprocesso(processid).


IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

64

Matandoprocessos(1)
kill<pids> Enviaumsinaldetrminoparaosprocessospassadoscomo parmetro.Permitequeosprocessossalvemosseusdadose terminemporsimesmos.Deveserusadoprimeiro.Exemplo: kill3039313431903416 kill9<pids> Enviaumsinaldetrminoimediato.Oprpriosistematerminaos processos.tilquandoumprocessoestrealmentetravado(no respondeaokill1). kill91 Matatodososprocessosdousurioatual.1:significatodosos processos.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

65

Matandoprocessos(2)
killall[<signal>]<command> Matatodososprocessosexecutando<command>.Exemplo: killallbash xkill Permitematarumaaplicaogrficaclicandonela!Muito rpido!Convenientequandovocnosabeonomedo comandodaaplicao.(Adendodotradutor:estandono ambientegrfico,tentetambmacombinaoCtrl+Alt+Esc)

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

66

Recuperandoumambientegrficotravado
Sesuasessogrficaestivertravadaevocnoconseguirmaisdigitarno seuterminal,noreinicieocomputador! bemprovvelqueoseusistemaaindaestejafuncionando.Tenteacessar umaconsolebaseadaemtextopressionandoasteclas [Ctrl][Alt][F1]. (ou[F2],[F3]paramaisconsolesbaseadasemtexto) Estandonoconsolevocpodetentarmataraaplicaotravada. Feitoisso,vocpodevoltarsessogrficapressionando [Ctrl][Alt][F5]ou[Ctrl][Alt][F7](dependendodasua distribuio) Sevocnoconseguiridentificaroprogramatravadovocpodematar todososseusprocessos:kill91 Vocserlevadodevoltateladelogin.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

67

Comandosemseqncia
Vocpodedigitaroprximocomandonoseuterminalmesmo quandoocomandoatualnotiverterminado. Vocpodesepararcomandoscomosmbolo;: echoIlovethee;sleep10;echonot Condicionais:use||(or)ou&&(and): catGod||echoSorry,Goddoesn'texist Executaocomandoechoapenasseoprimeirocomandofalhar. ls~sd6&&cat~sd6/*>~sydney/recipes.txt Apenasexecutaocomandocatseocomandolsforexecutado comsucesso(significapermissodeleitura).
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

68

Aspas(1)
Aspasduplas(")podemserutilizadasparaevitarqueoshell interpreteespaoscomoseparadoresdeargumentos,bemcomo evitaraexpansodepadresdenomesdearquivos. >echo"OlMundo" OlMundo >echo"Vocestlogadocomousurio$USER" Vocestlogadocomousuriobgates >echo*.log find_prince_charming.logcosmetic_buys.log >echo"*.log" *.log
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

69

Aspas(2)
Aspassimplesoferecemumafuncionalidadesimilar,masoqueestentre aspassimplesnuncasubstitudo. >echo'Vocestlogadocomousurio$USER' Vocestlogadocomousurio$USER Crases(`)podemserutilizadasparachamarumcomandodentrodeoutro >cd/lib/modules/`unamer`;pwd /lib/modules/2.6.91.6_FC2 Crasespodemserutilizadasdentrodeaspasduplas >echo"VocestusandoLinux`unamer`" VocestusandoLinux2.6.91.6_FC2

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

70

Medindootempogasto
timefind_expensive_housingnear <...commandoutput...> real0m2.304s(tempogasto) user0m0.449s(tempodeCPUexecutandoocdigodo programa) sys0m0.106s(tempodeCPUexecutandosystemcalls) real=user+sys+espera espera=TempodeesperaporI/O+tempoocioso(processador executandooutrosprocessos)

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

71

VariveisdeAmbiente
Shellspermitemqueousuriodefinavariveis. Elaspodemserreutilizadasemcomandosdoshell. Conveno:nomesemletrasminsculas. Voctambmpodedefinirvariveisdeambiente: variveisquetambmsovisveisporscriptsou executveischamadosapartirdoshell. Conveno:nomesemletrasmaisculas. env Listatodasasvariveisdeambienteeosseusvalores.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

72

ExemplosdevariveisdoShell
VariveisdoShell(bash) projdir=/home/marshall/coolstuff lsla$projdir;cd$projdir Variveisdeambiente(bash) cd$HOME exportDEBUG=1 ./find_extraterrestrial_life (exibeinformaesdedebugseavarivelDEBUGfor setada)
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

73

Principaisvariveisdeambientepadro
Usadosporvriasaplicaes!
LD_LIBRARY_PATH Caminhodepesquisadasbibliotecas compartilhadas DISPLAY Identificaodatelaqueexibir aplicaesX(grficas) EDITOR Editorpadro(vi,emacs...) HOME Diretriohomedousuriocorrente HOSTNAME Nomedamquinalocal MANPATH Caminhodepesquisadaspginasde manual PATH Caminhodepesquisadoscomandos PRINTER Nomedaimpressoradefault SHELL Nomedoshellcorrente TERM Nome/mododoterminalcorrente USER Nomedousuriocorrente

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

74

VariveisdeambientePATH
PATH Especificaaordemdepesquisadecomandosdoshell. /home/acox/bin:/usr/local/bin:/usr/kerberos/bin:/us r/bin:/bin:/usr/X11R6/bin:/bin:/usr/bin LD_LIBRARY_PATH Especificaaordemdepesquisadebibliotecascompartilhadas(cdigo binriodebibliotecascompartilhadasporaplicaes,comoabiblioteca C)paraocomandold(LinkerGNU) /usr/local/lib:/usr/lib:/lib:/usr/X11R6/lib MANPATH Especificaaordemdepesquisaparaaspginasdomanual /usr/local/man:/usr/share/man
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

75

CuidadoscomousodavarivelPATH
altamenterecomendadonoterodiretrio.nasuavarivelde ambientePATH,principalmentecomoumdosprimeirosdiretrios: Umcrackerpode,porexemplo,colocarumarquivolsmaliciosonoseu diretrio.Eleserexecutadoquandovocdigitarlsnestediretrioe poderrealizaralgumaaoindesejadaaosseusdados. Sevoctemumarquivoexecutvelchamadotestemumdiretrio,ele irsesobreporaoprogramatestdefaultealgunsscriptsno funcionaromaisdaformacorreta. Cadavezquevocexecutarumcdemumdiretriooshellgastar tempoatualizandoasualistadecomandosdisponveis. Executeoscomandosdodiretriocorrentedaseguinteforma::./test

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

76

Alias
OsShellspermitemquevocdefinaapelidos(aliases):atalhosparacomandos quevocusafreqentemente. Exemplos
aliasls='lsla' tilparasempreexecutaroscomandoscomosseusargumentospreferidos. aliasrm='rmi' tilparaforarocomandormapedirumaconfirmaoacadaarquivodeletado. aliasfrd='find_rambaldi_deviceasaprisky' tilparasubstituircomandosfreqentesemuitolongos. aliascia='./home/sydney/env/cia.sh' tilparaconfiguraroambientedeformarpida. (.umcomandodoshellqueexecutaocontedodeumshellscript)

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

77

Ocomandowhich
Antesdeexecutarumcomando,owhichdizondeelepodeserencontrado. bash>whichls aliasls='lscolor=tty' /bin/ls tcsh>whichls ls:aliasedtolscolor=tty bash>whichalias /usr/bin/which:noaliasin (/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin) tcsh>whichalias alias:shellbuiltincommand.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

78

Arquivo~/.bashrc
~/.bashrc
Shellscriptlidocadavezqueumshellbashiniciado. Vocpodeusaressearquivoparadefinir:
Suasvariveisdeambientedefault(PATH,EDITOR...) Seusaliases Seuprompt(vejaomanualdobashparadetalhes) Umamensagemdeboasvindas.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

79

IntroduoaoUnixeaoGNU/Linux

UtilitriosDiversos

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

80

EdiodeComandos
Vocpodeusarassetasdaesquerdaedadireitaparamovero cursornocomandoatual. Vocpodeusar[Ctrl][a]parairaoinciodalinhade comandoe[Ctrl][e]parairaofinaldalinhade comando. Vocpodeusarassetasparacimaeparabaixopara selecionaroscomandosrecentementedigitados.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

81

HistricosdeComandos(1)
history Exibeosltimoscomandosexecutadoseosseusrespectivos nmeros.Vocpodecopiarecolarasstringsdoscomandos. Vocpodereexecutaroltimocomando: !! Vocpodereexecutarumcomandopeloseunmero: !1003 Vocpodereexecutaroltimocomandocujasprimeiras letrascasamcomumadeterminadastring: !cat

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

82

HistricosdeComandos(2)
Vocpodefazersubstituiesnoltimocomando: ^more^less Vocpodeexecutaroutrocomandocomosmesmos argumentos: more!*

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

83

EditoresdeTexto
Editoresdetextogrficos: Atendemamaioriadasnecessidades nedit Emacs,Xemacs Editoresdetextopuro: Algumasvezesnecessriosparaadministradoresdosistemae excelentesparausuriosavanados: vi nano

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

84

Oeditordetextonedit
http://www.nedit.org/ Omelhoreditordetextoparaaquelesquenosoexpertsno viouemacs. Principaisfuncionalidades:
muitofcilselecionaremovertextos. Destaquedesintaxeparaamaioriadelinguagenseformatos. Podeserconfiguradoparadestacardeterminadaspalavras(de erroouaviso)dosseusarquivosdelog. Fcildecustomizarpormeiodemenus.

Noinstaladopordefaultnamaioriadasdistribuies.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

85

neditscreenshot

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

86

Emacs/Xemacs
EmacseXemacssomuitoparecidos. Funcionalidadesextremamente poderosasdeediodetexto. Excelenteparausuriosavanados. Menosergonmicodoquenedit. Atalhosnopadronizados. Muitomaisdoqueumeditordetexto (jogos,email,shell,browser) Algunscomandospoderosostmdeser aprendidos.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

87

vi
EditormodotextodisponvelemtodosossistemasUnix. Criadoantesdosurgimentodomouse. Dificildeaprenderporiniciantesacostumadoscomeditores detextogrficos. Muitoprodutivoparausuriosavanados. Muitasvezesnopodesersubstitudonaediodearquivos duranteaadministraodesistemasouemsistemas embarcados,quandovocstemumconsoletexto.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

88

vimviimproved
Implementaodovidisponvelnamaioriados sistemasGNU/Linux. Implementavriasfuncionalidadesdisponveisem editoresmodernos:destaquedesintaxe,histricode comandos,help,undo(desfazer)ilimitadoemuito, muitomais. Exemplodeumafuncionalidadeinteressante:pode abrirarquivoscompactadosdiretamente. VemcominterfacegrficaGTK(gvim) Infelizmentenosoftwarelivre(porcausadeuma pequenarestrionaliberdadedefazermudanas).

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

89

Comandosbsicosdovi
Apesardoviser extremamentepoderoso,seus 30principaiscomandosso facilmenteaprendidose suficientespara99%das necessidadesdetodos. Voctambmpodelero tutorialrpidoexecutando vimtutor. Obtenhaonossoguiaderefernciarpidadoviem: http://freeelectrons.com/training/intro_unix_linux
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

90

GNUnano
http://www.nanoeditor.org/ Outropequenoeditordetextopuro; Umcloneavanadodoeditorpico(editornolivredoPine); Amigvelefcildeaprenderporiniciantesgraasaosatalhos detecladopresentesnatela; Disponvelempacotesbinriosparavriasplataformas; Umaalternativaaoviemsistemasembarcados.Entretanto, noestdisponvelcomoumbuiltindobusybox*.
*https://launchpad.net/products/busybox
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

91

ScreenshotdoGNUnano

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

92

IntroduoaoUnixeaoGNU/Linux

Miscelnea CompactaoeArquivamento

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

93

Medindoousododisco(1)
Cuidado:diferentedotamanhodoarquivo! duh<arquivo>(espaoocupadonodisco) h:retornaoespaoocupadonodiscopeloarquivopassado comoparmetro,emumformatocompreensvelpor humanos:K(kilobytes),M(megabytes)ouG(gigabytes). Semoh,duretornaonmerodeblocosdediscoocupados peloarquivo(oquedifcildecompreender). ObservequeaopohapenasexistenaversoGNUdo du. dush<dir> s:retornaasomadautilizaododiscodetodosos arquivosdeumdeterminadodiretrio.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

94

Medindoousododisco(2)
dfh<dir> Informaautilizaododiscoeoespaolivredosistemade arquivosquecontmodiretriopassadocomoparmetro. Similarmente,aopohapenasexistenaversoGNUdodf. Exemplo:
>dfh. filesystemSizeUsedAvailUse%Mountedon /dev/hda59.2G7.1G1.8G81%/

dfh Retornainformaessobreautilizaodoespaoemdiscode todosossistemasdearquivosdisponveisnosistema.Quando surgemerros,tilparaidentificarfaltadeespaoemdisco.


IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

95

Compactao
Muitotilparadividirarquivosgrandeseparaeconomizarespao. [un]compress<arquivo> UtilitriotradicionaldecompressodoUnix.Criaarquivos.Z. Apenasmantidoparacompatibilidade.Performancemediana. g[un]zip<arquivo> UtilitrioGNUdecompressozip.Criaarquivos.gz. Performancemuitoboa(similaraoZip). b[un]zip2<arquivo> Utilitriodecompressomaisrecenteemaisefetivo.Cria arquivos.bz2.Geralmentede20a25%melhordoqueo gzip. Useesse!DisponvelagoraemtodosossistemasUnix.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

96

Arquivamento(1)
tilpararealizarbackupsoudistribuirumconjuntodearquivos dentrodeumnicoarquivo(pacote). tar:originalmentetapearchive(Arquivadoremfita). Criandoumarquivo: tarcvf<pacote><arquivosoudiretrios> c:create v:verbose.tilparaacompanharoprogressodoarquivamento. f:pacote.Pacoteasercriado(casocontrrio,afitaserusada) Exemplo: tarcvf/backup/home.tar/home bzip2/backup/home.tar
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

97

Arquivamento(2)
Visualizarocontedodeumpacoteouverificarsua integridade: tartvf<pacote> t:test Extrairtodososarquivosdeumpacote: tarxvf<pacote> Extrairapenaspoucosarquivosdeumpacote: tarxvf<pacote><arquivosou diretrios> Arquivosoudiretriossopassadoscomocaminho(path) relativoaodiretriorootdopacote.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

98

OpesextrasdoGNUtar
tar=gtar=GNUtaronGNU/Linux Podecompactaredescompactarpacotes.tilparaevitara criaodeenormesarquivosintermedirios. Muitomaissimplesdoqueusarotare,emseguida,o bzip2! Opoj:[des]compactacombzip2 Opoz:[des]compactacomgzip Exemplos(qualdelesmaisfcildelembrar?)
gtarjcvfbills_bugs.tar.bz2bills_bugs tarcvfbills_bugs|bzip2>bills_bugs.tar.bz2
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

99

Ocomandowget
Aoinvsderealizarodownloaddearquivosapartirdoseubrowser, apenascopieecoleasuaURLefaaodownloadcomwget! Principaisfuncionalidadesdowget: Suporteahttpeftp; Podereiniciardownloadsinterrompidos; Poderealizarodownloaddesitesinteirosouaomenosverificarlinks quebrados; Muitotilemscriptsouquandoainterfacegrficanoest disponvel(administraodosistema,sistemasembarcados); Suporteaproxy(Variveisdeambientehttp_proxye ftp_proxy).
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

100

wgetExemplos
wgetc\ http://microsoft.com/customers/dogs/winxp4dogs.zip Continuaumdownloadinterrompido. wgetmhttp://lwn.net/ Espelhaumsite. wgetrnphttp://www.xml.com/ldd/chapter/book/ Fazodownloadrecursivodeumlivroonlineparaacessooffline. np:"noparent".Apenassegueoslinksnodiretriocorrente.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

101

Verificandoaintegridadedearquivos
Soluodebaixocustoparaverificaraintegridadedearquivos. md5sumFC3i386disk*.iso>MD5SUM Computaumchecksumde128bitsMD5(MessageDigestAlgorithm5)dos arquivospassadoscomoparmetro.Asadageralmenteredirecionadapara umarquivo. Sadaexemplo: db8c7254beeb4f6b891d1ed3f689b412FC3i386disc1.iso 2c11674cf429fe570445afd9d5ff564eFC3i386disc2.iso f88f6ab5947ca41f3cf31db04487279bFC3i386disc3.iso md5sumcMD5SUM VerificaaintegridadedosarquivosemMD5SUMpelacomparaodos checksumsMD5armazenadosnoarquivocomoschecksumsreais.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

102

IntroduoaoUnixeaoGNU/Linux

Impresso

Diversos

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

103

ImpressoUnix
Impressomultiusrio,comsuporteamltiplostrabalhosdeimpresso, mltiplosclientesemltiplasimpressoras. NoUnix/Linuxoscomandosdeimpressonaverdadenoimprimem.Eles enviamtrabalhosdeimpressoparaasfilas,quepodemestarlocalizadas localmente,emservidoresdeimpressodaredeouemimpressorasderede. Sistemaindependentedaimpressora: Servidoresdeimpressoapenasaceitamtrabalhos deimpressonoformatoPostScriptoutexto. Osdriversdaimpressoranoservidorseencarregam daconversoparaoformatoutilizadopelaimpressora. Sistemarobusto: Reinicieosistemaeelecontinuaraimprimir trabalhosdeimpressopendentes.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

104

ComandosdeImpresso
Variveldeambientetil:PRINTER Configuraaimpressoradefaultdosistema.Exemplo: exportPRINTER=lp lpr[P<queue>]<arquivos> Enviaosarquivospassadoscomoparmetroparaafilade impressoespecificada.Osarquivosdevemestarnoformatotexto ouPostScript.Casocontrrio,vocapenasimprimirlixo. a2ps[P<queue>]<arquivos> AnytoPostScriptconvertevriosformatosparaoformato PostScripteenviaasadaparaafilaespecificada.Funcionalidades teis:vriaspginasporfolha,numeraodepgina,resumo informativo,etc.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

105

Controledetrabalhosdeimpresso
lpq[P<queue>] Listatodosostrabalhosdeimpressodafilapassadacomo parmetrooudafilapadro.
lpisnotready RankOwnerJobarquivo(s)TotalSize 1stasloane84nsa_windows_backdoors.ps60416bytes 2ndamoore85gw_bush_iraq_mistakes.ps65024000bytes

cancel<job#>[<queue>] Removedafilapadrootrabalhodeimpressocujonmero foipassadocomoparmetro.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

106

UsandoarquivosPostScriptePDF
VisualizandoumarquivoPostScript ExistemvisualizadoresPostScript,massuaqualidadedeixaa desejar. melhorconverteroarquivoPostScriptparaPDFcomps2pdf: ps2pdfdecss_algorithm.ps xpdfdecss_algorithm.pdf& ImprimindoumarquivoPDF VocnoprecisaabrirumleitordearquivosPDF! MelhorconverterparaPostScriptcompdf2ps: pdf2psrambaldi_artifacts_for_dummies.pdf lprrambaldi_artifacts_for_dummies.ps
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

107

IntroduoaoUnixeaoGNU/Linux

Comparandoarquivosediretrios

Diversos

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

108

Comparandoarquivosediretrios
diffarquivo1arquivo2 Reportaadiferenaentre2arquivos,ounadacasoos arquivossejamidnticos. diffrdir1/dir2/ Reportatodasasdiferenasentrearquivoscomomesmo nomeem2diretrios. Parainvestigarasdiferenasemdetalhesmelhorusar ferramentasgrficas!

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

109

tkdiff
http://tkdiff.sourceforge.net/ Ferramentatilparacomparararquivoseconsolidarasdiferenas.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

110

kompare
Outraferramentainteressanteparacomparararquivoseconsolidaras diferenas.Partedopacotekdesdk(FedoraCore).

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

111

gvimdiff
Outraferramentainteressanteparavisualizarasdiferenasde arquivos. Disponvelnamaioria dasdistribuies,junto comoprograma gvim. Aparentementenousa odiff. Trabalhainclusivecom arquivosbinrios!
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

112

IntroduoaoUnixeaoGNU/Linux

Procurandoarquivos

Diversos

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

113

Ocomandofind
Melhorexplicadopormeiodealgunsexemplos! find.name*.pdf Listatodososarquivos*.pdfnodiretriocorrente(.)eem seussubdiretrios.Vocprecisaincluirasaspasparaprevenir aexpansodocaractere*peloshell. finddocsname"*.pdf"execxpdf{}';' Encontratodososarquivos*.pdfnodiretriodocseexibe umapsooutrocomoprogramaxpdf. Existemmuitasoutraspossibilidades!Entretanto,osdois exemplosacimacobremamaioriadasnecessidades.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

114

Ocomandolocate
Realizapesquisasusandoexpressesregularesmuitomaisrpidoqueofind locatekeys Listatodososarquivosnoseusistemacomastringkeysnonome. locate*.pdf Listatodososarquivos*.pdfqueexistemnosistema. locate/home/fridge/*beer* Listatodososarquivos*beer*nodiretriopassadocomo parmetro(usacaminhoabsoluto) locatemuitomaisrpidopoiseleindexatodososarquivosemuma basededadosdedicada,queatualizadaregularmente. findmaisrecomendadoparapesquisarporarquivoscriadosrecentemente.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

115

IntroduoaoUnixeaoGNU/Linux

Vriosoutroscomandos

Diversos

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

116

Obtendoinformaessobreosusurios
who Listatodososusurioslogadosnosistema whoami Informacomqualusurioeuestoulogado groups Informaosgruposnosquaisestoucadastrado. groups<user> Informaosgruposnosquaisousurio<user>estcadastrado. finger<user> Exibemaisdetalhes(nomereal,etc)sobreousurio<user> Vemdesabilitadoemalgunssistemas(porrazesdesegurana)
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

117

Trocandodeusurio
Vocnoprecisasairdasuacontadeusurioparaefetuaro logoncomoutracontadeusurio! suhyde (Usoraro)Trocaparaacontahyde,masmantmas variveisdeambientedousuriooriginal. sujekyll (Usomaisfreqente)Trocaparaacontajekyll,com exatamenteasmesmasconfiguraesdestenovousurio. su Quandonopassadonenhumargumento,significaquea contadousuriorootserusada.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

118

Comandosdiversos(1)
sleep60 Aguarda60segundos(noconsomerecursosdosistema) wcreport.txt(wordcount) 438211518302report.txt Contaonmerodelinhas,palavrasecaracteresdeum arquivooudaentradapadro.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

119

Comandosdiversos(2)
bc("basiccalculator?") bcumatilcalculadora,cheiaderecursos.Incluiat mesmoumalinguagemdeprogramao!Useaopol paraobtersuportesuabibliotecamatemtica. date Retornaadatacorrente.tilemscriptspararegistrar quandooscomandoscomearamouterminaram.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

120

IntroduoaoUnixeaoGNU/Linux

Administraobsicadesistemas

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

121

Propriedadesdearquivos
chownRsco/home/linux/src(R:recursivo) Tornaousurioscoonovoproprietriodetodososarquivos localizadosem/home/linux/src chgrpRempire/home/askywalker Tornaempireonovogrupodetodososarquivoslocalizados em/home/askywalker. chownRborg:aliensusss_entreprise/ chownpodeserutilizadoparaalteraroproprietrioeogrupo aomesmotempo.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

122

Desligandoosistema
shutdownh+5(h:halt) Desligaosistemaem5minutos.Osusuriosreceberoumavisoem seusconsoles. shutdownrnow(r:reboot) init0 Outraformadedesligarosistema(usadopelocomandoshutdown) init6 Outraformaderebootar(usadopelocomandoshutdown) [Ctrl][Alt][Del] TambmfuncionanoGNU/Linux(aomenosemPCs!)
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

123

Configuraoderede(1)
ifconfiga Exibedetalhessobreasinterfacesderededisponveisno seusistema. ifconfigeth0 Exibedetalhessobreasinterfacesderedeeth0. ifconfigeth0192.168.0.100 AssociaoendereoIP192.168.0.100 interfaceeth0(1endereoIPporinterface). ifconfigeth0down Desativaainterfaceeth0. (liberaseuendereoIP)

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

124

Configuraoderede(2)
routeadddefaultgw192.168.0.1 Configuraarotadefaultparapacotesnodestinadosrede local.Ogateway(192.168.0.1)responsvelporenvilos paraoprximogateway,eassimsucessivamente,atatingiro destinofinal. route Listaasrotasexistentes. routedeldefault routedel<IP> Deletaarotapassadacomoparmetro. tilparadefinirumanovarota.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

125

Testedefuncionamentodarede
pingfreshmeat.net ping192.168.1.1 Tentaenviarpacotesparaocomputadorpassadocomoparmetroe obtmcomoretornoumaconfirmao(ouno)decadapacoteenviado.
PING192.168.1.1(192.168.1.1)56(84)bytesofdata. 64bytesfrom192.168.1.1:icmp_seq=0ttl=150time=2.51ms 64bytesfrom192.168.1.1:icmp_seq=1ttl=150time=3.16ms 64bytesfrom192.168.1.1:icmp_seq=2ttl=150time=2.71ms 64bytesfrom192.168.1.1:icmp_seq=3ttl=150time=2.67ms

Quandovocconseguepingarseugateway,issosignificaquesua interfacederedeestfuncionandocorretamente. Quandovocconseguepingarumendereoexterno(foradasuarede local),issosignificaquesuasconfiguraesderedeestocorretas.


IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

126

Resumodeconfiguraoderede
Apenasparacasoscomumanicainterface,semservidorDHCP... Conecteserede(cabo,wireless,etc...) Identifiquequalasuainterfacederede: ifconfiga AssocieumendereoIPsuainterface(assumindoaquieth0) ifconfigeth0192.168.0.100(exemplo) Adicioneumarotaatoseugateway(assumindo 192.168.0.1)parapacotesdestinadosaoexteriordarede. routeadddefaultgw192.168.0.1

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

127

Resoluodenomes
SeusprogramasprecisamsaberqualendereoIPcorresponde aumdeterminadonomedehost(porexemplo, kernel.org) DomainNameServers(DNS)seencarregamdisso. VocapenastemdeespecificaroendereoIPde1oumais servidoresDNSnoseuarquivo/etc/resolv.conf: nameserver217.19.192.132 nameserver212.27.32.177 Asalteraesproduzemefeitoimediatamente!

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

128

Criandosistemasdearquivos(filesystems)
Exemplos mkfs.ext2/dev/sda1 FormataseupendriveUSB(/dev/sda1:1apartio)noformatoEXT2 mkfs.ext2Fdisk.img FormataumarquivodeimagemdedisconoformatoEXT2 mkfs.vfatvF32/dev/sda1(v:verbose) FormataseupendriveUSBnoformatoFAT32 mkfs.vfatvF32disk.img FormataumarquivodeimagemdedisconoformatoFAT32 Imagensdediscovaziaspodemsercriadascomonoexemploabaixo: ddif=/dev/zeroof=disk.imgbs=1024count=65536

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

129

Montandodispositivos(1)
Paratornarossistemasdearquivosdequalquerdispositivode armazenamento(internosouexternos)visveisnosistema,voc temdemontlos. Naprimeiravez,crieumpontodemontagemnoseusistema: mkdir/mnt/usbdisk(example) Agora,monteo: mounttvfat/dev/sda1/mnt/usbdisk /dev/sda1:physicaldevice t:especificaotipo(formato)dosistemadearquivos (ext2,ext3,vfat,reiserfs,iso9660...)

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

130

Montandodispositivos(2)
Diversasopesdemontagemestodisponveis,comoasquepermitema escolhadaspermissesouadefiniodoproprietrioegrupodosarquivos. Vejaapginadomanualdomountparadetalhes. Asopesdemontagemparacadadispositivopodemserarmazenadasno arquivo/etc/fstab Vocpodemontarumaimagemdesistemadearquivosarmazenadaemum arquivo(dispositivosloopback). tilparaacessarocontedodeumaimagemISOdeumCDROMsema necessidadedegravlaemmdia. tilparacriarumapartioLinuxemumdiscorgidoquepossui apenaspartiesWindows. cp/dev/sda1usbkey.img mountolooptvfatusbkey.img/mnt/usbdisk
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

131

Listandoossistemasdearquivosmontados
Apenasexecuteocomandomountsemargumentos:
/dev/hda6on/typeext3(rw,noatime) noneon/proctypeproc(rw,noatime) noneon/systypesysfs(rw) noneon/dev/ptstypedevpts(rw,gid=5,mode=620) usbfson/proc/bus/usbtypeusbfs(rw) /dev/hda4on/datatypeext3(rw,noatime) noneon/dev/shmtypetmpfs(rw) /dev/hda1on/wintypevfat(rw,uid=501,gid=501) noneon/proc/sys/fs/binfmt_misctypebinfmt_misc(rw)

Ouexibaocontedodoarquivo/etc/mtab (Mesmoresultado.Atualizadopelomounteumountcadavezque soexecutados.)


IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

132

Desmontandodispositivos
umount/mnt/usbdisk Gravatodasasescritaspendentesedesmontaodispositivopassado comoparmetro,oqualpoderserremovidodeformasegura. Parasercapazdedesmontarumdispositivovocdeveantesfechar todososarquivosabertosdodispositivo.
Fecheasaplicaesqueestoutilizandodadosdapartiomontada. Certifiquesedequenenhumdosseusshellstemcomodiretriode trabalhoalgumdiretriodapartiomontada. Vocpodeexecutarocomandolsof(listopenfiles)paradescobrir quaisprocessosaindatemarquivosabertosnapartiomontada.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

133

IntroduoaoUnixeaoGNU/Linux

GNU/Linux:pacotesutilizadospordistribuies

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

134

Comoencontrarpacotes
PacotesDebian:http://www.debian.org/distrib/packages Pesquisaporpacoteounomedoarquivo. rpmfind:http://rpmfind.net/ DiversospacotesRPMparaRedHat,Mandriva,Suse...

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

135

Identificandopacotes
Aqualpacoteumarquivopertence? tilparaobtermaisinformaes,obterocdigofonte, encontrarnovasverses,reportarbugs... DistribuiesqueutilizampacotesRPM: (RedHat,Fedora,Mandriva,Suse...) >rpmqf/bin/ls coreutils5.2.17 Debian: >dpkgS/bin/ls fileutils:/bin/ls
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

136

Informaessobrepacotes
Acessodescriodopacote,nmerodeverso,fontes,etc. DistribuiesbaseadasemRPM: rpmqi<packagename> Debian: dpkgs<packagename>

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

137

IntroduoaoUnixeaoGNU/Linux

Indoalm

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

138

Helpdecomandos
AlgunscomandosdoUnixeamaioriadoscomandosdo GNU/Linuxofereceaomenosumargumentodehelp: h (namaioriadasvezesusadoparaintroduziropesde1 caractere) help (sempreusadoparaintroduziraopocorrespondente longa,oquetornaosscriptsmaisfceisdecompreender) Voctambmfreqentementeobtmumcurtoresumodas opesquandoinformaumargumentoinvlido.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

139

PginasdoManual
man<keyword> Exibeumaouvriaspginasdemanualpara<keyword> manman Amaioriadaspginasdemanualdisponveissosobrecomandos Unix,masalgumassosobrefunesC,cabealhos(headers)ou estruturasdedados,oumesmosobrearquivosdeconfiguraodo sistema! manstdio.h manfstab(for/etc/fstab) Osarquivosdaspginasdemanualestolocalizadosnodiretrio especificadopelavariveldeambienteMANPATH.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

140

PginasInfo
NoGNU/Linux,pginasdemanualestosendosubstitudas porpginasinfo.Algumaspginasdomanual,quando acessadas,referemsespaginasinfo.

info<command>
Recursosdocomandoinfo:
Documentaoestruturadaemsees(ns)esubsees (subns) Possibilidadedenavegarnessaestrutura:top,next,prev,up Pginasinfogeradasapartirdosmesmosfontestexinfocomo pginasdedocumentaoHTML.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

141

PesquisandonaInternetporrecursos(1)
Investigandoasoluodeproblemas Amaioriadosfrumselistasdeemailpblica,eso indexadascombastantefreqnciapeloGoogle. Sevocestinvestigandoumamensagemdeerro,escrevaano formulriodepesquisadamesmaformacomoexibida,entre aspasduplas(mensagemdeerro).Hmuitaschancesdeque outraspessoasjtenhampassadopelomesmoproblemaeo solucionado. NoseesqueadeusaroGoogleGroups: http://groups.google.com/Essesiteindexamaisde20anosde mensagensdegruposdenotcias.
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

142

PesquisandonaInternetporrecursos(2)
Procurandodocumentao
Pesquisepor<tool>ou<tool>pageparaencontrara ferramenta(<tool>)ouahomepagedoseurespectivoprojetoe entolocalizeosltimosrecursosdedocumentao. Pesquisepor<tool>documentationou<tool>manual noseumecanismodebuscafavorito.

Procurandoinformaotcnicageral
WikiPedia:http://wikipedia.org Diversasdefiniesteisemcinciadacomputao.Uma enciclopdiareal!Abertaacontribuiesdequalquerpessoa.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

143

Materialdetreinamento
Omaterialdetreinamentotambmestdisponvelem: http://freeelectrons.com/training/intro_unix_linux Eleumtilcomplementoparaconsolidaroque vocaprendeuaqui.Elenodizcomofazeros exerccios,entretanto,reforaoaprendizado dasnoeseferramentasaquiintroduzidas. Sevocnoestiverconseguindofinalizar algumdosexercciossinalquevocnoprestouatenoaalgumadas leiturasedeveretornaraosslidesparaencontraromaterialrelacionado aoassuntoemquevocestenfrentandodificuldades.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

144

Documentosrelacionados
Estedocumentofazpartedeummaterialdemaisde1000pginasdetreinamento sobreGNU/LinuxelaboradopelaFreeElectrons,disponvelsobafreedocumentation license. http://freeelectrons.com/training
IntroductiontoUnixandGNU/Linux EmbeddedLinuxkernelanddriverdevelopment FreeSoftwaretoolsforembeddedLinuxsystems AudioinembeddedLinuxsystems MultimediainembeddedLinuxsystems LinuxonTIOMAPprocessors FreeSoftwaredevelopmenttools IntroductiontouClinux RealtimeinembeddedLinuxsystems What'snewinLinux2.6? JavainembeddedLinuxsystems HowtoportLinuxonanewPDA

http://freeelectrons.com/articles
EmbeddedLinuxoptimizations EmbeddedLinuxfromScratch...in40min!

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

145

Comoajudar
Sevocapiaestetrabalho,vocpodeajudar... Enviandocorrees,sugestes,contribuiesetradues. Solicitandosuaorganizaoquecompresessesdetreinamento realizadaspeloautordestedocumento(veja http://freeelectrons.com/training) Comentandosobreelecomseusamigos,colegasecomunidadede SoftwareLivrelocal. Adicionandolinksaosnossosmateriaisonlinenoseuwebsitepara aumentaranossavisibilidadeemresultadosdemecanismosdebusca.

IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

146

Agradecimentos
AoprojetoOpenOffice.org,pelasferramentasde apresentaoeprocessamentodetextoquesatisfazematodas asminhasnecessidades. comunidadeHandhelds.org,pordarmetantaajudae tantasoportunidadesdeajudar. AosmembrosdetodaacomunidadedeSoftwareLivree CdigoAberto,porcompartilharomelhorquepossuem:seu trabalho,seuconhecimento,suaamizade. spessoasquemeenviaramcomentriosecorrees: LaurentThomas,JeffGhislain,LeifThande,Frdric Desmoulins,PrzemysawCiesielski
IntroduoaoUnixeaoGNU/Linux Copyright20062004,MichaelOpdenacker CreativeCommonsAttributionShareAlike2.0license http://freeelectrons.com 9deAgode2006

147

Anda mungkin juga menyukai