Você está na página 1de 23

Parte 1 Introduo ao Software Livre

Gnu Mascote do Projeto Gnu

De onde vem o conceito de Software Livre ?


Diante de nossa atual situao tecnolgica seria impossvel falarmos de GNU / Linux sem antes entendermos o que Software Livre ou de onde surgiu essa filosofia. Durante muito tempo a tecnologia vem se desenvolvendo e tornando-se cada vez mais necessria para os dias atuais. Para tal evoluo, pessoas do mundo inteiro, chamadas programadores, contriburam de forma significativa criando programas ou softwares para customizar o funcionamento dos computadores. Em boa parte desta evoluo, ao precisar de algo que outro j criou, o programador receberia prontamente deste outro para assim poder fazer suas devidas mudanas ou mesmo aperfeioamentos poupando-lhe esforo e tempo. O autor original como agradecimento recebia seu programa melhorado. Porque refazer o que j foi feito antes? Desta forma se dava a troca de informaes e conhecimento entre a comunidade como um todo at que uma outra idia surgiu: Fechar o cdigo fonte e ganhar dinheiro em cima disso. Foi nesta poca que o conhecimento passou a deixar de ser livre passando a ter um dono e uma patente em cima do mesmo. Sendo vendido em caixas com a permisso para instalao em apenas uma mquina limitando-se ao uso tcnico sem poder estudar o aquela tecnologia a fundo ou repassar para outros interessados. A mostrava-se o limite da tecnologia como uma linha que no se podia ultrapassar, j que voc no mais poderia aperfeioar um software adaptando-o s suas necessidades por no mais ter acesso ao cdigo fonte do mesmo. O conhecimento passou a ser ento manipulado e controlado criando uma enorme dependncia tecnolgica. Em meados de 1983-1984 o programador americano Richard Stallman percebeu que o senso de unio e integrao estava perdendo espao para um senso de egosmo e monoplio passando assim a iniciar um movimento ativista criando assim o Projeto GNU em 1985 defendendo a idia do Software Livre. Por que refazer todo um programa quando voc tinha programas parecidos com o que voc queria desenvolver? Por que no ajudar em um programa que voc achava que estava rodando lento e que possivelmente saberia como deixalo mais rpido contribuindo assim para o seu cdigo fonte? Essas perguntas no faziam sentido para o Richard, e por essas e outras ele comeou este projeto, que de to bvio que era, rapidamente caiu na simpatia de toda a comunidade A partir da milhares de pessoas espalhadas pelo mundo inteiro uniram-se a ele nessa luta de forma a mostrar ao mundo que o compartilhamento da informao fundamental para o desenvolvimento assim como a unio e a solidariedade. Para tal filosofia foram criadas algumas regras que na verdade so liberdades. No poderia ser diferente tratando-se de Software LIVRE. So as 4 liberdades do Software

Livre listadas abaixo: * Liberdade de executar o programa, da forma como quiser. * Liberdade de estudar o funcionamento do programa podendo inclusive modific-lo de acordo com sua necessidade. * Liberdade de redistribuir cpias do programa livremente. * Liberdade de melhorar o programa e tornar estas melhorias pblicas de forma a beneficiar o prximo. O projeto GNU no somente desenvolvimento e distribuio de alguns softwares livres teis. O corao do projeto GNU uma idia: que software deve ser livre, e que a liberdade do usurio vale a pena ser defendida. Se as pessoas tm liberdade mas no a apreciam conscientemente, no iro mant-la por muito tempo. Se queremos que a liberdade dure, precisamos chamar a ateno das pessoas para a liberdade que elas tm em programas livres. Com o passar dos anos, e baseado nessa filosofia do Software Livre, surgiu ento o sistema operacional que hoje chamamos de GNU / Linux.

O que o sistema GNU / Linux ?

Tux Mascote do Gnu Linux

Em 1989 um estudante finlands chamado Linus Torvalds inicia um processo pessoal de aprimoramento do Kernel do Minix, um sistema operacional do tipo Unix escrito por Andrew Tannenbaum, chamando esta vertente de Linux como abreviao de Linuss Minix. O que parecia um projeto acadmico foi tomando novos ares e Linus passou a perceber as possibilidades que aquilo poderia trazer assim como suas possveis propores, ento depois de um certo tempo de trabalho, Linus lana a seguinte mensagem na internet: "Voc sente saudade dos bons dias do minix-1.1, quando homens eram homens e escreviam seus prprios device drivers? Voc est sem um bom projeto e morrendo de vontade de colocar as mos em um sistema operacional o qual possa modificar de acordo com suas necessidades? Voc acha frustrante quando tudo funciona bem no Minix? Sem mais noites em claro para fazer com que um programa funcione? Ento esta mensagem pode ser exatamente para voc. :-) Como eu mencionei h um ms, estou trabalhando em uma verso livre de um sistema operacional similar ao minix para computadores AT-386. Ele finalmente alcanou o estgio onde pode ser utilizado (ou no, dependendo do que voc deseja), e eu estou disposto a colocar os fontes disponveis para ampla distribuio. Ele est apenas na verso 0.02, mas eu tenho executado nele, sem problemas, programas como bash, gcc, gnu-make, gnu-sed, compress, etc." Esta mensagem chama a ateno de muitas pessoas, entre elas programadores, analistas ou at mesmo entusiastas do movimento de Software Livre ou GNU. Logo essas pessoas passaram a entrar em contato com Linus e ento um grande time de desenvolvimento formouse em cima do que hoje chamamos de GNU / Linux. Com pessoas espalhadas pelo mundo inteiro trabalhando em cima do mesmo objetivo, no fica difcil imaginar porque o GNU / Linux passou a ser to estvel, seguro e maduro como sistema operacional. Finalmente em 1991 Linus lana a primeira verso oficial do Linux, juntando-se mais tarde, em 1992, ao projeto GNU de Richard Stallman com o objetivo de produzir o sistema operacional completo como o conhecemos hoje.

Por que usar a plataforma Livre?


Imaginemos o seguinte padro: Softwares so programados atravs de uma linguagem. O que Linguagem? um conjunto de cdigos que funciona como Meio de Comunicao, seja ele entre Humano / Humano ou Humano / Mquina por exemplo. Ento imaginemos que a lngua portuguesa como um Software, e precisamos dela para nos comunicar com outras pessoas, correto? Agora imagine voc se os cdigos da lngua portuguesa fossem patenteados por algum ou mesmo fechados. Alm de voc no ter livre acesso aos vrios cdigos que formam a lngua portuguesa voc ainda teria de pagar para quem a patenteou. Sim, voc teria que pagar para falar! O que isto tudo importa para a informtica? Bom, infelizmente a maioria dos softwares ou programas de computador vem enfrentando esta mesma situao no Brasil, pois atravs do software que eu consigo me comunicar com meu computador, e a maioria das pessoas ainda tem de pagar para falar com seu computador. O mais absurdo que o pagamento recolhido sequer fica no Brasil, pois entregue para uma empresa no exterior que monopoliza o mercado. O Brasil paga cerca de R$ 1.000.000.000,00 (1 bilho) por ano em troca desses softwares. Num sistema fechado, tambm no conseguimos desenvolver nossa prpria autonomia tecnolgica, pois no temos como estudar o seu cdigo e no temos segurana de acesso e envio de informaes em nossas prprias mquinas. Quem garante que naquele software fechado instalado em minha mquina no h junto um programa espio vasculhando minhas contas e arquivos pessoais? No software livre voc no tem obrigatoriedade de pagar nada a ningum, desenvolvido por milhares de programadores ao redor do mundo, voluntrios ou no, que compartilham seus cdigos com o mundo, no software livre voc usa produtos testados por milhares de pessoas que entendem do assunto e que procuraram de todas as formas possveis, brechas, falhas, bugs e voc mesmo pode ajudar nisso, voc como usurio parte importante da comunidade do software livre, sugerindo, reportando alguma falha, opinando, discutindo, ensinando e aprendendo, ou seja, o software livre vai alm do uso da ferramenta, ele vai a democratizao do conhecimento. Principais vantagens da utilizao de Software Livre: * Segurana (praticamente isento de vrus, voc **sabe** o que est instalando em sua mquina, pois seu cdigo aberto) * Economia (voc pode baixar ele sem custo da internet, tanto o software quanto a sua documentao de uso) * Alternativa pirataria (voc no corre riscos ao ser surpreendido por fiscais cobrando por licenas) * Engajamento (voc estar utilizando uma soluo mais vivel para um pas em desenvolvimento como o Brasil) * Autonomia (voc tem liberdade para fazer o que quiser com este software desde que siga as 4 liberdades bsicas a ele atribudas) ** As 4 liberdades foram citadas mais acima no tpico "De onde vem o conceito de Software Livre". SOFTWARE LIVRE! Socialmente Justo...Economicamente Vivel...Tecnologicamente Sustentvel.

Quem faz o software livre?


A resposta para essa pergunta bem simples; Voc! Contribuindo com cdigo fonte, engajando em projetos de softwares existente, reportando bugs de programas, repassando o conhecimento adquirido, ajudando outras pessoas por meios diversos, chat, eventos ou mesmo um bate-papo na rua difundindo a cultura do software livre, voc tambm pode engajar em uma comunidade ou diretamente em um PSL (Projeto Software Livre) que tem como fundamente principal integrar as comunidades de software livre, usurios, empresas que apiam a iniciativa, e pessoas interessadas, unindo essas pessoas para fazer aes coletivas. Busque informaes atravs da rede e comece a participar de comunidades, grupos de usurios, coletivos, listas de discusso etc. e passe a interagir com quem voc tem mais afinidade.

Distribuies Linux
Por se tratar de um sistema operacional livre e de cdigo aberto no demorou para que milhares de pessoas comeassem a fazer modificaes no Linux de forma a customizar ou adequ-lo s suas necessidades pessoais. Cada vez que algum altera o Linux com personalizaes e particularidades, esta alterao chamada de Distribuio Linux, e como tal cada pessoa que o fizer pode dar um nome para sua distribuio e public-la na rede para que outras pessoas possam utilizar a sua distribuio. Cada distribuio tem sua caracterstica prpria, atendendo as necessidades de seus usurios, tais como o sistema de instalao, o objetivo, a localizao de programas, nomes de arquivos de configurao, etc. A escolha de uma distribuio pessoal e depende das necessidades e finalidades de cada um. Atualmente existem centenas de distribuies Linux, porm, como tudo na vida, algumas se destacaram. Algumas distribuies bastante conhecidas e destacadas nos dias de hoje so: Slackware, Debian, Red Hat, Fedora, Mandriva, Suse, Ubuntu e Kurumin, todas usando o SO Linux como kernel principal.

Parte 2 Dispositivos e Sistemas Operacionais


Dispositivos de Entrada e Sada
Entrada - Permite a comunicao do usurio com o computador. So dispositivos que enviam dados ao computador para processamento. Exemplos: Teclado, mouse, scanner. O dispositivo de entrada padro (stdin) em sistemas GNU/Linux o teclado. Sada - Permite a comunicao do computador com o usurio. So dispositivos que permitem o usurio visualizar o resultado do processamento enviado ao computador. Exemplos: Monitor, Impressora. O dispositivo de sada padro (stdout) em sistemas GNU/Linux o Monitor.

Sistema Operacional
DEFINIO O Sistema Operacional (S.O.) um conjunto de programas responsvel por alocar recursos de hardware e escalonar tarefas, controlar os dispositivos de entrada e sada (I/O), tais como vdeo, teclado, mouse, e ainda controlar os recursos internos que compem o computador, tais como: processador, memria, arquivos, etc. Em termos de hardware um S.O. a poro de software que roda em modo ncleo (kernel), e tem a importante funo de proteger o hardware da ao direta do usuri, isto , estabelecer critrios de uso dos recursos, ordem de acesso aos mesmos, impedindo violao de espao de memria de processos concorrentes e tentativas de acesso simultneo a um mesmo recurso, ou seja, gerncia e proteo dos dispositivos. Os S.O.(s) podem ser divididos em: * Sistemas - Operacionais Monoprogramveis / Monotarefa Ex: Windows 95/98. * Sistemas Multiprogramveis / Multitarefa Ex: Unix, Linux, Windows NT/2000/2003. O S.O. Linux possui vrias caractersticas que diferenciam dos outros sistemas operacionais e que o aproximam do Unix, sendo um dos motivos da sua escolha em vrias aplicaes nas quais so necessrias estabilidades e segurana. Antes de continuarmos, convm estabelecermos alguns termos utilizados. * Kernel o ncleo do sistema operacional, a parte mais prxima do nvel fsico (hardware). Composta de chamadas ao sistema, de acesso aos dispositivos de entrada e sada e de gerncia dos recursos da mquina * Shell Shell o nome genrico de uma classe de programas que funcionam como interpretador de comandos e linguagem de programao script (interpretada) no Unix. Os Shell mais populares so bash, chs, tsh, zsh. O Shell a interface entre o usurio e o Kernel. O usurio pode escolher qual dos shells vai utilizar. O Shell padro do Linux o bash.

* Script Script um arquivo que contm comandos de Shell, que, numa situao normal, poderiam ser executados em modo prompt. Esses comandos so executados sequencialmente, dependendo de situaes, dependendo de condies estruturais de lao, como if ....then(se ...ento) e do....while(faa ......enquanto). Um script tambm pode usar variveis. A entrada pode ser recebida por meio do prompt de comando ou de outros arquivos. Hardware: So componentes referente a parte fsica do computador (impressora, disquete, placa de tv, placa me, pendrive, discos rgidos, etc). Software: So os programas instalados no computador (sistema operacional, editor de texto, planilha, banco de dados, interfaces, scripts, interfaces de comando, etc).

Estrutura do sistema de arquivos

*rvore do Sistema de Arquivos Linux

O sistema GNU/Linux possui a seguinte estrutura bsica de diretrios: / Diretrio principal (raiz). Contm arquivos programas do sistema que so usados com freqncia pelos /bin usurios. /boot Contm arquivos necessrios para a inicializao do sistema. /cdrom Ponto de montagem da unidade de CD-ROM. Contm arquivos usados para acessar dispositivos (perifricos) existentes no /dev computador. /etc Arquivos de configurao de seu computador local. /floppy Ponto de montagem de unidade de disquetes. /home Diretrios contendo os arquivos dos usurios. /lib Bibliotecas compartilhadas pelos programas do sistema e mdulos do kernel. / Local para a gravao de arquivos/diretrios recuperados pelo utilitrio fsck.ext2. lost+fo Cada partio possui seu prprio diretrio lost+found. und /mnt Ponto de montagem temporrio. sistema de arquivos do kernel. Este diretrio no existe em seu disco rgido, ele colocado l pelo kernel e usado por diversos programas que fazem sua leitura, /proc verificam configuraes do sistema ou modificar o funcionamento de dispositivos do sistema atravs da alterao em seus arquivos. /root Diretrio do usurio root Diretrio de programas usados pelo superusurio (root) para administrao e /sbin controle do funcionamento do sistema. /tmp Diretrio para armazenamento de arquivos temporrios criados por programas. Contm maior parte de seus programas. Normalmente acessvel somente como /usr leitura. Contm maior parte dos arquivos que so gravados com freqncia pelos programas /var do sistema, e-mails, spool de impressora, cache, etc.

Sistema de arquivos

ext2 - Para parties GNU/Linux usando o Extended File System verso 2 (a mais comum). ext3 - Para parties GNU/Linux usando o Extended File System verso 3, com suporte a journaling. reiserfs - Para parties reiserfs, com suporte a journaling. vfat - Para parties Windows 95 que utilizam nomes extensos de arquivos e diretrios. msdos - Para parties DOS normais. iso9660 - Para montar unidades de CD-ROM. o padro.

No GNU/Linux, os dispositivos existentes em seu computador (como discos rgidos, disquetes, portas de impressora, modem, etc) so identificados por um arquivo referente a este dispositivo no diretrio /dev.

Nomes de dispositivos
Os nomes de dispositivos no sistema GNU/Linux so acessados atravs do diretrio onde esses dispositivos fsicos so tratados como arquivos. Estes arquivos so um tipo especial no sistema de arquivos Linux. Esses dispositivos so: impressoras, CD-ROMs, modems, entradas USB, mouse, HDs, etc.

dispositivosLinux /dev/hda1 /dev/hda2 /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3 /dev/fd0 /dev/lp0 /dev/dsp /dev/mixer

dispositivosWindows C:(Partio1daIDEPrimriaMaster) D:(Partio2daIDEPrimriaMaster) COM1(Portaserial1) COM2(Portaserial2) COM3(Portaserial3) COM4(Portaserial4) disquete(driveA:) LPT1(portaparalelaimpressora) Acessoasuaplacadesompelocanaldigital Acessoaomixerdasuaplacadesom

A identificao de discos rgidos no GNU/Linux feita da seguinte forma:

/dev/hda1 |||| | | | |_Nmero que identifica o nmero da partio no disco rgido. ||| | | |_Letra que identifica o disco rgido (a=primeiro, b=segundo, etc...). || | |_Sigla que identifica o tipo do disco rgido (hd=ide, sd=SCSI). | |_Diretrio onde so armazenados os dispositivos existentes no sistema.

Parte 3 Comandos Bsicos Shell de root e usurio para trocar o shell de usurio para root digite: $ su # - shell de root [root@pc1 ~]# $ - shell de usurio [fe@pc1 ~]$ Teclas de atalho Alt + F1 - habilita menu iniciar no Ambiente grfico Alt + F2 - habilita menu executar no Ambiente grfico Ctrl + Alt + Backspace - reinicia o Ambiente grfico Ctrl + Alt + F1... - abre novos terminais em modo texto Ctrl + Alt + F7... - abre novos terminais em modo grfico

Comandos de sesso login - termina a sesso atual e inicia uma nova sesso. $ login logout ou Ctrl + D - termina a sesso do usurio. $ logout exit - encerra o shell de comandos corrente. $ exit Iniciando e reiniciando o computador reboot - reinicia o computador. # reboot shutdown - reinicia o computador. # shutdown -r now halt - desliga o computador. # halt poweroff - desliga o computador. # poweroff init 0 - desliga o computador. # init 0 Ajuda help - exibe opes de comandos. $ ps --help $ ps -h

man - consulta os manuais dos comandos do sistema. $ man ls info - exibe informaes de um ou mais comandos. $ info ls $ info para sair do info pressione "Q". whatis - consulta uma base de dados que contm informaes de comandos. $ whatis ls

Comandos de navegao pwd - Exibe o diretrio corrente $ pwd cd - Muda de diretrio corrente $ cd /etc tree - Lista arquivos e diretrios em forma de rvore $ tree (obs: Por padro o comando tree nao vem instalado em muitas das distribuies no debian instale com apt-get install tree e no fedora yum install tree.) ls - lista arquivos e diretrios ls [opes] [diretrio] op o -a -l -h -d -F explicao exibe arquivos ocultos exibe detalhes exibe detalhes de diretrio exibe o tamanho do arquivo junto com a opo -l. exibe as caracteristicas de cada arquivo, sendo eles:

Diretrios arquivo * executavel @ link simblico arquivo de ~ backup = sockets | Pipes. Exemplo:

$ ls -F /dev Metacaracteres

Curinga Descrio s ? . [] [a-z] corresponde a um nico caractere correspondente a todos os caracteres correspondente a qualquer um dos caracteres entre colchetes correspondente a uma faixa de caracteres

Expresses regulares

? . [] [a-z] ^abc abc$ \< abc {n} {n,}

coincide no maxmo uma vez. coincide zero ou mais vezes exibe faixa entre caracteres

(opcional) (opcional)

exibe qualquer um dos caracteres entre colchetes. exibe o padro abc no inicio da linha. exibe o padro abc no final da linha exibe o padro abc no inicio da linha o item sera exibido n vezes. O item sera exibido n ou mais vezes

abc\> exibe opadro abc no final da linha \{n\} o item sera exibido n vezes \ O item sera exibido n ou mais vezes {n,\} {,m} O item opcional e sera exibido no minimo m vezes \ O item opcional e sera exibido no minimo m vezes {,m\} {n,m} O item opcional e sera exibido no minimo n vezes, mas nao mais que m vezes

\ O item opcional e devera coincidir no minimo n vezes, mas nao {n,m} mais que m vezes \

Localizao de arquivos find - localiza arquivos no disco find [caminho] [opes] [arquivo] [opo] -name str -follow -maxdepth ( n) -ctime ( n ) [explicao] Localiza arquivos cujos nomes sejam semelhantes a str. Processa diretrios por meio de links simblicos. Restringe consultas a n nveis de diretrios. Combina arquivos modificados exatamente n dias atrs.

-mtime ( n ) -atime ( n ) -user ( usurio ) -group ( grupo ) -print -type ( opc ) -f -d -l Exemplo:

Combina arquivos no modificados exatamente n dias atrs. Combina arquivos no utilizados exatamente n dias atrs. Localiza arquivos com permisses espeficadas do usurio. Localiza arquivos com permisses espeficadas do grupo. Mostra nomes dos arquivos localizados. Mostra nomes dos arquivos localizados. Arquivos. Diretrios. Links simblicos.

$ find /etc/ -name *.conf $ find /usr/bin/ -type f -user kurumin -ctime +3 grep - filtra caracteres especficos de um arquivo gre [ope [padr [arquiv p s] o] o] opes -i -e + (palavra) -n -f +(arquivo ) [descrio] no diferencia maiuscula de minuscula procura por expresso "palavra" exibe o numero de linhas "padro" l o "padro" apartir do arquivo especificado

$ cat /etc/passwd | grep -i root $ ps aux | grep http strings - filtra string em arquivo binrio string [ope [arquiv s s] o] [ope s] -a

[descrio]

procura por strings em todo o arquivo imprime o nome do arquivo antes de -f cada string Exemplo:

$ strings /usr/games/xgalaga | grep galaga $ strings -a /etc/passwd

whereis - localiza arquivos binrios (programas) wherei [opes [comando s ] ] [opes descrio ] Localiza arquivos -b binrios. -s Localiza cdigo fonte. Localiza pgina de -m manual. Exemplo:

$ whereis firefox locate - localiza arquivos de um banco de dados. Exemplo:

#updatedb $ locate cupsys obs: O comando updatedb atualiza os arquivos do banco de dados. which - Mostra o caminho de um programa Exemplo:

$ which firefox Arquivos e diretrios touch - Atualiza a data de acesso ao arquivo, caso o arquivo no exista criado vazio. touch [opes] [arquiv o] opo explicao No cria o arquivo caso ele no -c exista. Atualiza somente a hora de -m modificao. Atualiza somente a data de -a acesso.

Exemplo:

$ touch arquivo1 $ touch arquivo2 arquivo3

rm - Remove arquivos. rm [opes] [arquivo] [opo [descrio] ] No exibe mensagens de confirmao para -f apagar (cuidado). -i Pergunta antes de apagar. Remove recursivamente contedo de uma pasta. -r (cuidado). -v Visualiza o nome dos arquivos antes de apagar. Exemplo:

$ rm arquivo1 $ rm -rf pasta $ rm -rf pasta/* (remove somente contedo da pasta)

mkdir Cria diretrios mkdir [ope [nome s] pasta] [op [descrio] o] cria diretrio com permisses de -m modo -v mostra o nome de cada diretrio Exemplo:

$ mkdir pasta rmdir remove diretrios vazios rmdir [opes [nome do ] arquivo] [opo [descrio] ] -p remove diretrios intermediarios -v exibe o nome de cada diretrio

removido Exemplo:

$ rmdir pasta Informaes do sistema date - exibe data e hora atual $ date cal - exibe o calendrio atual $ cal -3 hostname - exibe o nome da mquina $ hostname uptime - exibe a carga mdia dos processos que est rondando no sistema $ uptime free - exbe informaes sobre memria. $ free -t uname - exibe informaes sobre o kernel $ uname -a Comandos de paginao cat - concatena arquivo e imprime na sada padro $ cat /etc/fstab Exemplo

less - exibe arquivos texto $ less /etc/fstab Exemplo

more - semelhante ao comando less $ cat /etc/passwd | more $ more /etc/passwd Exemplo Comandos de filtro head - exibe n linhas apartir do incio do arquivo head [opes] [arquivo] op o -n -b n -c n explicao Vizualiza as n primeiras linhas do arquivo. Vizualiza os n primeiros blocos do arquivo.

Vizualiza os n primeiros caracteres do arquivo. Exemplo:

$ head -c 5 /etc/fstab tail op o -n -b n -c n

Exemplo

exibe linhas apartir do final do arquivo

tail[opes] [arquivo] explicao Vizualiza as n ltimas linhas do arquivo. Vizualiza os n ltimos blocos do arquivo.

Vizualiza os n ltimos caracteres do arquivo. Exemplo:

$ tail -f /var/log/messages Exemplo (-f visualiza o arquivo de log em tempo real) tr - substitui ou traduz caracteres tr [opes] [string1] [string2] op o -c -d -s explicao Faz a troca de todos caracteres que no esto em string1. Exclui ocorrncias de caracteres de string1 na entrada.

Exclui caracteres repetidos em string2 na sada. Exemplo:

$ cat

/etc/passwd

tr "a-z" "0-9"

Exemplo

wc - conta palavras wc [opes] [arquivo] op o -l -w -c explicao Conta as linhas. Conta as palavras.

Conta os caracteres. Exemplo:

$ wc

-l

/etc/fstab

Exemplo

nl - vizualiza numerao de linhas em arquivo Exemplo:

$ nl /etc/fstab look - vizualiza linhas que comeam com uma letra ou string em arquivo

Exemplo:

$ cat > teste string1 look string2 tecle ENTER e depois CTRL + D $ look s teste $ look str teste sort - ordena os arquivos sort [opes] [arquivo] opo -m -r explicao Junta dois arquivos que esto ordenados, vizualizando a unio na sada. Inverte a ordem para decrescente.

-t delimitado Utilizado para separao de campos. r Exemplo:

$ cat > teste.txt banana amora cereja $ sort teste.txt rev - inverte palavras de um arquivo Exemplo:

$ rev /etc/fstab tac - Concatena e imprime o inverso de um arquivo Exemplo:

$ tac /etc/hosts.allow cut - seleciona trechos de um arquivo cut [opes] [arquivo] opo -b (bytes) explicao Seleciona bytes.

-c (caractere Seleciona caracteres. s) -f (campos) Seleciona campos onde pode ser separados por virgula ou intervalo separados por hfen -

-d (delimitad Especifica o delimitador de campos como: ; - , : or) Exemplo:

cut

-f

1,2 -d: /etc/passwd

diff - exibe a direfena entre diretrios diff [opes] [arquivo1] [arquivo2] op o -a -b -i -E -w -B -a explicao Assume que todos arquivos so do tipo texto. Despresa diferenas na quantidade de espao em branco e tabulao. As diferenas de letras maisculas/minsculas so despresadas. As diferenas de tabulao so despresadas. Despresa qualquer espao em branco Ignora linhas em branco a mais ou a menos. Compara os arquivos como arquivos de texto, ainda que no sejam

Exemplo:

$ cat > arquivo1.txt a b c tecle ENTER e depois CTRL + D $ cat > arquivo2.txt a x c tecle ENTER e depois CTRL + D $ diff arquivo1 arquivo2 > saida.log (compara o arquivo1 com o arquivo2 e grava as suas diferenas no saida.log)

paste - vizualiza em culunas o contedo de um arquivo paste [opes] [arquivo] opo -s explicao Vizualiza as linhas do arquivo na mesma linha uma embaixo da outra.

-d (delimitad Especifica o delimitador de campos como: ; - , : or) Exemplo:

$ cat > arquivo1 A B C tecle ENTER e depois CTRL + D $ cat > arquivo2 1 2

3 tecle ENTER e depois CTRL + D $ paste -d: arquivo1 arquivo2 $ paste -s arquivo1

tee - Grava a sada de um comando em um arquivo tee [opes] [arquivo] op o -a explicao Adiciona a sada no final do arquivo concatenando e no sobrescreve.

-i Ignora interrupes Exemplo:

$ ftp ftp.debian.org | tee -a saida.log digite o nome do usurio anonymous vai pedir a senha aperte ENTER ls quit $ cat saida.log Espao em nome de arquivos e diretrios Coloque entre aspas ou \ o nome do arquivo ou pasta. Exemplo:

$ mkdir "pasta 1" $ cd "pasta 1" ou $ cd pasta\ 1 $ touch "teste 1" $ cat "teste\ 1" Compactando e Descompactando arquivos e diretrios tar - compacta ou descompacta arquivos e diretrios em formatos .tar, .tar.gz, .tar.bz2 tar [opes [arquivo ou ] diretrio] [op [descrio] o] cria um novo arquivo adiciona os arquivos -c selecionados -C especefica um diretrio para extrair -t lista o contedo do arquivo -f especifica indicando que um arquivo -x extrai os arquivos do arquivo -z compacta ou extrai os arquivos no formato gzip

-j -v

compacta ou extrai os arquivos no formato bzip2 exibe o nome dos arquivo extrado

$ touch arquivo1 arquivo2 arquivo3 $ tar -cvzf teste.tar.gz arquivo* (compacta todos arquivos no arquivo teste.tar.gz) $ tar -xvzf teste.tar.gz -C /tmp (extrai todos arquivos de teste.tar.gz em /tmp)

gzip - compactaao em modo gz gzip [opes [arquivo ] ] [op [descrio] o] grava o arquivo na sada e conserva o -c original -t -x extrai os arquivos do arquivo .tar -v Exemplo: $ $ $ $ touch arquivo gzip arquivo (compacta) ls arquivo.gz (arquivo compactado)

gunzip - descompacta arquivos no formato gz Exemplo: $ gunzip arquivo (compacta)

bzip2

- compactao modo bzip2

Exemplo: $ touch arquivo $ bzip2 arquivo (compacta)

bunzip2 Exemplo:

- descompactao modo bzip2

$ bunzip2 arquivo (descompacta) Comandos de terminal reset - Inicializa o terminal $ reset

clear - limpa a tela do terminal corrente

$ clear

echo envia uma mensagem para o terminal $ echo "alo mundo"

write - envia uma mensagem para o usurio $w $ mesg y(ativa o recebimento de mensagens) $ write italo tty1 ola fe $ write fe tty2 ola italo $ write fe@linuxbrasil.org.br ola como vai

wall - envia uma mensagem a todos os usurios do sstia $ wall "ola pra todos como vao vcs"

mesg $ mesg

controla o recebimeto de mensagens pelo terminal