Escolar Documentos
Profissional Documentos
Cultura Documentos
apostilaLINUX2 PDF
apostilaLINUX2 PDF
O Advento de um novo sistema h alguns anos tem tirado o sono dos executivos da
Microsoft, no somente por mostrar-se, em muitos aspectos, melhor que seu
concorrente, como bem mais barato! Esse novo sistema chama-se Linux.
Surgimento do Linux
Em 1991, segundo reza a lenda, o ento estudante finlands Linus Torvalds resolveu
desenvolver um sistema operacional que se assemelhasse ao UNIX (que ele usava na
universidade de Helsinque) porque esse sistema no era compatvel com o seu PC
domstico. E nesse esforo, surgiu o Linux, que, naquela poca, ainda no tinha esse
nome.
Explicando: O UNIX um sistema operacional muito robusto, usado em computadores de
grande porte nas empresas e universidades. O UNIX foi desenvolvido, inicialmente, em
1969, na Universidade de Berkeley, na Califrnia. A grande maioria dos cursos de
www.joaoantonio.com.br 1
Joo Antonio Sistema Operacional Linux
computao das universidades do mundo utiliza o UNIX em seus servidores, por isso o
estudo de Torvalds se baseava nesse ambiente.
At os dias de hoje, o aprendizado e a utilizao do UNIX privilgio de alguns poucos
mortais que se aprofundam no estudo da computao e tm acesso a computadores de
grande porte, onde esse sistema pode ser instalado. Mas o Linux trouxe essa utilizao
para nveis mais cotidianos, permitindo que qualquer um que possua um PC comum
possa ter acesso ao universo dos sistemas UNIX-Like (termo que significa semelhantes
ao UNIX).
Linus havia criado um sistema parecido com o UNIX e concorrente do MINIX (um outro
sistema UNIX-Like, criado por um conhecido professor americano e autor de diversos
livros: Andrew Tanenbaum), mas que s funcionava na mquina dele, em casa (afinal,
ele o havia projetado com base no processador e na arquitetura de seu micro caseiro).
Linus escreveu uma mensagem numa lista de discusso na Internet (que, na poca, no
havia sido descoberta comercialmente em muitos pases, incluindo o Brasil) encorajando
os outros programadores e usurios do UNIX a ajud-lo na tarefa de criar um sistema
operacional semelhante para micros domsticos que superasse, em muitos aspectos, o
MINIX (at ento, uma das pouqussimas opes de sistema UNIX-Like para PCs).
Para pr em prtica seu desejo de ter um sistema semelhante ao UNIX que funcione nos
PCs, Linus enviou, aos interessados, o cdigo-fonte do seu sistema, para que os outros
programadores pudessem entender e modificar o seu projeto.
Em tempo: Cdigo-Fonte o nome dado ao conjunto de instrues escritas pelo
programador em uma linguagem compreensvel para ele (e, normalmente, para mais
ningum!). O projeto de Linus foi escrito na linguagem C, que bastante poderosa e
verstil, sendo a preferida pelos programadores que desenvolvem softwares bsicos
(aqueles que falam diretamente com a mquina).
O cdigo-fonte no o programa pronto para ser executado, em vez disso, a receita
de como o programa foi criado e do que ele vai fazer. Para que o cdigo-fonte se
transforme no arquivo que ser executado pelo computador, necessrio um processo
de traduo que reescreva o programa na linguagem que o computador entende,
tambm chamada de linguagem de mquina, esse processo de traduo chamado
compilao.
Pois , quando Linus Torvalds distribuiu o cdigo-fonte de seu programa, ele tornou
possvel para outros programadores fazer alteraes em seu sistema, permitindo que
muitos se tornassem os co-desenvolvedores do Linux, nome, alis, que s seria dado ao
sistema alguns anos depois, em homenagem ao seu pai original.
www.joaoantonio.com.br 2
Joo Antonio Sistema Operacional Linux
O Linux original possua poucos recursos visuais e de aplicativos, mas era o suficiente
para Linus entender que ele poderia melhorar e atingir nveis de usabilidade altos. Ou
seja, o negcio ainda no prestava, mas ia melhorar e um dia prestaria para alguma
coisa!
S para voc ter uma idia do que Linus criou e o que ele fazia na poca, segue uma
foto. O Linux era um sistema basicamente textual, como o DOS, e cujos comandos eram
semelhantes aos comandos do UNIX (claro, por ser UNIX-like).
O Linux um sistema operacional, como j foi dito, e, por isso, tem a funo de controlar
o computador e permitir que o usurio d comandos a ele. Isso no privilgio do Linux,
visto que outros programas fazem exatamente o mesmo, como o conhecido Windows, da
Microsoft.
Entre outras caractersticas diferentes entre eles, podemos citar uma que tornou o Linux
algo muito interessante e digno de ateno: o Linux um software livre. Isso significa
que aqueles que adquirem o Linux tm certos direitos em relao a ele que os usurios
do Windows no possuem em relao ao sistema da Microsoft.
Mas, o que ser software livre?
Para explicar esse termo, recorremos ao conceito de um software comercial como o
Windows: para usar o Windows em um computador, o usurio tem que ter pago uma
taxa a ttulo de direito autoral pelo programa, chamada de licena de uso. A licena de
uso do Windows paga por cada computador onde o programa esteja instalado na
empresa.
Alm disso, no ser permitida a cpia do CD original do programa para a instalao em
outro computador sem o pagamento de uma nova licena. Ento, se um usurio comprar
o Windows em uma loja e resolver instal-lo em mais de um computador, estar
cometendo crime de pirataria de software, ou desrespeito s leis de copyright que regem
os programas comerciais como o Windows.
No Linux, a coisa muda de figura radicalmente. Os desenvolvedores do Linux, incluindo
seu criador, Linus Torvalds, classificaram o Linux numa licena chamada GPL (General
Public License Licena Pblica Geral), da FSF (Free Software Foundation Fundao do
Software Livre).
A FSF uma instituio supostamente sem fins lucrativos que desenvolveu uma
legislao especfica para todos os programadores que quisessem que seus projetos
fizessem parte do mundo dos programas sem rigidez de copyright.
Como Assim? Simples: Se voc um programador e criou um software que deseja
vender para explorar seu valor financeiro, exigindo pagamento da licena a todos os
usurios, v em frente, no com a FSF! Mas, se voc desenvolveu um programa para
ser distribudo por a, para quem quiser usar, abrindo mo da licena de uso, a FSF criou
a GPL para voc!
Na GPL, 4 direitos so garantidos aos usurios dos programas regidos por ela (os
chamados Softwares Livres):
1. Um Software Livre poder ser usado para qualquer finalidade;
2. Um Software Livre poder ser estudado plenamente (para isso, necessrio
possuir o cdigo-fonte do programa);
3. Um Software Livre poder ser alterado em sua totalidade (para isso, necessrio
possuir o cdigo-fonte do programa);
4. Um Software Livre poder ser distribudo (copiado) livremente, sem a exigncia
de pagamento de licena de uso em nenhum dos casos...
www.joaoantonio.com.br 3
Joo Antonio Sistema Operacional Linux
Lembra dos programadores com quem Linus Torvalds entrou em contato para ajud-lo
na tarefa de alimentar o Linux de contedo e funcionalidade a fim de faz-lo crescer?
Pois , eles tambm cresceram em nmero!
Atualmente, cerca de 10.000 pessoas no mundo todo do sua contribuio valiosa para a
manuteno e evoluo do Linux, seja criando novos aplicativos e drivers, seja
melhorando o funcionamento do prprio sistema (que trabalho dos programadores) ou
at mesmo traduzindo as interfaces para que o Linux se apresente disponvel nos mais
variados idiomas (portanto, qualquer poliglota pode fazer parte desse grupo, no precisa
conhecer a linguagem C).
Esta, leitor, a Comunidade Linux, que formada pelos mais diversos profissionais
que desejam, simplesmente, em seus tempos livres, colocar mais um tijolo no j muito
firme alicerce do ambiente Linux, a fim, talvez, de que um dia o sistema de Linus (e de
todos eles) possa desbancar o Windows.
Agora vamos s comparaes ( inevitvel tambm): No sistema Windows, qualquer
mudana feita pela detentora do cdigo-fonte, a Microsoft, que disponibiliza a
atualizao em seu site Windows Update. Quanto ao Linux, qualquer usurio
conhecedor de C pode mudar alguma coisa que no ache satisfatria no sistema,
permitindo melhorias imediatas sem a dependncia de uma suposta fabricante. Isso,
claro, porque o usurio o detentor do cdigo-fonte!
Certas mudanas ficam restritas ao computador do usurio que as fez, mas algumas so
enviadas comunidade, que avalia a relevncia da mudana e julga se ela pode ser ou
no adicionada na prxima verso do Linux.
O objetivo da Comunidade no somente criar coisas novas (embora faa isso tambm),
mas, tambm, modificar constantemente o centro do sistema Linux, o seu Kernel.
www.joaoantonio.com.br 4
Joo Antonio Sistema Operacional Linux
www.joaoantonio.com.br 5
Joo Antonio Sistema Operacional Linux
Como foi dito, o Linux basicamente seu Kernel. mas aquilo que ns, usurios,
utilizamos no Linux mais que isso, com certeza!
Como vimos ainda, o Kernel e os demais programas que formam o Linux so livres e, na
maioria dos casos, open-source (sim, nem todos os softwares livres so open-source) e,
por causa disso, podem ser adquiridos e modificados da maneira como os distribuidores
querem.
Um distribuidor uma pessoa ou instituio que pega o Kernel do Linux, une esse
programa a outros, criados por ele ou por outrem, e encaixota o resultado, dando-lhe
nome e oferecendo suporte a ele (ou seja, responsabilizando-se pela obra), criando uma
nova Distribuio do Linux.
Note que diversas distribuies so semelhantes entre si, afinal, tm o mesmo centro, e,
muitas vezes, os mesmos programas auxiliares, como aplicativos de escritrio e jogos,
portanto, a escolha por essa ou aquela distribuio um processo pessoal e vai mais
pelo gosto do usurio (eu mesmo uso duas: o Conectiva Linux 10 e o Slackware 10.1).
Seguem algumas das principais distribuies do Linux (mas lembre-se: so basicamente
a mesma coisa, porque tm se baseiam num nico centro: o Kernel):
www.joaoantonio.com.br 6
Joo Antonio Sistema Operacional Linux
www.joaoantonio.com.br 7
Joo Antonio Sistema Operacional Linux
www.joaoantonio.com.br 8
Joo Antonio Sistema Operacional Linux
nos dois casos, o culpado no foi o Kernel (o sistema em si), mas algum programinha
que estivesse em execuo causando a instabilidade do computador e impedindo o
Linux de resolver a questo (e isso j faz alguns anos! Ultimamente, no tenho sido
testemunha de nenhum mal estar do sistema).
Espero que essa apresentao sucinta do sistema operacional Linux tenha aberto sua
mente para compreend-lo e, assim como eu, gostar dele e utiliz-lo! Sei que ainda
faltam caractersticas importantes para que ele se torne um sistema to facilmente
utilizvel e perfeito para ser usado em casa ou no trabalho, mas com o tempo, e a cada
verso do Kernel ou nova distribuio, vejo as evolues aparecerem, o que prova que a
Comunidade est trabalhando duro em seu filhote! Vamos l! Aprenda a criar pingin
voc tambm!
Ligar um computador e ver mensagens e figuras diferentes daquelas com que estamos
acostumados quando iniciamos o Windows pode ser uma experincia traumtica! Esse
medo, por parte dos ex-usurios do Windows, acontece todas as vezes que o Linux
iniciado (e, especialmente, na estria!).
Lembro-me que, quando o fiz pela primeira vez, fiquei assustado e, quando finalmente a
inicializao terminou, me senti completamente perdido naquela tela preta que
aguardava ansiosamente por meus comandos. No se sinta mal: frustrante no saber o
que fazer diante de um computador que voc julgava perfeitamente subordinado a voc.
Os contatos iniciais com o Linux podem parecer muito difceis (e realmente o sero se o
usurio no estiver preparado para entender o sistema e suas principais facetas). Saber
o que h no Linux e como se faz para as coisas funcionarem um pr-requisito para o
sucesso do usurio nesse novo ambiente (eu costumo chamar de novo universo).
Conceitos Gerais
www.joaoantonio.com.br 9
Joo Antonio Sistema Operacional Linux
Como j foi citado, o Linux admite a existncia de diversos usurios. Os cadastros dos
usurios que o sistema possui so feitos em registros exclusivos chamados contas (ou
contas de usurio). Ento, se voc pretende usar o Linux, deve possuir uma conta
cadastrada no sistema.
Essa conta consiste, entre outras informaes, no Login (o seu nome perante o sistema)
e a senha (seqncia de caracteres secreta). As contas tambm definem os privilgios de
acesso que o usurio tem no sistema, como por exemplo, se ele vai poder alterar um
determinado arquivo, ou se s vai poder l-lo.
H vrias formas de criar contas de usurio no Linux depois que o sistema est em
funcionamento (essas formas sero vistas depois), mas uma conta criada quando o
Linux instalado no computador, a conta da pessoa que tem direito a fazer qualquer
coisa no sistema: o Administrador ou Super Usurio.
O Super Usurio o cara, simplesmente! Ele pode tudo! Se voc o super usurio de
sua mquina, voc o dono, o manda-chuva dela. O Login cadastrado para a conta do
Administrador : root. Ou seja, para ser reconhecido como super usurio do sistema
Linux, necessrio, na inicializao do sistema, que o usurio digite root e a senha
apropriada.
Se o seu caso diferente, como por exemplo: voc solicitou a algum (um tcnico) que
instalasse o Linux em seu computador, depois de realizar a tarefa (e ser pago por isso),
o tcnico entrega a mquina a voc com um papel junto: usurio: fulano e senha:
1234. Isso significa que para poder acessar o sistema, voc dever apresentar essas
informaes toda vez que o micro for ligado.
Certo, mas e da? Simples: Voc no o root! O tcnico, provavelmente, criou a senha
para o root, que s ele sabe, e criou uma conta de usurio para voc poder utilizar
inocentemente o computador. Quem instala o Linux define a senha do root, porque
esta uma das exigncias feitas durante o processo de instalao do sistema.
Trabalhar com o Linux no privilgio do usurio que detm a senha do root, mas este
usurio poder fazer qualquer coisa, entrar em qualquer lugar, abrir qualquer arquivo e
at mesmo apagar ou criar quaisquer outros usurios. Por exemplo, h certos comandos
que s podem ser executados pelo root e quando os usurios comuns tentam execut-
los, recebem mensagens de erro informando que o acesso no ser permitido.
Recomendao ao Administrador do Sistema: se voc o proprietrio da conta de
super usurio, aqui vai uma dica interessante: no use a conta de root
constantemente para fazer qualquer coisa (digitar textos, acesso Internet, jogos). Ao
invs disso, crie uma conta de usurio qualquer (sem privilgios administrativos) para
poder realizar as tarefas cotidianas.
A idia que se, durante um acesso Internet, por exemplo, seu computador for
infectado por um vrus o outro programa malicioso, o referido programa ser executado
em modo root, e ter acesso completo ao sistema (podendo ferrar o sistema
completamente)! Se, no momento da infeco, voc estiver logado como um usurio
convencional, os limites de acesso impostos a voc pelo prprio Linux sero responsveis
por conter os programas bisbilhoteiros.
Ou seja, no banalize a conta de root, apenas faa uso dela em casos necessrios
(mudanas de configurao, ajustes do sistema, instalao de programas, etc.).
www.joaoantonio.com.br 10
Joo Antonio Sistema Operacional Linux
de fatores (incluindo a distribuio utilizada), essa tela pode ser diferente, mas no geral
solicita sempre duas informaes aos usurios: Login e Senha.
Note algumas semelhanas com o Windows, como a presena de janelas, cones, menus,
ou seja, o Linux no mais to assustador assim! perfeitamente possvel migrar da
plataforma Windows para a plataforma de software livre! s querer!
Aproveitando: o termo plataforma muito usado para descrever um jeito ou um
ambiente de trabalho em informtica. Ento, a plataforma Windows significa o uso ou
as caractersticas apresentadas pelo Windows e pelos programas que funcionam nele.
Vamos nos prender utilizao destes ambientes grficos daqui a algumas pginas (no
se afobe, preciso apenas mostrar-lhe mais alguns conceitos antes de soltar voc no
Linux!).
www.joaoantonio.com.br 11
Joo Antonio Sistema Operacional Linux
Bom, em primeiro lugar, se voc espera ter, no Linux, cones que ajudem-no a acessar a
Unidade C:, D:, E: e outras afins, tire isso da cabea! Aqui, a nomenclatura para as
unidades de armazenamento diferente do Windows. E isso, confie em mim, pode gerar
problemas srios!
Veja, na figura a seguir, uma janela aberta do cone Computador, que comum nos
ambientes grficos atuais que funciona como o manjado Meu Computador existente no
Windows. Note que no existem as unidades C: ou D: e que h alguns componentes
meio estranhos (como o famigerado Sistema de Arquivo).
Deixe-me tentar explicar em poucas palavras: a forma de nomenclatura dos discos por
parte do Linux no se parece, em nada, com a do Windows. Enquanto que no Windows, a
estrutura de diretrios (pastas) comea em cada unidade de disco devidamente nomeada
(C:, D:, E:, etc.), no Linux, todos os diretrios so subordinados a um grande diretrio
pai de todos: o diretrio (ou pasta) raiz, ou sistema de arquivo (nessas novas
distribuies, essa nomenclatura tambm tem sido usada).
como se o diretrio raiz representasse, simplesmente, o universo dentro do sistema
Linux. Os demais diretrios esto dentro do sistema de arquivo. Para os mais
tradicionalistas e para os comandos usados no sistema Linux, comum ainda fazer
referncia a esse diretrio principal como / (barra), simplesmente.
Ento fica simples: o Linux no tem unidade C:, nem D:, nem E:... Mas tem um nico e
grande repositrio de informaes que armazena todos os arquivos e diretrios contidos
nas unidades de disco (Cds, disquetes, DVDs ainda vo continuar existindo, mas, no
Linux, no ganham letras seguidas de dois pontos). Em outras palavras, o diretrio raiz,
ou sistema de arquivo, ou ainda / (barra) o incio de tudo o que est armazenado no
computador e a que o Linux tem acesso: tudo, no computador, est dentro do diretrio
raiz!
A, voc questiona: Mas Joo, estou vendo a unidade de CD-RW/DVD+RW como um
cone separado do Sistema de Arquivo. Como voc me diz que ela (a unidade de CD)
est dentro do Sistema de Arquivo?
Acredite em mim! Essa unidade de CD-RW/DVD+RW apenas um atalho para a
verdadeira unidade de CD do computador (que ser mostrada como um diretrio dentro
do diretrio raiz).
Veja, quando abrimos o cone Sistema de Arquivo, na janela mostrada h pouco, que
temos acesso a vrios outros diretrios (pastas) e, por sua vez, aos diretrios dentro
desses diretrios, como no Windows. Mas bom lembrar que, quando entramos no cone
Meu Computador do Windows, visualizamos as unidades separadas, e aqui elas so
subordinadas ao sistema de arquivo.
www.joaoantonio.com.br 12
Joo Antonio Sistema Operacional Linux
Note o nome descrito na barra de ttulo da janela (/), que o nome oficial do diretrio
raiz. Todas as demais pastas ficam dentro de /, at aquelas que representam discos
rgidos diferentes! Sim, os discos rgidos diversos que um micro pode ter so
representados por pastas dentro do sistema de arquivo. Veremos essas pastas daqui a
pouco.
S como um exemplo mais fcil de entender, quando se vai salvar algo no Linux, no se
define aquele manjado endereo de C:\pasta\arquivo ( assim que salvamos no
Windows, no ?). OK, no Linux a gente salva um arquivo em /pasta/arquivo (porque
tudo, no micro, est localizado dentro de / - que, no endereo, a primeira barra,
antes do nome da pasta).
Note bem, na figura seguinte, uma foto do Konqueror (um programa semelhante ao
Windows Explorer) navegando pelo contedo da pasta /opt/kde e note a relao
entre essas pastas (kde est dentro de opt, que, por sua vez, est dentro de / - a raiz).
Verifique, tambm, que, na rvore de pastas (diretrios), o diretrio raiz (/) chamado
de pasta raiz.
www.joaoantonio.com.br 13
Joo Antonio Sistema Operacional Linux
Ento, como voc pode perceber, copiar e mover arquivos e pastas, organizar o contedo
do seu computador (seus arquivos de documentos e msicas mp3, por exemplo) no
ser uma tarefa to difcil, no acha?
Usar o Linux, do ponto de vista de usurio leigo, se tornou muito mais fcil, porque, hoje
em dia tudo est visualmente agradvel. A prova disso que todos os principais recursos
e telas que mostramos parecem muito com as janelas no Windows, e isso graas a
programas conhecidos como Ambientes Grficos.
Uma distribuio comum do sistema Linux formada por uma srie de programas, como
venho dizendo h algumas pginas. Alm do Kernel em si (que a alma do sistema),
temos vrios aplicativos de escritrio, utilitrios de manuteno e at mesmo jogos de
diversos estilos. Dentre os programas que acompanham o Linux (saiba que uma
distribuio atual pode conter mais de 2000 programas diferentes!), h uma categoria
muito especial e bastante necessria para os usurios leigos no sistema: os
Gerenciadores de Janelas (tambm conhecidos como Ambientes Grficos).
Um Ambiente Grfico um programa que permite que o Linux se apresente de forma
amigvel, como o Windows, atravs de janelas, cones, menus, e botes. Um ambiente
grfico considerado um programa extra porque o Linux, naturalmente, no apresenta
a cara bonita que esses programas criam. Lembre-se de que o Linux baseado no
UNIX, portanto, ele nativamente textual (controlado atravs de comandos de texto!
Tela preta, letras brancas e aquele bl bl bl todo!).
Uma distribuio do Linux pode conter diversos Ambientes Grficos diferentes, mas os
dois mais famosos so, sem dvida, o KDE (K Desktop Environment) e o Gnome. A
escolha entre um e outro vai simplesmente de deciso pessoal porque ambos so
excelentes e a maioria (para no dizer todos) dos programas que funcionam em um
tambm funcionam no outro!
Na figura abaixo mostrado o ambiente Gnome com dois programas abertos: o GIMP
(um programa de edio de imagens que chega a se comparar ao Photoshop da Adobe) e
o OpenOffice.org Writer, a verso open-source do Microsoft Word.
www.joaoantonio.com.br 14
Joo Antonio Sistema Operacional Linux
www.joaoantonio.com.br 15
Joo Antonio Sistema Operacional Linux
Por exemplo, o programa OpenOffice.org Writer (ou simplesmente Writer), mostrado nas
figuras anteriores, s executado (passa a funcionar) se um ambiente grfico (como o
KDE ou o Gnome) j estiver em execuo. E isso vale para qualquer outro aplicativo dos
que se podem acessar pelos menus dos ambientes.
Aviso: Como a liberdade algo inerente ao uso do Linux, eu no me prenderei a uma
interface grfica apenas, ao invs disso, sero mostradas figuras com fotos ora do KDE,
ora do Gnome, mas, devidamente informadas e explicadas.
Como todo sistema operacional, o Linux tem a responsabilidade de, entre outras coisas,
controlar a inicializao do sistema, realizando todas as tarefas necessrias para que o
sistema esteja completamente apto a responder s requisies do usurios quando este
assumir o controle da mquina. Muitas operaes so realizadas antes de o usurio
poder executar qualquer comando ou abrir qualquer janela. Resolvi, ento, listar alguns
passos importantes desse complexo conjunto de acontecimentos:
1) O Computador ligado, passando a receber alimentao eltrica. Nesse estgio, a
memria RAM (principal) est vazia (sem contedo) e os programas e arquivos do
usurios esto armazenados nos discos (memrias auxiliares).
2) O BIOS (Sistema Bsico de Entrada e Sada), que um pequeno programa
armazenado numa memria ROM (memria que no necessita de eletricidade) na
placa-me do computador, vai ser acordado para acordar o restante do computador,
especialmente, seu Sistema Operacional. O BIOS o primeiro programa executado
por um computador e possui um papel importante: localizar e executar o Sistema
Operacional do computador (seja o Linux ou outro qualquer).
3) Depois de encontrar o Sistema Operacional (que estava no Disco Rgido), e iniciar seu
processo de carregamento (carregar = jogar na memria principal RAM), o BIOS
entrega a responsabilidade ao Sistema Operacional. nesse ponto, no caso do Linux,
que o Kernel jogado na RAM e o Linux efetivamente iniciado.
4) Depois de iniciados o Kernel e outros componentes do Linux, o sistema solicita ao
usurio as informaes de Logon (Nome de usurio e Senha). Nesse ponto, tambm,
possvel escolher como o Linux vai se apresentar, se em modo texto (shell) ou em
modo grfico (atravs de alguma interface grfica, como o KDE ou o Gnome). Como
ns usaremos, por enquanto, o Linux em modo grfico, seguiremos os passos
seguintes a essa escolha.
5) O Gerenciador de Janelas iniciado, realizando, inicialmente, alguns procedimentos
necessrios sua utilizao, para, enfim, entregar ao usurio o controle do
computador, permitindo que ele execute qualquer programa disponvel no sistema
(desde, claro, que seus privilgios de acesso permitam).
Resumindo At Aqui
www.joaoantonio.com.br 16
Joo Antonio Sistema Operacional Linux
USANDO O LINUX
Antes de podermos meter a mo na massa no Linux, caro leitor, sinto necessidade de
apresentar para voc alguns conceitos mais aprofundados sobre o sistema. Dentre esses
conceitos, vamos falar de como o Linux interpreta arquivos, o que so arquivos
executveis (ou melhor, como eles so), qual a estrutura de diretrios do Linux
(como os diretrios do Linux esto organizados), a noo de permisses de acesso e
algumas outras informaes.
Depois que voc ficar conhecendo esses conceitos apropriadamente, partiremos para o
uso do sistema, mas saiba que, em alguns casos, iremos voltar a esses conceitos para
aprend-los de forma mais aprofundada pois, nesse captulo, esses conceitos so
apresentados apenas superficialmente (ou quase).
www.joaoantonio.com.br 17
Joo Antonio Sistema Operacional Linux
www.joaoantonio.com.br 18
Joo Antonio Sistema Operacional Linux
num arquivo do Word, o que acontece? Isso! O Word aberto para poder abrir o arquivo
que o usurio executou!
Quando o arquivo for um binrio, o Linux jogar seu contedo na memria principal e
comear a executar os comandos existentes nele (afinal, um binrio um programa
compilado um executvel em linguagem de mquina).
Se o arquivo for um Shell Script, ou outro script qualquer (existem vrios), o Linux se
encarregar de ler e interpretar seu contedo (lembre-se: scripts so roteiros cheios de
comandos).
Finalmente, ao se aplicar duplo clique em um link, ele vai apontar para o arquivo original
e o tipo desse arquivo original que definir o comportamento do Linux aps a
execuo.
Opa! Quase ia me esquecendo delas: se o clique duplo for dado numa pasta, ela ser
aberta diretamente pelo programa gerenciador de arquivos (no caso da foto, o
konqueror, do KDE), exatamente como acontece no Windows Explorer.
Uma grande diferena entre o Windows e o Linux o jeito como cada um trata os seus
arquivos no que se refere s regras de nomenclatura deles em cada sistema. Ou seja,
nem sempre o que aprendemos e usamos para salvar arquivos no Windows pode ser
usado no Linux e vice versa.
Vamos tomar como exemplo um arquivo qualquer do Windows: carta.doc. Esse arquivo
, sem dvida, um arquivo de Documento do Word, que ser aberto pelo programa
Microsoft Word. Como eu sei disso? Pelo sobrenome do arquivo: a sua extenso
(doc). Uma primeira regra simples : mesmo no sendo necessria hoje, a extenso
utilizada pelo Windows para reconhecer o arquivo, definindo quem ir abri-lo!
Em outras palavras, o arquivo acima citado poderia se chamar somente carta, mas isso
no deixaria o Windows classificar-lhe como documento do Word. No sistema Windows,
os tipos de arquivos so identificados por sua extenso. Nesse sistema, so comuns
nomes de arquivos bem definidos, com apenas um ponto entre seu nome e sua
extenso, como em: oramento.xls, carta.doc, filmagem.mpg, What a Wonderful
World.mp3 e assim por diante.
No Linux, realmente no h necessidade de extenso para os arquivos (binrios, dados,
links, diretrios) existirem e serem identificados como tal. Um arquivo normalmente
identificado pelo seu contedo, ou seja, mesmo que um arquivo se chame somente
texto (como o arquivo mostrado na figura 2.1), ele ser identificado como um arquivo
de texto puro (ASCII): note o cone que foi dado a ele!
No estou dizendo que no Linux no so usadas extenses, porque so sim! Estou
dizendo que, para diferenciar os tipos de arquivos entre si, o Linux, na maioria das
vezes, no precisa da extenso porque analisa o contedo do arquivo para definir seu
tipo. Imagine dois arquivos de imagem (so arquivos de dados): uma foto JPEG (JPG) e
uma imagem GIF. Mesmo que voc no ponha extenses neles, o Linux ser capaz de
identific-los por seus contedos (porque cada arquivo tem uma espcie de assinatura
no sistema).
Vale salientar que os cones no so dados pelo Linux em si, mas pelo ambiente de
janelas (KDE, Gnome ou outro qualquer), portanto, se voc est usando um ambiente
grfico diferente do meu (estou usando o KDE), os cones podem ser diferentes dos
apresentados nesta janela, e podem at mesmo ser iguais entre si.
Outra coisinha interessante sobre os nomes dos arquivos que nem sempre h apenas
um ponto no nome. simples entender: como no h essa rigidez toda quanto s
extenses, no h obrigatoriedade de identific-las com um ponto, portanto, o ponto
www.joaoantonio.com.br 19
Joo Antonio Sistema Operacional Linux
www.joaoantonio.com.br 20
Joo Antonio Sistema Operacional Linux
Grupos de Usurios
Vimos que, para se conectar ao sistema Linux, podendo utilizar seus recursos, um
usurio precisa ter uma conta (Login e Senha). Vimos tambm que uma dessas contas
especial porque fornece, a seu detentor, o direito de fazer qualquer coisa no computador
(root). Mas ainda faltou falar sobre uma coisinha nas contas de usurios: os grupos.
Um Grupo de Usurios, ou somente grupo, , como o nome j diz, um conjunto de
usurios. Um grupo bom para reunir vrios usurios e atribuir a ele (o grupo) certos
privilgios de acesso. Quem estiver dentro do grupo vai ter acesso aos recursos que o
forem fornecidos ao grupo todo.
Exemplo: o usurio root pertence a um grupo chamado, adivinha... root. Os demais
usurios, como joao, ana, pedro, paula podem pertencer a outros diversos grupos,
como financeiro, rh, e assim por diante. Quando se estipulam, para um grupo,
privilgios de acesso a um determinado recurso, todos os usurios daquele grupo
automaticamente recebero aqueles direitos sobre o recurso.
Quando se cadastra uma nova conta de usurio no Linux, possvel definir em que
grupos aquele usurio vai ser inserido (Sim, um usurio pode pertencer a mais de um
grupo simultaneamente). Vamos ver posteriormente como fazer para adicionar novos
usurios e novos grupos, no se aveche (apresse).
Entre os vrios recursos que tornam o Linux um sistema seguro est a rigidez dele no
tocante s permisses que um usurio tem de utilizar um determinado arquivo. Os
sistemas Windows domsticos (95, 98, ME e XP Home) no chegam nem perto do que o
Linux pode fazer para proteger os arquivos de um usurio.
Vejamos: imaginemos que os arquivos mostrados na figura abaixo foram criados por um
usurio chamado joao que pertence ao grupo contab. Note, pela figura, que os arquivos
em questo esto localizados na pasta /empresa/documentos/geral.
www.joaoantonio.com.br 21
Joo Antonio Sistema Operacional Linux
Supondo que o usurio clique com o boto secundrio do mouse (normalmente o direito)
em um dos arquivos mostrados acima (por exemplo, o arquivo orcamento), ser
apresentado um menu de opes onde haver propriedades como uma delas. Ao clicar
em propriedades, o usurio obter a seguinte janela:
Note logo que h 3 nveis de permisses: um para o Dono, um para o Grupo e um para
Outros, mas o que isso?
Dono do Arquivo: , normalmente, como o nome j diz, o usurio que criou o
arquivo. Eu disse normalmente porque um arquivo pode ter seu dono atribudo
posteriormente (o ttulo de dono do arquivo transfervel a outros usurios). Note que
o dono do arquivo o usurio joao, como se pode ver na parte inferior da figura
acima.
Grupo: descreve o grupo de usurios ao qual o dono do arquivo pertence. O arquivo
mostrado na figura pertence ao usurio joao, que est cadastrado no grupo contab.
Outros: descreve os privilgios de acesso dos outros usurios do computador
(aqueles que no pertencem ao grupo contab).
Note tambm que h permisses para 3 tipos de operaes: Escrever, Ler e Executar.
Escrever: esse privilgio permite, ao seu detentor, modificar o contedo de um
arquivo (salv-lo). Normalmente, esse direito est atrelado ao direito de ler o arquivo
(porque, na maioria dos casos, modificar o arquivo requer que se abra ele primeiro).
www.joaoantonio.com.br 22
Joo Antonio Sistema Operacional Linux
No caso da figura acima, apenas o dono do arquivo (joao) poder alterar seu
contedo.
Ler: permite que o detentor desse privilgio possa apenas ler o contedo de um
arquivo, sem poder alter-lo (salvar). Nem vem! Se voc no tiver acesso a um
arquivo para modific-lo, nada feito, o Linux no deixa mesmo! O grupo contab foi
agraciado com o direito de ler o arquivo orcamento, segundo as informaes
mostradas na figura acima.
Executar: define que o arquivo em questo poder ser executado como um programa
qualquer pelo usurio. Como j vimos, no Linux, vrios arquivos so considerados
executveis, como os binrios e os shell scripts. Para que o sistema os possa executar
quando o usurio pedir, necessrio que este (o usurio) tenha privilgio para
executar o arquivo. O arquivo orcamento, na figura acima, no executvel!!!
Note que, aos usurios que no pertencem ao grupo do usurio joao (grupo contab), no
foi dada nenhuma permisso ao arquivo mostrado na figura acima, ou seja, com o
arquivo orcamento, os demais usurios do computador no podem fazer nada (nem
ler)!
Essas permisses podem ser alteradas nesta mesma janela, bem como atravs de
comandos do sistema (conhecemos os comandos logo logo). Veja a mesma janela com
direitos de leitura, escrita e execuo dados a todos os usurios do computador (todo
mundo pode tudo). O dono do arquivo e o grupo tambm foram alterados.
www.joaoantonio.com.br 23
Joo Antonio Sistema Operacional Linux
Cada usurio cadastrado no sistema Linux tem uma pasta prpria, onde recomenda-se
que este guarde seus arquivos pessoais (como Meus Documentos no Windows). Claro
que essa pasta ser usada se o usurio quiser, pois nada (realmente) o obriga a us-
la! apenas uma questo de organizao e praticidade.
Para todos os usurios do sistema (com exceo do usurio root), a pasta pessoal fica
localizada em /home/xxxx, onde xxxx o login do referido usurio. Exemplo: o
usurio pedro vai ter, quando cadastrado, sua pasta pessoal criada como
/home/pedro.
Para o super usurio, a pasta pessoal dele /root, fora da estrutura de /home. (...
quem pode, pode!).
E, claro, a menos que se determinem permisses diferentes, o diretrio /root
acessvel somente pelo usurio root e os diretrios pessoais dos outros usurios estaro
acessveis apenas por eles respectivamente (cada um no seu) e pelo root (novamente,
quem pode, pode!).
Onde:
usuario: login do usurio que est logado
computador: nome do computador que se est usando
diretrio: nome do diretrio atual (ou seja, a pasta onde se est trabalhando no
momento).
s vezes, porm, o prompt apresenta informacoes variadas (nao exatamente essas que
falei): por exemplo, possvel encontrar o prompt apenas com um sinal, que pode ser:
$ se o usurio logado um usurio comum;
# se o usurio logado o root (administrador);
(note que esses sinais acompanham os prompts grandes tambm!)
Alm de saber como o Linux se apresenta em modo texto, interessante ver como se
processam as respostas dadas aos comandos que digitamos: bem simples... Digite o
comando; pressione ENTER; o Linux vai responder a voc!
[prompt]$ comando <ENTER>
Resposta do Linux
.
(pode levar vrias linhas, bem como, pode at no ter nenhuma existem comandos
que no do respostas quando est tudo certo!!).
www.joaoantonio.com.br 24
Joo Antonio Sistema Operacional Linux
1.1) ls (List - Listar): esse comando, semelhante ao DIR do DOS, serve para listar o
contedo de um determinado diretrio, apresentando arquivos e diretrios presentes no
local especificado.
Veja, por exemplo um hipottico diretrio provas, com quatro arquivos. Na interface
"bonita" no Linux, o diretrio provas seria visto assim:
Na interface "feia, mas funcional", a listagem seria apresentada pelo comando ls:
[joao@computer provas]$ ls
joao.antonio.txt
joao.antonio.txt~
espaco.juridico.doc
trf2005.txt
[joao@computer provas]$ ls -l
total 16
-rw-rw-r-- 1 joao joao 7 Jul 1 13:24 joao.antonio.txt
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 joao.antonio.txt~
-rw-rw-r-- 1 joao joao 8 Jul 1 13:25 espaco.juridico.doc
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 trf2005.txt
www.joaoantonio.com.br 25
Joo Antonio Sistema Operacional Linux
total 28
drwxrwxr-x 2 joao joao 4096 Jul 1 14:58 .
drwxrwx--- 5 joao joao 4096 Jul 1 13:24 ..
-rw-rw-r-- 1 joao joao 7 Jul 1 13:24 joao.antonio.txt
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 joao.antonio.txt~
-rw-rw-r-- 1 joao joao 8 Jul 1 13:25 espaco.juridico.doc
-rw-rw-r-- 1 joao joao 89892 Jul 1 13:24 .gabarito2005.txt
-rw-rw-r-- 1 joao joao 23 Jul 1 13:24 trf2005.txt
Para nao termos que digitar -l -a -qualquer coisa, basta juntar todas as opcoes num -
(hfen) s, como em ls -la (isso vale para quase todos os comandos).
Tem uma outra interessante, que -h (h de "humano", ou "agradvel para os
humanos")... Essa opo permite que os valores em bytes dos arquivos sejam escritos
com apreviaes K para Kilo, M para Mega e G para Giga, facilitando a leitura do
tamanho do arquivo... S tem sentido usar essa opo associada ao -l (porque quando
aparecem os tamanhos dos arquivos).
[joao@computer provas]$ ls -lah
total 28K
drwxrwxr-x 2 joao joao 4,0K Jul 1 14:58 .
drwxrwx--- 5 joao joao 4,0K Jul 1 13:24 ..
-rw-rw-r-- 1 joao joao 7 Jul 1 13:24 joao.antonio.txt
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 joao.antonio.txt~
-rw-rw-r-- 1 joao joao 8 Jul 1 13:25 espaco.juridico.doc
-rw-rw-r-- 1 joao joao 90,0K Jul 1 13:24 .gabarito2005.txt
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 trf2005.txt
Aproveito o ensejo para mostrar algo interessante: na parte das permisses do arquivo,
quando o primeiro caractere um "d", significa que o objeto em questao um diretrio
(pasta), porm, quando um "-" (hfen) aparece ao invs do "d", o objeto um arquivo.
Uma ltima coisinha: o comando ls nao usado para somente listar o contedo do
diretrio atual... Ele pode ser usado para listar o contedo de qualquer outro diretrio
desde que seja informado qual ser o alvo.
Um exemplo: vamos listar o contedo do diretrio /home/joao/downloads (mesmo
nao estando nessa pasta).
[joao@computer provas]$ ls -lah /home/joao/downloads
total 7,3M
drwxrwx--- 3 joao joao 4,0K Jul 1 15:16 .
drwxr-xr-x 35 joao joao 4,0K Jul 1 14:53 ..
-rw-rw---- 1 joao joao 346K Jun 3 15:57 banrisul2005.pdf
-rw-rw---- 1 joao joao 323K Jun 21 18:27 banrisul.zip
-rw-rw-r-- 1 joao joao 213K Jun 28 17:52 gestor.mg.esaf.pdf
drwxrwxr-x 2 joao joao 4,0K Jul 1 15:16 programas
-rw-rw-r-- 1 joao joao 280K Jun 28 17:52 prova.pdf
www.joaoantonio.com.br 26
Joo Antonio Sistema Operacional Linux
downloads:
total 7,3M
drwxrwx--- 3 joao joao 4,0K Jul 1 15:16 .
drwxr-xr-x 35 joao joao 4,0K Jul 1 14:53 ..
-rw-rw---- 1 joao joao 346K Jun 3 15:57 banrisul2005.pdf
-rw-rw---- 1 joao joao 323K Jun 21 18:27 banrisul.zip
-rw-rw-r-- 1 joao joao 213K Jun 28 17:52 gestor.mg.esaf.pdf
drwxrwxr-x 2 joao joao 4,0K Jul 1 15:23 programas
-rw-rw-r-- 1 joao joao 280K Jun 28 17:52 prova.pdf
-rw-rw-rw- 1 root root 38K Jun 28 18:11 prova.txt
-rw-rw-r-- 1 joao joao 6,1M Jun 22 17:08 skype-1.1.0.13-mdk.i586.rpm
downloads/programas:
total 13M
drwxrwxr-x 2 joao joao 4,0K Jul 1 15:23 .
drwxrwx--- 3 joao joao 4,0K Jul 1 15:16 ..
-rw-rw-r-- 1 joao joao 6,1M Jun 22 17:08 jogos.i586.mdk.rpm
-rw-rw-r-- 1 joao joao 6,1M Jun 22 17:08 teste.tar.gz
1.2) mkdir (Make Directory - Criar Diretrio): o comando mkdir usado para criar
diretrios (ele identico ao MD do DOS). Sua sintaxe de uso assim:
mkdir <opes> nome
<opes>: opcionais (como no nome j diz)
nome: nome que ser dado ao diretrio que se deseja criar, como em:
[joao@computer provas]$ mkdir faceis
Nesse caso, ser criado um diretrio chamado faceis, dentro do diretrio provas
(diretrio atual).
www.joaoantonio.com.br 27
Joo Antonio Sistema Operacional Linux
Caso se queira criar um diretrio em outro local (que no seja o diretrio atual), basta
informar o caminho completo para isso.
Veja o exemplo a seguir, onde um diretrio chamado programas ser criado dentro de
/home/joao/downloads note que o comando ser executado tendo provas como
diretrio corrente:
[joao@computer provas]$ mkdir /home/joao/downloads/programas
Ainda tem uma muito boa: caso voc deseje criar mais de um diretrio, no necessrio
criar um por vez, execute o comando mkdir com todos os diretrios que deseja criar
separados por um espao:
[joao@computer provas]$ mkdir medias dificeis esaf
Nesse caso sero criados os diretrios medias, dificeis e esaf dentro do diretrio provas
(que o atual). O resultado do comando mkdir pode ser visto pelo ls. Veja no exemplo a
seguir:
[joao@computer provas]$ ls -lah
total 28K
drwxrwxr-x 2 joao joao 4,0K Jul 1 14:58 .
drwxrwx--- 5 joao joao 4,0K Jul 1 13:24 ..
-rw-rw-r-- 1 joao joao 7 Jul 1 13:24 joao.antonio.txt
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 joao.antonio.txt~
-rw-rw-r-- 1 joao joao 8 Jul 1 13:25 espaco.juridico.doc
drwxrwxr-x 2 joao joao 4,0K Jul 1 18:58 dificeis
drwxrwxr-x 2 joao joao 4,0K Jul 1 18:58 esaf
drwxrwxr-x 2 joao joao 4,0K Jul 1 18:53 faceis
-rw-rw-r-- 1 joao joao 90,0K Jul 1 13:24 .gabarito2005.txt
drwxrwxr-x 2 joao joao 4,0K Jul 1 18:58 medias
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 trf2005.txt
www.joaoantonio.com.br 28
Joo Antonio Sistema Operacional Linux
Note que o sinal de .. (ponto ponto) separado do comando cd (no adianta digitar cd..
tudo junto, feito no DOS, o linux no entende!).
Caso o usurio queira ir para um diretrio qualquer, mesmo que no tenha ligao com o
diretrio atual, basta digitar o caminho inteiro para ele (partindo do diretrio raiz a /).
Veja:
[joao@computer provas]$ cd /home/joao/downloads
[joao@computer downloads]$
Caso o usurio queira ir direto ao diretrio raiz (o nvel mais alto da estrutra de diretrios
do linux, basta digitar cd /:
[joao@computer provas]$ cd /
[joao@computer /]$
Tem umas dicas legais aqui, que so diferentes do DOS: como cada usurio tem seu
diretrio pessoal (normalmente /home/usuario para usurios comuns e /root para o
administrador), pssvel saltar diretamente para esse diretrio apenas digitando cd ~
(til) ou simplesmente cd. Veja:
[joao@computer provas]$ cd ~
[joao@computer joao]$
1.4) pwd: esse comando informa ao usurio em que diretrio ele est (parece intil,
mas de vez em quando interessante). Veja o exemplo:
[joao@computer joao]$ pwd
/home/joao
[joao@computer joao]$
Eu no sei se tarde demais para dizer isso, mas: todos os comandos do Linux so
sucedidos da tela ENTER, para confirmao da ordem... (acho que vocs j haviam
deduzido isso)...
1.5) rmdir (Remover Diretrio): esse comando apaga diretrios vazios ( semelhante
ao RD do DOS). Para remover diretrios com contedo, podemos usar outro comando,
que ser visto adiante.
DICA IMPORTANTE:
Aqui vai uma dica preciosa: a tecla TAB, em seu teclado, facilita, e muito, o trabalho dos
usurios porque permite que os comandos sejam completados, dispensando a
necessidade de digitar tudo.
Exemplo: voc pretende entrar num diretrio chamado tributario, que est no diretrio
atual. Caso esse seja o nico diretrio que inicia com t, digite o seguinte:
[joao@computer joao]$ cd t<TAB>
www.joaoantonio.com.br 29
Joo Antonio Sistema Operacional Linux
Claro que o TAB s sabia como completar o comando porque tributario era a nica pasta
com esse incio. Caso haja mais de uma pasta com o incio semelhante (exemplo:
tributario e tribunais), ao pressionar TAB, o Linux ir preencher at a ltima letra
idntica e mostrar as opes... Veja:
[joao@computer joao]$ cd t<TAB>
[joao@computer joao]$ cd tribu
tributario tribunais
1.6) clear (Limpar a tela): esse comando esvazia todos os caracteres mostrados na
tela e coloca o prompt sozinho na parte superior esquerda da mesma. equivalente ao
cls do DOS.
1.7) tree (rvore): este comando mostra a estrutura de diretrios e arquivos em forma
de uma rvore simples. possvel ver diretrios, os diretrios e arquivos dentro dos
diretrios e assim sucessivamente. Para acionar o comando tree, basta digit-lo na linha
de comando.
A opo -F usada para que a listagem de arquivos e diretrios possa ser apresentada
com um caractere a mais sucedendo os nomes dos arquivos e diretrios (esse caractere
adicional serve para identificar o tipo do objeto cujo nome o antecede):
/ = indica que o objeto um diretrio;
* = indica que um arquivo executvel;
@ = indica que um link (atalho);
Essa opo (-F) tambm pode ser usada no comando ls!!! (para a mesma finalidade:
apresentar um caractere adicional que indicar o tipo do arquivo/diretrio).
Veja um exemplo do comando tree:
[joao@computer provas]$ tree -F
concursos/provas
|-- joao.antonio.txt*
|-- joao.antonio.txt~
|-- espaco.juridico.doc
|-- esaf/
| |-- auditor/
| | `-- prova.doc
| |-- casa
| |-- gestor/
| |-- prova.doc
| |-- slack.pdf
| |-- soft.pdf
| `-- tecnico/
| `-- prova.gestor.rtf*
www.joaoantonio.com.br 30
Joo Antonio Sistema Operacional Linux
`-- trf2005.txt
4 directories, 10 files
1.8) mv (Mover): esse comando tem duas funes distintas: mover e renomear
arquivos e diretrios. O comando mv substitui os comandos MOVE e REN do DOS.
A sintaxe (forma de escrever) do comando mv :
mv [opes] <origem> <destino>
onde:
Origem: o nome do arquivo a ser movido / renomeado.
Destino: o nome do diretrio para ondo o arquivo vai (caso esteja sendo movido) ou o
nome que o arquivo ir ter (caso esteja sendo renomeado).
Para usar o comando mv, deve-se tem em mente o que se quer fazer... Vamos comear
pela ao de Renomear: veja a listagem do contedo do diretrio esaf... Vamos
renomear o arquivo chamado teste.doc para prova.doc:
[joao@computer esaf]$ ls -lah
total 23M
drwxr-xr-x 2 joao joao 4,0K Jul 2 18:26 .
drwxrwxr-x 3 joao joao 4,0K Jul 2 18:24 ..
-rwxr-xr-x 1 joao joao 14K Jul 2 18:25 prova.gestor.rtf
-rw-r----- 1 joao joao 2,6M Jul 2 18:25 slack.pdf
-rw-r----- 1 joao joao 225K Jul 2 18:25 soft.pdf
-rw-r----- 1 joao joao 20M Jul 2 18:25 teste.doc
total 23M
drwxr-xr-x 2 joao joao 4,0K Jul 2 18:26 .
drwxrwxr-x 3 joao joao 4,0K Jul 2 18:24 ..
www.joaoantonio.com.br 31
Joo Antonio Sistema Operacional Linux
importante saber como o Linux diferencia a ao a ser realizada pelo comando mv:
Ser mover se, no lugar do <Destino>, for escrito o nome de um diretrio que existe.
Caso no <Destino> seja descrito um nome qualquer que nao existe, o comando
automaticamente funcionar como RENOMEAR, atribuindo ao arquivo em questao o novo
nome descrito na clusula <Destino>.
Veja o comando mv sendo usado para Mover um arquivo:
[joao@computer esaf]$ ls -lh
total 23M
drwxr-xr-x 2 joao joao 4,0K Jul 2 18:58 auditor
drwxr-xr-x 2 joao joao 4,0K Jul 2 18:58 gestor
-rw-r----- 1 joao joao 20M Jul 2 18:25 prova.doc
-rwxr-xr-x 1 joao joao 14K Jul 2 18:25 prova.gestor.rtf
-rw-r----- 1 joao joao 2,6M Jul 2 18:25 slack.pdf
-rw-r----- 1 joao joao 225K Jul 2 18:25 soft.pdf
drwxr-xr-x 2 joao joao 4,0K Jul 2 18:58 tecnico
total 23M
drwxr-xr-x 2 joao joao 4,0K Jul 2 18:58 auditor
drwxr-xr-x 2 joao joao 4,0K Jul 2 18:58 gestor
-rw-r----- 1 joao joao 20M Jul 2 18:25 prova.doc
-rw-r----- 1 joao joao 2,6M Jul 2 18:25 slack.pdf
-rw-r----- 1 joao joao 225K Jul 2 18:25 soft.pdf
drwxr-xr-x 2 joao joao 4,0K Jul 2 18:58 tecnico
O comando mv, mostrado acima, foi usado para mover o arquivo prova.gestor.rtf para o
diretrio tecnico. Note, no segundo ls, que o arquivo nao se encontra mais no diretrio
corrente!
Muita gente vai perguntar: Joao, porque as operaes de MOVER e RENOMEAR arquivos,
que sao tao diferentes entre si, so executadas pelo mesmo comando? Foi uma prova de
que o pessoal do Linux mao-de-vaca para criar comandos? Nao! Nao isso: as aoes
de MOVER e RENOMEAR sao, na verdade, a mesma coisa: quando se "move" um arquivo
de um diretrio para outro, o ndice que aponta para o arquivo atualizado, informando
a nova localidade... a mesma coisa que acontece quando se renomeia um arquivo (seu
ndice atualizado, para conter o novo nome). Nao h, portanto, alteracoes na
localizao fsica do arquivo no Disco (na maioria dos casos)... o que conta mesmo a
www.joaoantonio.com.br 32
Joo Antonio Sistema Operacional Linux
alteraao no ndice que aponta para o arquivo (a tabela de alocao dos arquivos no
disco).
Lembre-se: mv <origem> <destino> significa RENOMEAR a <origem> se o nome
colocado em <destino> nao existir. Se o nome colocado em <destino> existir, e for um
diretrio (ainda tem isso), o comando mv assume imediatamente sua funo de mover o
objeto descrito em <origem>.
esaf
|-- auditor/
| `-- prova.doc
|-- casa
|-- gestor/
|-- prova.doc
|-- slack.pdf
|-- soft.pdf
`-- tecnico/
`-- prova.gestor.rtf*
3 directories, 6 files
www.joaoantonio.com.br 33
Joo Antonio Sistema Operacional Linux
Como se pode perceber, existe agora um arquivo prova.doc dentro da pasta auditor
(criado pelo primeiro comando cp) e existe um arquivo casa dentro da pasta esaf (este
arquivo foi criado pelo segundo comando cp).
Um lembrete: por padro, o comando cp omite os diretrios (no os copia). Portanto, se
o usurio tentar executar o comando cp <diretorio> <destino>, o comando nao far
nada! Para copiar um diretrio e todo o seu contedo, use a opo -r no comando cp
(esse r vem de "recursivamente" novamente, ou seja, copie o diretrio, entre nele, v
copiando o que tem dentro (outros diretrios e/ou arquivos), entrando nesses diretrios,
copiado seus contedos, e assim sucessivamente at chegar num ponto em que nao haja
mais diretrios para entrar)...
Veja esse cenrio (dentro do diretrio provas):
[joao@computer provas]$ ls -lhF
total 20K
-rwxrwxrwx 1 joao joao 7 Jul 1 13:24 joao.antonio.txt*
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 joao.antonio.txt~
-rw-rw-r-- 1 joao joao 8 Jul 1 13:25 espaco.juridico.doc
drwxr-xr-x 5 joao joao 4,0K Jul 2 19:28 esaf/
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 trf2005.txt
concursos/provas
|-- joao.antonio.txt*
|-- joao.antonio.txt~
|-- espaco.juridico.doc
|-- esaf/
| |-- auditor/
| | `-- prova.doc
| |-- casa
| |-- gestor/
| |-- prova.doc
| |-- slack.pdf
| |-- soft.pdf
| `-- tecnico/
| `-- prova.gestor.rtf*
`-- trf2005.txt
4 directories, 10 files
www.joaoantonio.com.br 34
Joo Antonio Sistema Operacional Linux
total 24K
-rwxrwxrwx 1 joao joao 7 Jul 1 13:24 joao.antonio.txt*
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 joao.antonio.txt~
-rw-rw-r-- 1 joao joao 8 Jul 1 13:25 espaco.juridico.doc
drwxr-xr-x 5 joao joao 4,0K Jul 2 19:28 esaf/
drwxr-xr-x 5 joao joao 4,0K Jul 3 00:55 fcc/
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 trf2005.txt
Note que h mais um diretrio agora (fcc). Vamos comprovar que seu contedo
idntico ao contedo do diretrio esaf com o comando tree -F:
[joao@computer provas]$ tree -F
concursos/provas
|-- joao.antonio.txt*
|-- joao.antonio.txt~
|-- espaco.juridico.doc
|-- esaf/
| |-- auditor/
| | `-- prova.doc
| |-- casa
| |-- gestor/
| |-- prova.doc
| |-- slack.pdf
| |-- soft.pdf
| `-- tecnico/
| `-- prova.gestor.rtf*
|-- fcc/
| |-- auditor/
| | `-- prova.doc
| |-- casa
| |-- gestor/
| |-- prova.doc
| |-- slack.pdf
| |-- soft.pdf
| `-- tecnico/
| `-- prova.gestor.rtf*
`-- trf2005.txt
www.joaoantonio.com.br 35
Joo Antonio Sistema Operacional Linux
8 directories, 16 files
Pois , com isso chegamos ao fim do comando cp (tem mais coisa, mas acho que voc
descobrir com o tempo).
total 24K
-rwxrwxrwx 1 joao joao 7 Jul 1 13:24 joao.antonio.txt*
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 joao.antonio.txt~
-rw-rw-r-- 1 joao joao 8 Jul 1 13:25 espaco.juridico.doc
drwxr-xr-x 5 joao joao 4,0K Jul 2 19:28 esaf/
drwxr-xr-x 5 joao joao 4,0K Jul 3 00:55 fcc/
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 trf2005.txt
total 24K
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 joao.antonio.txt~
-rw-rw-r-- 1 joao joao 8 Jul 1 13:25 espaco.juridico.doc
drwxr-xr-x 5 joao joao 4,0K Jul 2 19:28 esaf/
drwxr-xr-x 5 joao joao 4,0K Jul 3 00:55 fcc/
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 trf2005.txt
Caso se deseje apagar um diretrio e tudo o que tem dentro dele, acione o comando rm
com a opo -r (r de recursivamente, de novo!)... Mas a, dou logo o aviso: o Linux vai
perguntar por cada um dos arquivos a serem apagados (que estiverem dentro do
diretrio alvo), o que, por sinal, um verdadeiro SACO!!!
Para que o Linux entenda que deve apagar sem perguntar (sem exigir confirmao para
o apagamento de CADA ARQUIVO), use a opo -f (f de foradamente - esse
minsculo!!!).
Ento veja as opes -f e -r em ao:
[joao@computer provas]$ ls -lhF
total 8K
www.joaoantonio.com.br 36
Joo Antonio Sistema Operacional Linux
total 4K
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 joao.antonio.txt~
-rw-rw-r-- 1 joao joao 8 Jul 1 13:25 espaco.juridico.doc
drwxr-xr-x 5 joao joao 4,0K Jul 2 19:28 esaf/
-rw-rw-r-- 1 joao joao 2 Jul 1 13:24 trf2005.txt
www.joaoantonio.com.br 37
Joo Antonio Sistema Operacional Linux
www.joaoantonio.com.br 38
Joo Antonio Sistema Operacional Linux
seja, no se tem permisso de realizar aquela operao). Portanto, rw- significa direito
de ler e modificar (escrever) um arquivo, mas no o direito de execut-lo
Ento, um conjunto de permisses rw-rw-r-- no arquivo instrucoes.doc significa que este
arquivo pode ser lido e modificado (rw-) pelo seu DONO (joao), tambm pode ser lido e
modificado (rw-) pelos usurios que pertencem ao seu GRUPO (users) e pode ser apenas
lido (r--) pelos OUTROS usurios do sistema. Esse arquivo no poder ser executado
(jogado na RAM como um programa) nem pelo DONO, nem pelo GRUPO nem pelos
demais usurios.
interessante entender que quando um arquivo criado (um documento, como esse do
exemplo, na primeira vez que salvo), ele recebe imediatamente as permisses padro
do sistema (essas.. rw-rw-r--), mas essas permisses podem ser mudadas ao longo da
utilizao do sistema atravs do uso do comando chmod.
IMPORTANTE: o comando chmod s pode ser usado em um arquivo pelo root ou
pelo DONO do arquivo.
Como indicamos as permisses no comando chmod?
H vrias maneiras de indicar as permisses que um arquivo vai ter no comando
chmod... Vamos comear pelo "modo texto".
sintaxe: chmod detentor=permisses alvo
Seria assim: vamos supor que o arquivo instrucoes.doc vai ser alterado para ter
permisso de ler, escrever e executar por parte do DONO, ler somente por parte do
GRUPO e somente executar por parte dos DEMAIS USURIOS... (ou seja, se voc
entendeu, sabe que ficar assim: rw-r----x)... O comando que faz isso :
[joao@computer documentos]$ chmod u=rwx,g=r,o=x instrucoes.doc
as letras antes do sinal de = (igual) identificam as pessoas detentoras dos direitos, sendo
que: "u" para USURIO DONO, "g" para GRUPO DONO e "o" para OUTROS
USURIOS, caso se queira definir para todos os trs grupos de uma vez s, usa-se "a"
(de all - todos). Claro que voc j entendeu que as letras depois dos sinais de = so para
identificar as permisses em si. S para completar, note que para separar os detentores
de permisses foi usada uma vrgula... No para escrever com espaos... vrgula
mesmo! Outra coisa: no h ordem na colocao das clusulas, o "o" pode vir primeiro,
depois o "u" e depois o "g"... no tem problema!
Alguma dvida em relao a esse comando? Calma! No acabou ainda!
Se voc quiser apenas adicionar ou retirar um tipo de permisso, fica simples: ao invs
de usar o sinal de = (igual) use os sinais de + (mais) para colocar ou - (menos) para
retirar permisses. Ento, caso se deseje retirar o direito de modificar o arquivo para os
usurios do GRUPO DONO, faz-se isso:
[joao@computer documentos]$ chmod g-w instrucoes.doc
Outro exemplo, caso se deseje adicionar as permisses de escrita e execuo aos demais
usurios do sistema para o arquivo instrucoes.doc, fazemos:
[joao@computer documentos]$ chmod o+rx instrucoes.doc
Entendido?
www.joaoantonio.com.br 39
Joo Antonio Sistema Operacional Linux
Decimal Binrio
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Pense naqueles 3 bits dos nmeros binrios e leia-os como rwx (isso mesmo, cada 0 ou 1
dos nmeros binrios uma permisso lida nessa mesma ordem, r (read - ler) depois w
(Write - modificar), por fim x (executar). Agora saiba que quando o bit estiver definido
como 1, aquela permisso ser CONCEDIDA, e quando o bit estiver com 0, aquela
permisso est sendo NEGADA. Isso significa que o nmero 5, que escrito como 101
em binrio, significa que foram concedidas as permisses de r (ler) e x (executar), mas a
permisso para w (escrever) foi negada. A traduo dessa doidice seria:
Binrio
Decimal
r w x
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
www.joaoantonio.com.br 40
Joo Antonio Sistema Operacional Linux
Pronto, fica simples assim: vejamos o caso de querermos que o arquivo instrucoes.doc
fique assim: O USURIO DONO pode fazer tudo (ler, escrever e executar), os usurios do
GRUPO DONO podero apenas ler e os DEMAIS usurios do sistema no faro nada
(negao total). Isso vai ser possvel mediante o comando:
[joao@computer documentos]$ chmod 740 instrucoes.doc
Explicando:
7: O primeiro nmero para os direitos do USURIO DONO - 7 111 em binrio
(direitos totais - rwx CONCEDIDOS).
4: O Segundo nmero para os direitos do GRUPO DONO - 4 100 em binrio (somente
direito de r CONCEDIDO).
0: O terceiro nmero para as permisses dadas aos DEMAIS USURIOS - 0 000
(nenhum direito CONCEDIDO).
Ufa... Espero sinceramente que tenham entendido (esse um comando que pode
fornecer inmeras questes para concursos)...
Note a pasta bronca... ela no tem permisso para ningum executar... Agora veja a
continuao...
[joao@computer documentos]$ ls -lh bronca
www.joaoantonio.com.br 41
Joo Antonio Sistema Operacional Linux
Vamos liberar o acesso a essa pasta, atribuindo direito de execuo a todos os usurios
(DONO, GRUPO e OUTROS)... Esse comando poderia ser executado das seguintes
maneiras:
chmod 711 bronca
chmod a+x bronca
chmod u+x,g+x,0+x bronca
Por que, no numrico, no foi feito 111? Porque isso iria tirar os direitos atuais da pasta
(USURIO DONO com rw seria retirado). Portanto, coloquei o 7 para o USURIO DONO
ter 111 ("rw" que j tinha e "x" que passou a ter). Se fosse colocado 111, a definio
seria essa, sem considerar o que se tinha anteriormente (essa a vantagem do modo
texto com os sinais de + e -... eles apenas adicionam ou retiram aquele determinado
direito, mantendo os demais como estavam antes.
Depois de liberada permisso de execuo da pasta bronca, seu contedo poder ser
visualizado pelo usurio...
[joao@computer documentos]$ ls -lh bronca
total 4,0K
-rw-r--r-- 1 joao joao 29 Jul 16 13:17 eutambem.txt
-rw-r--r-- 1 joao joao 0 Jul 16 13:17 existo.txt
2.2) chown (Change Owner - Mudar o DONO): esse comando, que s pode ser
executado pelo usurio ROOT, permite que um arquivo mude de proprietrio. Pode-se
definir o USURIO DONO e o GRUPO DONO de um arquivo atravs deste comando.
Aposto que voc acabou de franzir a testa e se perguntar: "pra que eu preciso saber
disso?"... Pois , amigo aluno... lasca, n? Mas, se vo perguntar (e existe a chance
disso acontecer), melhor estar preparado e deixar a decepo de no passar para os
concorrentes, no acha?!
Sintaxe: chown <ususario:grupo> <arquivo>
Exemplo: se quisermos que o arquivo instrucoes.doc passe a pertencer ao usurio "ana"
e ao grupo "rh", fazemos o seguinte:
[root@computer documentos]# chown ana:rh instrucoes.doc
Claro que o usurio e o grupo devem existir previamente (isso bem bvio!)
Esse comando no altera as permisses do arquivo: se ele estava com rwxr--r--, vai
continuar assim. Esse comando s altera quais os donos do arquivo!
3) Comandos de Manipulao de usurios
www.joaoantonio.com.br 42
Joo Antonio Sistema Operacional Linux
3.1) useradd (adicionar usurio): esse comando permite criar uma nova conta de
usurio no sistema. um comando extremamente complexo, cheio de opes: vou listar
apenas algumas delas:
E pronto! Note que no definimos o UID (nmero que identifica o usurio perante o
sistema), pois deixamos que o prprio sistema definisse isso... O UID, s para explicar,
um nmero (101, 304, 212...) que identifica o usurio. O Linux atribui os direitos aos
usurios pelos seus UIDs... no pelos nomes que costumamos usar para nos identificar.
O comando useradd pode ser escrito como adduser (em algumas distribuies, h
diferenas entre eles). Esse comando s pode ser executado pelo root!
3.2) groupadd (Adicionar Grupo): comando para a criacao de um novo grupo de
usurios. Esse comando tambm s pode ser executado pelo usurio administrador
(root).
sintaxe: groupadd -g GID nome
Fcil de usar, esse comando pede algumas opes (novamente, s listo a importante: o
GID, ou Group ID - Identificao do Grupo).
- g GID: um nmero que identifica o grupo perante o sistema Linux. Se no for
especificado, o Linux criar automaticamente o GID para o grupo.
Vamos criar um grupo chamado auditoria:
[root@computer documentos]# groupadd -g 80 auditoria
Com isso, os usurios criados a partir deste ponto j podero fazer parte do grupo
auditoria. Alm disso, os arquivos do sistema j podero ser atribudos a esse grupo por
meio do comando chown. Tudo certo?
Caso voc no saiba qual GID usar, no especifique essa opo... O Linux vai usar o GID
que estiver disponvel!
3.3) passwd (password - senha): Esse comando altera a senha de um usurio. Ele
pode ser executado por qualquer usurio (mas s ter efeito em sua prpria conta). Se o
www.joaoantonio.com.br 43
Joo Antonio Sistema Operacional Linux
root executar o comando passwd, ele ter o direito de especificar qual ser o usurio
cuja senha ser alterada.
Sintaxe:
passwd (para o usurio alterar sua prpria senha) ou
passwd usurio (para o root alterar a senha de um outro usurio).
Lembre-se de que o root o usurio mais poderoso do sistema: ele pode fazer
basicamente qualquer coisa com o Linux e tem acesso a todos os arquivos do sistema!
Root o administrador do sistema Linux.
Caso o root queira alterar a senha do usurio pedro, segue:
[root@computer documentos]# passwd pedro
digite a nova senha para 'pedro':
redigite a nova senha:
3.4) su (Super User Super Usurio): esse comando permite que um usurio
qualquer se torne, momentaneamente, o root. Isso serve para que o usurio possa
realizar alteraes no sistema sem ter que reiniciar o computador.
Sintaxe: su
Depois de executado o comando, o usurio ser cobrado pela senha do root (claro, ou
voc acha que seria assim to fcil assumir o papel de root?). para o administrador do
sistema, que est trabalhando nele como um usurio normal, poder assumir seu lugar de
direito naquele momento.
[joao@computer documentos]$ su
Senha do 'root':
[root@computer documentos]#
Note que o sistema permanece no mesmo diretrio, apenas, agora, o Clark Kent tirou
os culos e virou o Superman.
Para tudo voltar ao normal (ou seja, o usurio deixar de ser root e voltar a ser quem era
antes, basta digitar o comando exit.
www.joaoantonio.com.br 44
Joo Antonio Sistema Operacional Linux
4.2) cat (GATO - tou brincando, cat vem de concatenar): esse comando permite
que sejam unidos (concatenados) os contedos de dois arquivos de texto e que esse
resultado seja mostrado na tela para o usurio. Muito normalmente se usa esse comando
apenas para visualizar o contedo de um nico arquivo de texto.
Sintaxe: cat <arquivo1> <arquivo2> (normalmente, apenas cat <arquivo>)
Veja isso:
[joao@computer documentos]$ ls -lh
total 200K
drwxrwxr-x 2 joao joao 4,0K Jul 8 18:40 apresentacoes
-rw-rw-r-- 1 joao joao 4,7K Jul 8 18:40 avisos.doc
drwxrwxrwx 2 joao joao 4,0K Jul 16 13:17 bronca
lrwxrwxrwx 1 joao joao 14 Jul 8 19:07 dic.dic -> dicionario.dic
-rw-rw-r-- 1 joao joao 61K Jul 8 18:40 dicionario.dic
-rw-rw-r-- 1 joao joao 4,7K Jul 8 18:41 impressora_manual.doc
-rw-rwxr-x 1 joao joao 4,2K Jul 8 18:40 instrucoes.doc
-rw-rw-r-- 1 joao joao 31K Jul 8 18:40 jovem_galileu.mp3
-rwxr-xr-x 1 joao joao 14K Jul 8 18:40 lattes.rtf
drwxrwxr-x 2 joao joao 4,0K Jul 8 18:48 planilhas
-rw-rw-r-- 1 joao joao 31K Jul 8 18:41 poesia.pdf
-rw-r--r-- 1 joao joao 161 Jul 18 11:25 prova.txt
-rw-r--r-- 1 joao joao 586 Jul 18 11:24 teste.txt
drwxrwxr-x 2 joao joao 4,0K Jul 8 18:47 textos
drwxrwxr-x 2 joao joao 4,0K Jul 8 18:45 web
Reparou nos arquivos prova.txt e teste.txt? Vamos dar uma olhada em seu interior...
[joao@computer documentos]$ cat teste.txt
www.joaoantonio.com.br 45
Joo Antonio Sistema Operacional Linux
Agora vamos "unir os dois" e mostrar o resultado na tela (Essa unio no estvel,
somente na tela mesmo, ou seja, os dois arquivos no sero fundidos ou coisa
parecida... eles permanecero do mesmo jeito! A "concatenao" s acontece na tela do
usurio.
[joao@computer documentos]$ cat prova.txt teste.txt
4.3) tail (cauda): esse comando permite visualizar as ultimas partes de um arquivo de
texto (o padro 10 linhas).
Sintaxe: tail <opes> arquivo
Entre as opes, esto:
www.joaoantonio.com.br 46
Joo Antonio Sistema Operacional Linux
-n X: onde X o nmero de linhas que se deseja visualizar (se esta clusula no for
especificada, respeita-se o padro).
-c X: onde X o nmero de caracteres que se deseja visualizar (idem acima).
Exemplo:
[joao@computer documentos]$ tail -n 4 teste.txt
a!
Final do arquivo.
4.3) head (cabealho): permite, de forma anloga ao tail, visualizar a parte inicial de
um arquivo de texto.
sintaxe: head <opes> arquivo
-n X: define o numero de linhas a serem vistas (o padro, caso no seja especificado
nada, so 10 linhas).
-c X: define o nmero de caracteres a serem vistos.
Exemplo:
[joao@computer documentos]$ head -n 2 prova.txt
www.joaoantonio.com.br 47
Joo Antonio Sistema Operacional Linux
Viram o uso do padro de 10 linhas? (quando se usa o comando head ou tail sem as
clusulas de opes).
4.5)grep (???): Esse comando usado para localizar trechos dentro de um arquivo de
texto. Note, novamente, que quando se fala em arquivo de texto, no me refiro aos
arquivos do Word, que so documentos, mas a arquivos de texto puro mesmo, como os
que so criados pelo programa bloco de notas, do Windows (texto puro, sem
formatao).
sintaxe: grep <opes> trecho arquivo
Como ficaria?
[joao@computer documentos]$ grep linha teste.txt
O Padro do comando grep no retornar apenas a palavra que se procurou, mas a linha
inteira, da o fato de ter retornado a terceira e a stima linhas inteiras.
www.joaoantonio.com.br 48
Joo Antonio Sistema Operacional Linux
/home/joao/documentos/teste.doc
total 1,1M
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 apostila.rtf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 aula16.sxw
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 comandos.doc
-rw-r--r-- 1 joao joao 7,3K Jul 18 13:01 comandos.txt
-rw-r--r-- 1 joao joao 16K Jul 18 13:01 final.txt
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 modulos.doc
-rw-r--r-- 1 joao joao 15K Jul 18 13:01 quase.txt
-rw---xr-- 1 joao joao 4,0K Jul 18 13:01 teste
-rw-r--r-- 1 joao joao 24K Jul 18 13:01 teste.pdf
-rw-r--r-- 1 joao joao 975K Jul 18 13:01 unico.pdf
total 2,1M
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 apostila.rtf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 aula16.sxw
www.joaoantonio.com.br 49
Joo Antonio Sistema Operacional Linux
Note a presena do arquivo email.tar, com 1,1MB. O tamanho deste arquivo se deve
soma dos arquivos que o formaram.
Para compactar o arquivo em questo, utiliza-se a opo -z no comando tar:
[joao@computer cespe]$ tar -czf menor.tar.gz aula16.swx comandos.doc modulos.doc
total 2,1M
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 apostila.rtf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 aula16.sxw
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 comandos.doc
-rw-r--r-- 1 joao joao 7,3K Jul 18 13:01 comandos.txt
-rw-r--r-- 1 joao joao 1,1M Jul 18 14:43 email.tar
-rw-r--r-- 1 joao joao 16K Jul 18 13:01 final.txt
-rw-r--r-- 1 joao joao 18K Jul 18 15:08 menor.tar.gz
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 modulos.doc
-rw-r--r-- 1 joao joao 15K Jul 18 13:01 quase.txt
-rw-r--r-- 1 joao joao 24K Jul 18 13:01 teste.pdf
-rw-r--r-- 1 joao joao 975K Jul 18 13:01 unico.pdf
A extenso tar.gz no necessria (nem a tar no exemplo anterior), que podem ser
quaisquer extenses de que o usurio goste. Apenas por questes de costume eu utilizei
estas aqui. A extenso tar somente para indicar que o arquivo um pacote sem
compactao e a extenso tar.gz para indicar que este passou por um processo de
compactao.
Vamos apagar todos os arquivos do diretrio cespe, com exceo desses dois pacotes,
criados nesses ltimos exemplos...
[joao@computer cespe]$ rm -f apostila.rtf aula16.sxw comandos.doc comandos.txt
final.txt modulos.doc quase.txt teste.pdf unico.pdf
total 1,1M
-rw-r--r-- 1 joao joao 1,1M Jul 18 14:43 email.tar
-rw-r--r-- 1 joao joao 18K Jul 18 15:08 menor.tar.gz
www.joaoantonio.com.br 50
Joo Antonio Sistema Operacional Linux
Sim, antes que voc pergunte: d pra apagar mais de um arquivo, no comando rm,
colocando os nomes dos arquivos separados por espao (como no comando mkdir) e em
outros vrios.
Agora vamos usar a opo do comando tar que extrai arquivos de dentro de um arquivo-
pacote.
[joao@computer cespe]$ tar -xfv email.tar
comandos.doc
unico.pdf
apostila.rtf
teste.pdf
total 2,1M
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 apostila.rtf
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 comandos.doc
-rw-r--r-- 1 joao joao 1,1M Jul 18 14:43 email.tar
-rw-r--r-- 1 joao joao 18K Jul 18 15:08 menor.tar.gz
-rw-r--r-- 1 joao joao 24K Jul 18 13:01 teste.pdf
-rw-r--r-- 1 joao joao 975K Jul 18 13:01 unico.pdf
Como o arquivo menor.tar.gz foi compactado (com a opo -z), devemos us-la para
descompactar o contedo do pacote enquanto extramos os arquivos dele. Da a
importncia de diferenciar os arquivos com extenses variadas (gz para indicar a
compactao, por exemplo), pois, sem isso, no seria possvel distinguir se o arquivo
estava ou no compactado.
A nica forma de saber, fora pela extenso, que, na tentativa de usar as clusulas -xvf
em um arquivo COMPACTADO, o comando tar retornar um erro, o que indicar a
necessidade de usar as opes -xzvf (com "z" a mais). O mesmo vale para o contrrio
(usar -xzvf para um arquivo tar que no est compactado).
Vamos ao exemplo do uso do z:
[joao@computer cespe]$ tar -xzvf menor.tar.gz
aula16.sxw
comandos.doc
modulos.doc
total 2,1M
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 apostila.rtf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 aula16.sxw
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 comandos.doc
-rw-r--r-- 1 joao joao 1,1M Jul 18 14:43 email.tar
-rw-r--r-- 1 joao joao 18K Jul 18 15:08 menor.tar.gz
www.joaoantonio.com.br 51
Joo Antonio Sistema Operacional Linux
A clusula -f, como na maioria dos comandos, significa "fazer forado", ou seja,
ignorando qualquer inconveniente no comando (como as necessidades de perguntas para
o usurio)... No caso, para o nosso comando, essa clausula serve para que no se
questione o usurio diante, por exemplo, de arquivos criados em duplicata (devido
descompactaao de dois arquivos com o mesmo nome). O arquivo comandos.doc, por
exemplo, l em cima, foi sobrescrito na segunda descompactao, porque ele estava
dentro dos dois arquivos (o email.tar e o menor.tar.gz), sem incomodar o usurio com
tal pergunta.. Se voc quiser ser incomodado com essas perguntas, ento no use a
opo -f.
4.7) alias (apelido): esse comando cria um apelido para vrios comandos. Por
exemplo, se voc estiver com saudades do DOS e quiser usar comandos como o DIR,
basta criar um alias para o DIR. Assim...
sintaxe: alias apelido='comando desejado' (tudo junto)
Como em:
[joao@computer cespe]$ alias dir='ls -lh'
total 2,1M
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 apostila.rtf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 aula16.sxw
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 comandos.doc
-rw-r--r-- 1 joao joao 7,3K Jul 18 13:01 comandos.txt
-rw-r--r-- 1 joao joao 1,1M Jul 18 14:43 email.tar
-rw-r--r-- 1 joao joao 16K Jul 18 13:01 final.txt
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 modulos.doc
-rw-r--r-- 1 joao joao 15K Jul 18 13:01 quase.txt
-rw-r--r-- 1 joao joao 24K Jul 18 13:01 teste.pdf
-rw-r--r-- 1 joao joao 975K Jul 18 13:01 unico.pdf
O comando alias no registra essa informao para sempre, mas apenas enquanto o
sistema estiver ligado. Para atribuir o apelido de forma definitiva, deve-se alterar um
arquivo de configurao do Linux.
www.joaoantonio.com.br 52
Joo Antonio Sistema Operacional Linux
total 1,7M
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 prova1.pdf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 prova2.pdf
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova3.pdf
-rw-r--r-- 1 joao joao 800K Jul 18 14:43 prova36.pdf
-rw-r--r-- 1 joao joao 18K Jul 18 15:08 coment.doc
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 ponto.pdf
-rw-r--r-- 1 joao joao 24K Jul 18 13:01 aula.swx
-rw-r--r-- 1 joao joao 975K Jul 18 13:01 teste.doc
Que tal se usssemos uma caracterstica comum aos nomes dos trs condenados para
podermos apag-los? Sim, prova, um nmero qualquer e depois .pdf. Que tal agora?
[joao@computer esaf]$ rm -f prova?.pdf
Se voc quiser executar um comando com todos os arquivos do diretrio atual, use a
referncia * somente. Por exemplo, se deseja mover todos os arquivos do diretrio atual
para dentro do diretrio /etc/users:
[joao@computer esaf]$ mv * /etc/users
www.joaoantonio.com.br 53
Joo Antonio Sistema Operacional Linux
total 2,4M
-rw-r--r-- 1 joao joao 756K Jul 18 17:12 esaf.tar.gz
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 prova1.pdf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 prova2.pdf
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova3.pdf
-rw-r--r-- 1 joao joao 800K Jul 18 14:43 prova36.pdf
-rw-r--r-- 1 joao joao 18K Jul 18 15:08 coment.doc
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 ponto.pdf
-rw-r--r-- 1 joao joao 24K Jul 18 13:01 aula.swx
-rw-r--r-- 1 joao joao 975K Jul 18 13:01 teste.doc
Tanto o * quanto a ? so coringas conhecidos dos usurios do DOS. Mas existe um outro
coringa interessante no Linux (na verdade, existem diversos outros, mas que no so
necessrios, creio eu)...
Observe o resultado do comando abaixo: a listagem de contedo de um diretrio
chamado confuso...
[joao@computer confuso]$ ls -lh
total 2,9M
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 prova1.pdf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 prova2.pdf
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova3.pdf
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 prova4.pdf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 prova5.pdf
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova6.pdf
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 prova7.pdf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 prova8.pdf
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova9.pdf
Pense agora que se precisa apagar os arquivos prova1.pdf a prova5.pdf (ou seja, os
arquivos prova 6, prova7, prova8 e prova9 sero mantidos). E a?
Que tal esse?
[joao@computer confuso]$ rm -f prova?.pdf
www.joaoantonio.com.br 54
Joo Antonio Sistema Operacional Linux
total 2,9M
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova6.pdf
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 prova7.pdf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 prova8.pdf
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova9.pdf
Dentro dos colchetes, colocamos expresses para o caractere que vai ser substitudo: 1-5
indica de 1 a 5. Se for necessrio escolher os possveis valores dos colchetes
aleatoriamente (sem seqncia), usa-se a vrgula, como em:
[joao@computer confuso]$ rm -f prova[6,9].pdf
total 2,9M
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova6.pdf
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 prova7.pdf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 prova8.pdf
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova9.pdf
[joao@computer documentos]$
www.joaoantonio.com.br 55
Joo Antonio Sistema Operacional Linux
total 2,9M
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova6.pdf
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 prova7.pdf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 prova8.pdf
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova9.pdf
[joao@computer confuso]$
Note que no segundo comando ls no teve sada (na verdade, ele teve, mas ela no foi
para a tela). Quando usamos o sinal de > (maior), estamos direcionando a sada de um
comando para outro local. No caso do nosso exemplo, direcionamos a sada do comando
ls -lh para um arquivo chamado lista.txt, que pode ser visto a seguir:
[joao@computer confuso]$ ls -lh
total 2,9M
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova6.pdf
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 prova7.pdf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 prova8.pdf
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova9.pdf
-rw-r--r-- 1 joao joao 345B Jul 18 17:55 lista.txt
total 2,9M
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova6.pdf
-rwxr-xr-x 1 joao joao 14K Jul 18 13:01 prova7.pdf
-rw-r--r-- 1 joao joao 12K Jul 18 13:01 prova8.pdf
-rw-r--r-- 1 joao joao 7,2K Jul 18 13:01 prova9.pdf
[joao@computer confuso]$
www.joaoantonio.com.br 56
Joo Antonio Sistema Operacional Linux
Note que o que est em vemelho no o resultado de um ls, mas o contedo do arquivo
lista.txt (que conseguimos atravs do comando cat). Esse arquivo tem, como contedo
de texto, o resultado do comando ls -lh que direcionamos para ele no exemplo anterior.
Quando usamos o direcionador > para um arquivo que no existe, ele ser criado. Caso
o arquivo destino j exista (no era o caso do lista.txt) e tenha contedo, o contedo
anterior apagado para dar lugar ao novo contedo (ou seja, a sada do comando que
foi direcionado).
O direcionador >> semelhante, mas difere no que diz respeito a arquivos que j
existem. Quando se usa o >>, o contedo anterior do arquivo no apagado, mas o
contedo novo ADICIONADO depois do contedo antigo do arquivo. Ou seja, o >>
adiciona a sada atual para um arquivo sem apagar o que havia no arquivo.
Ainda h mais um direcionador interessante de se conhecer o | (pipe l-se pipe), que
aquela barrinha vertical no teclado.
A funo do pipe muito interessante: ele redireciona a sada de um comando para a
entrada do outro comando. Como assim?
[prompt]$ Comando1 | Comando2
A resposta que for dada ao comando1 no ser apresentada na tela, mas ser dada ao
comando2, que processar essa entrada e dar seu resultado na tela.
Veja s: digamos que um comando ls -lh resulte em uma quantidade grande de linhas
(imagine uns 400 arquivos). Como isso iria se apresentar? Em uma tela s, correndo
feito louco, at atingir o fim do comando, no daria para ler nada a no ser o que estiver
na ltima tela (arquivos finais).
Seria muito bom se pudssemos fazer uso do more aqui, no ? Como...
[joao@computer confuso]$ more ls -lh
Mas isso no possvel (no d certo) dessa maneira. A entrada do comando more tem
que ser um texto, no um comando em si... Como fazer isso? Assim...
[joao@computer confuso]$ ls -lh | more
O | (pipe) faz a sada do comando ls -lh (que se apresenta como um texto, em que os
vrios arquivos aparecem em linhas uma em cima da outra) servir de entrada para o
comando more, que paginar isso, apresentando na tela a listagem de arquivos aos
poucos, de tela em tela.
www.joaoantonio.com.br 57