Sei sulla pagina 1di 286

Os Sistemas Operacionais da famlia Unix estabelecem mundialmente uma cons i-

dervel base operacional. Esta base tem aumentado de forma significativa nos l-
timos cinco anos, impulsionada principalmente pelo crescente sucesso dos sistemas
de livre distribuio como o Linux.
Inicialmente concebidos como sistemas para servidores de mdio e alto desempe-
nho computacional, os sistemas padro Unix predominaram nas dcadas de 70 e 80
nas empresas que precisavam de alternativas aos caros sistemas computacionais
dedicados (IBM, Unisys, DEC, Fujitsu, etc.) e que raramente ofereciam compatibi-
lidade com outros sistemas abertos.
No mercado de trabalho atual, o tcnico que pretende firmar-se profissionalmente
conquistando principalmente um salrio melhor, deve dominar esta tecnologia. O
mercado j no aceita com facilidade um tcnico que no tenha domnio dos siste-
mas Unix.
Do seu surgimento at o atual estgio de desenvolvimento, a tecnologia Unix
muito rica, interessante e define as bases operacionais da informtica corporativa
moderna.
Neste livro concentraremos as atenes no Sistema Operacional Linux, que vem se
consolidando como alternativa de Sistema Operacional para computao pessoal e
corporativa e um Unix muito bem resolvido do ponto de vista tcnico.
VI Linux: Sistema Operacional II

Pode-se encontrar aqui um roteiro diferenciado, comum a todos os sistemas Linux,
concentrando as atenes em seus aspectos de instalao, configurao, segurana
e principais aplicativos.
Para aquele que nada ou muito pouco conhece de Linux ou Unix e acha que isto
mais uma palavra esquisita utilizada em informtica, este livro serve como uma
introduo leve, segura e simples a esta tecnologia, sem traumas, medos nem de-
sesperos.
Para aquele que j usurio ocasionaldo Linux, este livro funciona como um "sal-
va vidas" em meio ao mar de coisas que se escreve sobre ele de maneira invaria-
velmente confusa e sem direo.
Para aquele que j se considera "fera" em tecnologia Unix, s sentar-se frente
de seu micro e repassar conceitos, prticas e aplicaes que com certeza j utiliza,
mas certamente encontrar aqui novas maneiras de utiliz-las ainda melhor, poden-
do aprender algumas novas dicas e prticas interessantes.
No posso deixar de citar as incurses que faremos pelo universo grfico oferecido
pelo Linux e seu aplicativo mais difundido como o StarOffice, um verdadeiro sis-
tema de automao de escritrios, (j apresentado em detalhes no livro Automao
de Escritrios com StartOffice 5.1a) e as principais ferramentas grficas de admi-
nistrao e produtividade com o ambiente grfico KDE.

A Deus, pois Ele me concedeu...
O dom para escrever,
A inteligncia para aprender as coisas sobre as quais escrevo,
Os meus maravilhosos pais (Lauro e Eunice) que me formaram para a vida,
Minha esposa (Vera) e meus filhos (Marcus e Rodrigo) que me apiam,
Uma editora (Brasport) que acredita em meus projetos,
E fundamentalmente uma vida maravilhosa.
1

Utilizao do Linux e deste livro
Linux um sistema operacional interativo que permite a utilizao de interface gr-
fica a partir da qual os usurios (leigos ou no) podem obter resultados prticos
sem muita dificuldade.
No incio da dcada de 90 o Linux foi visto com desconfiana pela maioria dos
usurios de computadores. Naquela poca o sistema era visto como uma ferramenta
hacker, ou seja, seria usado por pessoas que tinham na computao e nas suas
ferramentas uma diverso e acima de tudo um desafio.
importante frisar que o Linux foi desenvolvido com nico intuito de permitir ao
seu usurio uma condio fcil de utilizao, sem a necessidade de qualquer inves-
timento, pois ele gratuito.
claro que sistemas operacionais modernos so baseados em interface que facilita
a operao dos aplicativos, que precisam ser de baixo custo, geralmente gratuitos, e
que de uma maneira geral atendem a todas as necessidades no deixando de lado a
integrao em ambiente de rede local.
Uma considerao importante a se fazer em relao a este sistema operacional a
necessidade de treinamento especfico aos usurios corporativos; esta categoria de
2 Linux: Sistema Operacional II

usurios demanda o acompanhamento de suas necessidades operacionais, indi-
cando os melhores caminhos para obteno de produtividade em curto espao de
tempo.
Analisando do ponto de vista tcnico, o sistema Linux oferece todas as condies
ao desenvolvimento de aplicativos, sistemas de conectividade, servidores de banco
de dados, aplicaes grficas de alta capacidade, servidores dedicados para funes
de fax, impresso, segurana, e-mail e outras, tudo isto de forma relativamente f-
cil.
Quando os usurios optam por novas ferramentas a sua principal preocupao diz
respeito quilo que ele consegue mensurar, ou seja: Quanto tempo necessrio
para aprender isto?.
Esta limitao dos usurios proporcionada pela dificuldade que ele sente em de-
senvolver de forma pessoal as suas necessidades, ou seja, quanto mais tempo ele
gastar para aprender a utilizar a ferramenta da qual ele dispe, pior ser a avaliao
que ele far da ferramenta de trabalho em relao s suas necessidades.
A principal avaliao que deve ser considerada pelo tcnico est ligada alta qua-
lidade do trabalho que o usurio conseguir desenvolver com um mnimo de trei-
namento que ele venha a receber. Este critrio pode no ser o melhor, porm cons i-
dero sempre que melhor este do que critrio algum, sabendo que os usurios de
uma maneira geral, necessitam de um bom instrumento de produtividade e conside-
rando que esse instrumento deve ser fcil de usar, simples de manter, no sujeito a
erros, fraudes e outros acidentes e sabendo ainda que os usurios geralmente no
esto dispostos a aprender uma nova ferramenta por si s.
Para iniciar a interface do usurio, o tcnico dever estar preparado para configurar
o Shell com todas as tarefas necessrias ao incio do ambiente de trabalho que o
usurio utilizar.
A configurao do Shell requer alguns comandos que sero estudados neste livro.
Nossa nfase ser em comandos internos e externos:
Comandos de criao e navegao de pastas.
Comandos de criao e edio de arquivos.
Reconhecimento dos arquivos de configurao no formato texto.
Utilizao de editor de textos.
Criao de contas de acesso.
Criao de configuraes personalizadas.
Observaes Gerais 3

Operao da interface grfica KDE.
Comandos do shell bash.
Criao de shell scripts.
Viso geral sobre instalao do
Linux
Instalar o Linux no consiste em um processo terrivelmente complicado, contanto
que voc tenha um sistema computacional bastante genrico. Caso contrrio, a
complexidade de instalao pode variar de levemente incmodo a moderada-
mente problemtica.
Neste momento sero abordadas as etapas necessrias para a instalao e a configu-
rao do Linux em seu computador. Trata-se de uma verso simplificada das ins-
trues de instalao; se voc quiser um guia completo, recomenda-se uma consul-
ta a um livro especfico sobre o assunto ou ao prprio manual do sistema.
Parte-se aqui do pressuposto de que algumas tcnicas devem ser dominadas por
voc para que o computador possa ser preparado para receber o sistema operacio-
nal Linux.
As instrues contidas aqui podem variar de computador para computador, de sis-
tema para sistema, e ainda depender das condies da rede de computadores que
estejam disponveis, se que elas existem em seu ambiente. A grande quantidade
de distribuies existente para o Linux gera tambm uma grande quantidade de
formas possveis de instalao. O tcnico deve considerar primordialmente, a ne-
cessidade operacional do seu ambiente e deve considerar tambm a quantidade de
aplicativos que sero instalados e o tipo de usurio que ir operar o sistema.
No adianta dizer que no existe complexidade no processo de instalao e mesmo
de uso do Linux, pois no quero enganar o leitor com afirmaes sobre uma facili-
dade que de fato no existe. Cada distribuio de Linux, e existem dezenas delas,
oferece suas prprias facilidades de instalao e operao. Escolher uma ou outra
depender de um conhecimento prvio do que oferecido por cada verso.
Posso destacar quatro processos fundamentais utilizados na instalao do Linux:
Primeiro: Criar discos de boot e root.
Segundo: Preparar o disco rgido para instalao do sistema.
4 Linux: Sistema Operacional II

Terceiro: Iniciar o sistema j com Linux a partir dos discos de instalao.
Quarto: Instalar o Linux a partir do CD.
Nas etapas seguintes, iremos considerar apenas os processos que so comuns e que
geram menos confuso durante a instalao. Considere que o seu computador po-
der ter instalado um sistema DOS ou um sistema Windows. Em qualquer dos ca-
sos ser necessrio preservar os dados e o prprio sistema operacional existente,
procedendo ao particionamento do seu disco rgido.
Uma situao ideal ter disposio um disco rgido que possa ser integralmente
formatado com o novo sistema. Independente da sua situao, e considerando prin-
cipalmente a primeira, no deixe de efetuar cpias de segurana de todos os dados
que voc possui gravados neste disco.
A distribuio do Linux feita em CD-ROM com capacidade de carga do sistema
operacional. Se o seu equipamento permitir a configurao do processo de iniciali-
zao, permitindo que o CD-ROM seja o dispositivo de boot, altere esta configura-
o e faa um reset no sistema.
Em virtude da grande quantidade de distribuies e verses existentes, farei uma
descrio geral do sistema de instalao do Linux, apelando mais para o entendi-
mento destas rotinas por parte do tcnico do que os passos propriamente.
O que acontece na instalao
A carga do micro kernel, que consiste em uma pequena parte do sistema operacio-
nal necessria e suficiente ao processo de instalao, pode ser dada de trs manei-
ras bsicas:
1. Pelo comando autoboot.bat que usa o utilitrio loadlin para carregar o sistema.
Executado direto do prompt do DOS/Windows.
2. Atravs dos discos boot e root gerados com o utilitrio rawrite.
3. Boot direto pelo CD-ROM de distribuio. Requer ajustes na BIOS e suporte
para boot em CD.
Este micro kernel permitir ao usurio executar as funes necessrias ao processo de
instalao e tambm as rotinas para a criao de contas de usurios e ajustes no ambi-
entes de rede. Os ajustes e opo da instalao podero ser feitos posteriormente.
A terminologia imagem de disco, diz respeito a cada parte do kernel especial-
mente preparada para ser utilizada com um certo tipo de equipamento ou confi-
gurao comum, considerando primordialmente sua configurao.
Observaes Gerais 5

Vrios arquivos terminados com a letra i esto disponveis para a criao do disco
de boot. Outros tantos arquivos terminados com a letra s, contm as imagens do
root.
As distribuies do Linux so acompanhadas de um arquivo executvel (rawri-
te.exe) cuja funo copiar de forma adequada os arquivos com extenso i e com
extenses s, tornando-os passveis de carga (boot image) do sistema Linux com o
micro kernel.
A carga do sistema operacional permitir que a instalao possa prosseguir e que o
usurio possa definir quais sero os pacotes a serem instalados. Dentre os pacotes
disponveis na distribuio do Linux, aquele que mais chama ateno refere-se s
linguagens de programao, interface grfica, opes de conectividade, suporte a
idiomas e aplicativos para escritrio. Os pacotes do Linux so distribudos em um
formato especial chamados container. Um container nada mais do que um grande
arquivo compactado dentro do qual esto todos os pedaos necessrios instalao
de um aplicativo.
As principais linguagens de programao disponveis na distribuio do Linux so:
pascal, C, C++, PHP e PERL, mas existem dezenas delas que podem ser conse-
guidas gratuitamente sob os termos da GNU General Public License, pela Internet.
A interface grfica disponvel no momento da instalao permite que o usurio faa
a escolha de qual tipo de interface est disponvel. A interface mais conhecida o
KDE. Outras, como a interface Gnome, podem ser instaladas posteriormente.
Por ser voltado ao ambiente web, o Linux traz linguagens script tradicionais nos
ambientes Unix. Desenvolver aplicativos ou rotinas corriqueiras em linguagem
script muito facilitado pela existncia de editores de texto que mais lembram o
antigo Wordstar. Para os usurios mais avanados o editor vi est disponvel
juntamente com o edlin, ambos muito conhecidos de usurios Unix.
Como todo sistema Unix que se preze, o Linux oferece compatibilidade para cone-
xo com praticamente qualquer tipo de sistema. A conexo mais utilizada para
redes locais baseadas no padro ethernet.
Ainda no temos um sistema Linux totalmente convertido e traduzido para o portu-
gus do Brasil, porm a distribuio Console Linux traz a maioria dos manuais e
ajudas de comandos j traduzidos para o portugus do Brasil o que facilita bastante
o trabalho dos usurios que tm pouca ou nenhuma intimidade com o ingls.
6 Linux: Sistema Operacional II

O que este livro aborda
Este livro aborda da instalao operao bsica do KDE, passando por detalhes
do shell incluindo programao, incio rpido para usurios DOS/Win, comandos
principais e mais utilizados, diversos exemplos de comandos e scripts que auxiliam
e melhoram o trabalho dirio, administrao de usurios, grupos e acessos.
A diversidade de interfaces grficas disponveis para o Linux obrigou o autor a to-
mar uma deciso: como esgotar as interfaces grficas falando sobre elas tudo que
possvel seria trabalho hercleo, entediante e de resultados prticos questionveis,
escolheu-se o KDE por ser o mais acessvel e amigvel.
Como os sistemas Unix esto fundamentados em interface texto, nada mais natural do
que fazer o foco das atenes serem os comandos e tcnicas utilizadas no shell (bash).
O melhor desta deciso que este livro poder ser utilizado para o entendimento
no apenas do Linux, mas tambm de qualquer sistema Unix compatvel.
O leitor deve considerar ainda que a operao de sistemas Linux e Unix compat-
vel, pode variar de verso para verso obrigando que, para sua operao, sejam
consultados manuais e dicas de operao, principalmente para aqueles servios que
no seguem o padro Unix.
Ento para quem serve este livro?
Ao final do livro o leitor dever ser capaz de preparar, instalar, configurar e operar
sistemas Linux, tratar de segurana de usurios, desenvolver scripts, depurar
scripts, efetuar backup e instalao de aplicativos, utilizar os comandos internos e
externos, combinar estes comandos em expresses regulares, encontrar ajuda no
sistema e fora dele, resolver problemas de configurao pela edio de arquivos de
configurao, instalar, configurar e operar a interface grfica KDE e seus aplica-
tivos e utilitrios, utilizar compiladores e preparar o ambiente para ser operacional
alm de conhecer a histria, o desenvolvimento e as tendncias futuras dos siste-
mas Linux em suas diversas distribuies.
bvio que este grau de aproveitamento, s ser possvel de se atingir se for exe-
cutado um estudo criterioso e cuidadoso dos testes e exemplos apresentados, alm
de seguir as recomendaes propostas pelo autor.
A grande maioria do material que voc encontrar neste livro pode tambm ser en-
contrada na Internet em dezenas de sites nos mais diversos idiomas e com os mais
Observaes Gerais 7

variados graus de profundidade. Os comandos descritos aqui nada mais so do que
uma compilao livre, porm com enfoque prtico, de documentos disponveis
quer seja na Internet, quer seja nos sistemas de Help on-line do prprio Linux ou
em News Internet afora.
A parte referente ao editor vi por exemplo, resume os principais comandos deste
poderoso editor, porm, com ajuda do help instalado em seu computador voc po-
der verificar no apenas os comandos citados neste livro mais todos os comandos
existentes para o vi.
A parte do KDE concentra-se na sua utilizao e configurao operacional bsicas.
O grande diferencial neste livro que o leitor tem um roteiro a ser seguido e ao
concluir este roteiro ele poder dizer: Eu entendo o Linux e seguir adiante.
Instrues para a utilizao deste
livro
Para estudar e aprender a usar um sistema operacional necessrio praticar. Para
que a prtica seja desempenhada com sucesso, o usurio que pretende utilizar este
livro para aprender os segredos de um sistema operacional como o Linux, deve
possuir um computador que possa receber uma instalao mnima do Linux. Estu-
dar o sistema operacional simplesmente lendo o livro poder ajudar apenas na parte
conceitual e nada mais do que isso. O aprendizado se dar de fato, se ele for prati-
cado diretamente em um computador.
Algumas atividades que sero solicitadas ao longo do livro podem requerer que o
leitor possua uma conexo com Internet e eventualmente um segundo computador
interligado em uma rede local. Quando isto no for possvel voc conseguir ape-
nas atingir o primeiro objetivo, ou seja, entender a parte conceitual.
Por que o Console Linux?
A distribuio do Linux escolhida para servir de base para este livro a Console
Linux 1.0. Por que esta distribuio? Porque baseada na verso mais estvel das
verses existentes, o Red Hat 6.2 que utilizado como base de outras distribuies
entre elas o Mandrake. J temos o Red Hat verso 7.x disponvel para download
diretamente pelo site www.redhat.com mas ainda no considerada uma verso
estvel, e como nosso foco estudar os comandos e tcnicas bsicas do Linux, a
distribuio Console Linux 1.0 se mostra como excelente opo.
8 Linux: Sistema Operacional II

Por que um Linux em portugus?
Ter escolhido uma verso em portugus tambm tem seu motivo. Apesar do co-
nhecimento do ingls tcnico utilizado em sistemas Unix ser imprescindvel a to-
dos aqueles que pretendem aprender e se desenvolver nesta tecnologia, ter uma
ajudinha nos primeiros passos importante para no ficar desestimulado com as
dificuldades naturais que se apresentaro. findo o tempo onde saber clicar sobre
cones fazia do profissional um entendido em informtica; acredito mais no enten-
dimento do que est por trs do clique do que no clique em si.
Conheci muitos tcnicos que no sabiam inicar uma tarefa, nem aquelas mais
simples, se no atravs de um software assistente (wizards) ou partindo de um mo-
delo pronto mastigado. Em ltima anlise saber se virar demanda no mnimo:
1) saber ingls tcnico, 2) procurar a raiz funcional dos softwares e 3) no intimi-
dar-se com mensagens do tipo command zxkwy not found. So estas pequenas
coisas que faro a grande diferena no final do ms quando voc receber o seu sa-
lrio, ou pelo menos deveriam fazer.
O CD que acompanha este livro
Incluimos a verso completa do Console Linux 1.0 Verso Servidor, com instala-
o e utilitrios de configurao traduzidos para o portugus e ainda alguns deles
desenvolvidos especialmente para a distribuio Console Linux. O CD-ROM est
preparado para ser inicializvel, o que permite o boot direto pelo CD, em mquinas
que suportem esta configurao, trazendo todos os aplicativos necessrios ao nosso
uso neste livro.
Convenes utilizadas neste livro
Como estaremos tratando principalmente de comandos que sero estudados dire-
tamente no prompt do Shell, a quantidade de figuras e diagramas mnima na parte
inicial deste livro e algumas convenes tipogrficas devem ser observadas:
[root@Console /root]# Prompt
df v Comandos digitados diretamente no prompt
127.0.0.1 Console localhost Resultado de comandos
9

Nos ambientes Unix a interface orientada a caractere reina absoluta entre os tcni-
cos e usurios avanados e por mais que estejam com o ambiente grfico ativado,
as configuraes so feitas diretamente no prompt do Shell.
Vocabulrio bsico
Antes de iniciar o assunto propriamente dito, necessrio estabelecer um vocabul-
rio bsico sem o qual o entendimento de alguns textos pode ficar prejudicado.
Sistema Operacional (SO) um tipo especial de software cujas funes bsicas
podem ser assim resumidas:
Garantir uma comunicao eficaz entre o usurio e o computador.
Permitir o desenvolvimento e a utilizao de programas aplicativos de
qualquer tipo.
Viabilizar a troca de dados (comunicao) com outros computadores, inde-
pendente do SO que ele utilize.
Interface a forma que a comunicao entre o usurio e o computador viabili-
zada. Os dispositivos utilizados para esta comunicao dependem da interface. Se
ela for grfica, utiliza-se o teclado e o mouse; caso ela seja somente texto, utiliza-se
o teclado.
10 Linux: Sistema Operacional II

Programao a criao de novos programas para computadores, chamados
genericamente de software, utilizando uma linguagem de programao (C, Delphi,
C++, Kylix, COBOL, VB, etc.).
Protocolo um padro de comunicao entre os computadores que permite o
envio e o recebimento de dados entre eles, como acontece ao conectar o micro
Internet.
Kernel a parte central (ncleo) de um SO. Geralmente pequeno, se comparado
a todas as facilidades oferecidas por um SO, o Kernel precisa ser rpido, seguro e
robusto (no pode apresentar erros).
Desktop ou rea de trabalho a rea da tela que o usurio utiliza para organizar
os programas e visualizar os resultados do processamento.
cone um pequeno desenho que representa um objeto com o qual o usurio po-
de interagir utilizando o mouse.
Prompt ou sinal de pronto, indica ao usurio que o SO est pronto para ser utili-
zado. Nos sistemas Unix o prompt pode ser um $ ou #.
Cursor um pequeno sinal que pisca de forma intermitente aps o prompt e ser-
ve para indicar a posio onde aparecer o prximo caractere digitado.
rea de trabalho
O Linux apresenta-se ao usurio com uma tela principal denominada tela de login
ou issue screen. Nela o usurio deve digitar sua identificao (login) e senha de
acesso (password).
Depois de validar login e password, o Linux apresenta um sinal de prontido
(prompt) que pode ser $ (dlar), # (jogo da velha) ou outro, dependendo da confi-
gurao inicial de cada usurio.
Como o Linux trabalha
O Linux possui proteo entre processos (crash protection). Desta forma se
um comando falhar, ele no afetar o funcionamento do computador, mas
apenas do programa que falhou.
Carregamento por demanda. As bibliotecas do sistema so carregadas e
descarregadas o tempo todo de e para a memria a partir do HD. Como e-
Interface 11

las so de pequeno tamanho, o sistema mantm elevada performance e s
gasta memria com o que necessrio.
Redes TCP/IP. Protocolo padro para conectividade em ambientes de rede
local e remota.
Nomes de arquivos com at 255 caracteres.
Multitarefa real. Quem comanda o tempo do processador o kernel e no
as aplicaes que rodam sobre ele.
Suporte a UNICODE.
Bibliotecas compartilhadas shared libraries. Reduz o tamanho final dos
pacotes de aplicao.
Memria virtual. Quando acontecer sobrecarga na utilizao de memria, o
sistema pode fazer swap em disco. Isto degrada o sistema, mas um recur-
so importante, principalmente em estaes de trabalho.
E mais uma poro de facilidades inerentes aos sistemas Unix. Por seguir o
padro POSIX, Linux mantm a compatibilidade funcional com outros
Unix do mercado.
Qual micro aceita o Linux?
Para que um micro suporte Linux, ele precisa de um processador 386 ou superior,
com no mnimo 2MB RAM e 100MB de HD. O micro ideal para Linux aquele
que estiver mo, pois ele roda em qualquer PC. Como bom ser otimista!
Se voc tiver um Pentium (qualquer um!) com 32MB RAM, 1.2 GB de HD, unida-
de de disquetes de CD, voc ter uma plataforma considerada padro para insta-
lar e rodar bem o Linux.
Minha mquina um Pentium 150 MHz bala montado numa placa Soyo 5y (a-
quela baby AT) com 64MB de EDORAM 70 a jato, HD Caviar de 2.5GB, Pla-
ca de vdeo PCI Diamond S3 bala com 4MB, Monitor Asaki de 14 com Kde
rodando em 1024 X 768 X 8bits sem flicking, Placa ethernet 3COM ISA COMBO
de 10Mbits, Mouse Genius 3 botes, Teclado Five Star US, CD IDE Creative quad
speed bala, Placa Sound Blaster ISA 16, conjunto este que chamo carinhosamen-
te de FrankPCstain, e fao com ele coisas que at eu duvido... e numa velocida-
de!!! que deixa muito PIII 600 de 256MB com HD SCSI rodando Windows 2000
Server comendo poeira.
No meu FrankPCstain eu rodo Mail Server com antivrus, Web Server Apache,
MySQL, PHP, Perl, gcc, COBOL, StarOffice, Netscape, Samba, KDE desktop,
Sniffer e ainda sobra muita mquina.
12 Linux: Sistema Operacional II

Sabe quantas vezes o Linux travou no meu FrankPCstain? Nenhuma. Sabe quantas
vezes eu perdi dados porque um aplicativo travou? Nenhuma. Sabe desde quando
ele est rodando ininterruptamente 24h/dia, 7 dias/semana (descontando as duas
vezes em que faltou energia, uma outra quando tropecei no fio de energia e uma
quarta que meu filho apertou o reset quando eu estava salvando este arquivo)?
Desde 21 de maro de 2000 s 15:37 quando comecei a escrever este livro, por-
tanto quase um ano SEM ESQUENTAR MINHA CABEA COM SISTEMA
OPERACIONAL, fazendo testes, experincias, instalando e desinstalando softwa-
res, linguagens e outros bichos!!!
Preparando o micro para receber o
Linux
O CD que acompanha este livro possui o Console Linux 1.0, que uma verso es-
tvel, fcil de instalar e que oferece um acesso fcil ao trabalho com Linux. A ins-
talao do Console Linux pode ser feita utilizando interface grfica ou texto. Os
passos em ambas so idnticos.
Instalando o Console Linux 1.0
Etapas para instalao com interface
grfica
No CD do Console Linux 1.0 encontra-se um diretrio dosutils dentro do qual es-
to as ferramentas bsicas para preparar a instalao desta distribuio.
Iniciando a instalao com autoboot, direto
pelo DOS
Para os usurios que possurem um disco de boot com acesso ao CD-ROM (um
disquete desses pode facilmente ser gerado pelo componente Adicionar e Remo-
ver Programas no Painel de Controle do Windows), bastar efetuar o boot com
suporte ao CD-ROM e rodar direto o batch file aotoboot.bat que se encontra na-
quele diretrio. Depois do boot direto pelo CD, esta a melhor forma de iniciar a
instalao.
Interface 13

Configurando o BIOS para fazer o boot pelo CD
Para fazer o boot pelo CD preciso configurar o BIOS do seu PC para que o com-
putador possa ser inicializado com o CD. Para fazer isto:
Depois de ligar o computador, pressione a tecla Delete para ter acesso ao
BIOS.
V at a opo: BIOS FEATURES SETUP
Isto significa algo como Configurar as feies do BIOS, ou seja, como
o BIOS deve funcionar, ou se comportar, em seu computador.
Localize a opo: BOOT SEQUENCE
Ela determina a seqncia de boot (ordem de procura pelo dispositivo de
onde ser feita a carga do sistema operacional). Utilizando as setas, posi-
cione a barra sobre ele e pressione F1. Uma janela deve aparecer mostran-
do as seqncias vlidas de dispositivo de carga disponveis. Pressione
ESC para retornar e escolha pressionando Pg Up ou Pg Dn, aquela na qual
o CDROM aparece em primeiro lugar, algo como: CDROM, C, A
No altere as demais opes. Pressione ESC para retornar ao menu princi-
pal e localize a opo: SAVE & EXIT SETUP
Uma janela de confirmao exibida: SAVE to CMOS and EXIT (Y/N)? y
Gravar as alteraes e sair? Responda y(es) e pressione Enter e esta opo
gravar as alteraes feitas por voc e sair do programa Setup reiniciando
o computador.
Mantenha o CD com o Console Linux no leitor de CD do seu PC e aguarde
o boot. Este processo pode demorar 5 minutos ou mais, dependendo da ve-
locidade o leitor de CD, da memria RAM e da CPU de sua mquina.
A tela Bem-vindo do Console Linux exibida. Esta tela na verdade um
menu que lhe d opo de escolher o caminho a seguir. Note que na janela
esquerda estar sendo exibida uma ajuda permanente sobre o processo de
instalao e o significado das opes disponveis, portanto no iremos nos
ater a muitos detalhes desta etapa em funo disto.
Escolha o idioma a ser utilizado na instalao, Ingls ou Portugus (de-
fault) e clique no boto Avanar.
Seleo do Teclado
Escolha do leiaute do seu teclado. Cuidado para no selecionar o leiaute
incorreto. Se o seu teclado for padro ABNT (aquele com ) no se preo-
cupe, no existem comandos com ou acentuao em Unix. Se seu tecla-
14 Linux: Sistema Operacional II

do no tiver este smbolo ser preciso ativar as teclas mortas (acentos e
combinaes para gerar o ), necessrias ao digitar textos a serem impres-
sos ou enviados pela Internet.
Escolha o Mouse
Qual o modelo de mouse conectado ao seu computador?
Uma lista exibida com vrios modelos pelo programa de instalao. Voc
deve escolher aquele que melhor indica o equipamento que voc possui.
Possivelmente a sugesto feita pelo programa de instalao deva ser a me-
lhor indicao para o seu caso. Fique atento para o tipo de interface que se-
r utilizada: serial ou PS/2.
A opo de emular trs botes em equipamentos que possuam dois botes
geralmente no funciona adequadamente, portanto, desmarque esta opo.
Qual o dispositivo ao qual o mouse est conectado?
O programa de instalao o sugere /dev/ttyS0 (COM1 under DOS), que re-
solve 99% dos casos.
Se o mouse do seu computador estiver em outro endereo (COM2, COM3
ou COM4), escolha um na lista exibida.
Bem-vindo ao Console Linux!
O aviso diz: Este processo de instalao explicado em detalhes no Guia
Oficial e Instalao do Console Linux disponibilizado pela Console Linux.
Se voc tiver acesso a este manual, voc deve ler a seo instalao antes
de continuar.
E continua: Se voc comprou uma distribuio Oficial da Console Linux, tenha
certeza de registrar sua compra atravs do site http://www.console .com.br
O manual do Console Linux distribudo para o usurio que comprar o
produto na caixa. Alm dos CDs de instalao, o usurio recebe o manu-
al de instalao do produto e o direito de efetuar o registro de sua cpia, o
que garantir atendimento direto para sanar dvidas operacionais, de insta-
lao e atendimento a outros problemas ou dificuldades enfrentadas pelo
usurio durante os primeiros 90 dias da aquisio.
Tipo de Instalao
Qual o tipo de sistema que voc gostaria de instalar? Workstation (Gno-
me ou KDE), Dos/Windows (mantm intacta a FAT atual com Windows),
Servidor ou Atualizao?
Interface 15

Se for escolhida Workstation ou Servidor, todo o HD ser formatado e uma
nova interface muito utilizada por programadores Linux ser instalada
(Gnome ou Kde). Tida como interface preferida por profissionais envolvi-
dos no projeto do Linux, o Gnome foi criado pelos programadores como
alternativa interface KDE, que no tinha o seu cdigo aberto comuni-
dade de desenvolvedores.
Se escolher a opo KDE, uma interface bastante amigvel e que foi inic i-
almente criada como soluo definitiva de ambiente grfico para o Linux,
lhe dar acesso a uma srie de utilitrios e ainda a um ambiente muito pa-
recido com o do Windows e com aplicativos e utilitrios muito interessan-
tes para edio de textos (KWord), planilha eletrnica (KSpread), gerador
de apresentaes, gerador de diagramas, desenho vetorial (Kilustrator) e
gerenciador de ambiente pessoal (Koffice).
Se voc escolher a opo Server, todos os aplicativos e configuraes ne-
cessrias para a operao de um servidor sero automaticamente instaladas,
porm sem interface grfica.
Escolha a Servidor. Selecione todos os pacotes (1,5GB). Utilizando esta
opo, todas as configuraes necessrias ao Console Linux como servidor
sero instaladas, permitindo explorarmos caractersticas avanadas no am-
biente do Shell.
Configurao de Rede
Um hostname o nome que o computador ter e pelo qual ele ser reco-
nhecido em um ambiente de rede. Se ele no estiver em um ambiente de
rede, ainda assim este ser o nome associado ao seu computador.
Importante: No utilize caracteres especiais (smbolos e letras acentuadas)
e evite a utilizao de espaos em branco ao definir o nome do computa-
dor.
Se o seu computador tiver uma placa de rede instalada, ela pode ser conf i-
gurada automaticamente utilizando uma tcnica conhecida por bootp/dhcp,
e que consiste na leitura das configuraes necessrias diretamente de um
arquivo previamente criado. A outra opo seria informar o endereo dire-
tamente no espao disponvel para isto.
O endereo IP deve ser vlido respeitando as classes de endereamento de-
terminadas por este protocolo. Para maiores informaes, consulte o livro
Internet Intranet e Redes Corporativas , deste mesmo autor e editora.
D preferncia pelas classes B ou C de endereamento. Veja um bom
exemplo de endereo para ser utilizado nesta configurao:
192.168.0.1
16 Linux: Sistema Operacional II

Quaisquer deles que voc venha a escolher permitiro que seu computador
trabalhe sem conflitos de endereo tanto em uma rede local como em co-
nexes com a Internet. sempre importante, contudo, se a instalao esti-
ver acontecendo em um ambiente de rede empresarial, que se consulte o
administrador de rede responsvel pela distribuio dos endereos IP vli-
dos neste ambiente.
Informe ento o endereo IP, por exemplo, 192.168.0.1 e prossiga com Tab
at o campo OK. Observe que a mscara (Netmask), Default gateway e
Primary nameserver, so automaticamente preenchidas pelo programa de
instalao. Para ter certeza destes valores, no deixe de verificar os valores
vlidos com o administrador de redes da empresa ou consulte o livro j ci-
tado antes.
Caso o micro que receber o Linux esteja participando de uma rede local
ethernet pode-se ativar a busca automtica de endereos pelo DNS ativo e
ativar tambm o default gateway. Estes parmetros simplificam a conexo
de uma mquina Linux com a Internet e demais recursos da rede.
Se isto aconteceu com sua instalao e voc ficou com dvidas, pea ajuda
ao administrador da sua rede para informar-lhe o endereo do servidor
DNS e o default gateway de sada para Internet.
Fuso horrio
Qual o fuso horrio (time zone)?
Aponte no mapa o fuso horrio que corresponde sua regio. O mapa que exibi-
do interessante. Conforme aproxima-se o ponteiro do mouse da localidade dese-
jada, uma seta aponta a cidade correta, e ao clicar, o fuso horrio e a localidade so
estabelecidos.
Senha do root (e outras contas)
Escolha uma senha para o superusurio root.
Ela deve ser digitada duas vezes.
Esta senha no pode ser esquecida.
Ela deve ter pelo menos seis caracteres.
imprescindvel que ela seja apenas do seu conhecimento.
Adicione agora pelo menos mais um usurio utilizando Adicionar usurio.
Deve-se usar esta conta normal de usurio para acionar e ter acesso ao sis-
tema. Adicione um usurio comum para trabalhos corriqueiros e deixe a
conta do superusurio apenas para configuraes avanadas. Crie ento o
Interface 17

usurio com o seu nome. Para efeito de exemplo, o usurio normal durante
todo o livro ser Garcia.
Dependncia no resolvidas
Durante a instalao pode acontecer de algum pacote selecionado depender
de outro pacote que no foi selecionado. O Console Linux verifica isto e
aponta sugestes para ajustar esta questo que geralmente instalar o que
est faltando. Aceite as recomendaes e prossiga.
Particionamento automtico
O particionamento do HD uma etapa crucial na instalao do Linux. Nes-
ta fase define-se o local fsico onde o Linux deve ser instalado e uma deci-
so precisa ser tomada: deixar o HD todo ser particionado pelo Linux de
forma automtica ou fazer isto manualmente.
Se voc no tem um HD novo ou se os dados gravados atualmente pude-
rem ser perdidos ento escolha deixe o Console Linux fazer isto por vo-
c, caso contrrio escolha utilizar fdisk.
Antes de continuarmos com o particionamento, preciso entender um pou-
co a forma como os sistemas Unix o utilizam. Cada pedao do HD, cha-
mada partio vista pelo Linux como um mount point ou ponto de
montagem. Cada mount point recebe arquivos e funes bem distintas
(veja tabela a seguir). Uma vez definidos, os mount point podem ser asso-
ciados a uma ou mais parties do HD e isto d ao Unix uma grande flexi-
bilidade para aumentar o espao til sempre que for necessrio, pois basta
instalar um novo HD, criar as parties e associ-las ao mount point dese-
jado.
Se voc utilizar o particionamento manual no necessrio fazer toda esta
diviso, a nica partio realmente obrigatria a / (root partition) cujo
mount point tambm o / pois a partir dela que o sistema conseguir a-
cesso a todas as demais.
Utilizando particionamento automtico
O instalador do Console Linux ir particionar o HD conforme sua capaci-
dade total em pelo menos cinco espaos:
18 Linux: Sistema Operacional II

Mount point Objetivo
/ Partio raiz. D acesso a todas as outras parties e traz ainda as
pastas /etc onde so mantidos os arquivos com as configuraes do
sistema, a /lib onde ficam as bibliotecas do sistema operacional e
outras pastas como /opt, /sbin, /bin, /dev, /lost+found, /mnt, /root e
/tmp.
/boot Partio de carga do kernel do Sistema Operacional.
/home Partio para arquivos dos usurios.
/usr Partio com aplicativos e bibliotecas compartilhadas.
/var rea temporria e de bibliotecas exclusivas de outros aplicativos.
Utilizando particionamento manual
O instalador do Console Linux mostrar o utilitrio de particionamento
bastante interativo que mostra na parte inferior da tela os discos HD detec-
tados e na parte superior as parties existentes e a qual sistema operacio-
nal elas pertencem.
Note que o HD no mais chamado de C:/ mas sim de /dev/hda (Master
HD ou disco primrio) e /dev/hdb (Slave HD ou disco escravo quando
houver). Acostume-se com esta nova nomenclatura. Todo dispositivo peri-
frico interno ou externo que ser reconhecido pelo sistema operacional
deve ter uma entrada em /dev.
Em se tratando de HD, cada partio criada dividida em nmeros que in-
dicam o nmero da partio.
S pode existir uma partio primria e uma partio estendida por disco,
desta forma a primeira partio do HD primrio ser /dev/hda1 e a primeira
unidade lgica da partio estendida ser /dev/hda5, a segunda unidade l-
gica da partio estendida ser /dev/hda6 e assim sucessivamente.
Para ilustrar mais um pouco, consideremos um HD de 2.5GB no qual fo-
ram criadas quatro parties: uma primria com 1.0GB e trs estendidas
com 0.5GB cada uma e um segundo HD de 4.5GB no qual foram criadas
duas parties: uma primria com 1.5GB e uma estendida com 2.0GB. Es-
quematicamente teremos:
Interface 19

Disco Partio Tipo Tamanho
/dev/hda /dev/hda1 Primria 1.0GB
/dev/hda2 Estendida 1.5GB
/dev/hda5 Lgica 0.5GB
/dev/hda6 Lgica 0.5GB
/dev/hda7 Lgica 0.5GB
/dev/hdb /dev/hdb1 Primria 1.5GB
/dev/hdb2 Estendida 3.0GB
/dev/hdb5 Lgica 2.0GB
Note que cada partio estendida recebe sempre o nmero 2 e as parties
lgicas dentro dela comeam sempre em 5. Note ainda que se somarmos as
parties lgicas, estas no podem ultrapassar o tamanho definido na parti-
o estendida, podendo, contudo, serem menores que aquela. Isto ocorreu
com o segundo disco deste nosso exemplo. A partio estendida foi defini-
da com 3.0GB mais apenas 2.0GB foram definidos e, portanto neste caso,
o segundo HD ficar com 1.0GB livre.
Ao escolher o particionamento manual, voc deve ficar atento para a cria-
o de uma partio de troca (Linux swap), sem a qual a operao do Li-
nux ficar bastante prejudicada em relao sua performance. Lembre-se
ainda de definir o ponto de montagem para partio criada. Este ponto de
montagem deve ser o raiz (/).
Uma dica importante que a partio de troca (Linux swap) tenha o do-
bro do tamanho da memria RAM total do seu computador, desta forma, se
voc tiver 64 MB de RAM, crie uma partio de troca com 128 MB.
Depois de definir as parties, o programa de instalao pergunta se as par-
ties devem ou no devem ser formatadas. Existe uma opo de solicita-
o para verificao de blocos danificados do disco enquanto a formatao
acontece.
Recomenda-se que as parties sejam formatadas e que tambm sejam ve-
rificados os blocos ruins durante este processo.
I nstalao vai comear
O programa de instalao avisa que uma descrio completa do servio de
instalao ser criada no endereo /tmp/install.log depois que o sistema for
iniciado pela 1 vez. Voc deve manter este arquivo em seu sistema para
20 Linux: Sistema Operacional II

futuras referncias e solues de problemas que possam acontecer. Em si-
tuaes normais de instalao, o /tmp/install.log possui apenas uma lista-
gem com a seqncia de instalao dos pacotes. A partir deste momento, o
programa de instalao dar incio:
A formatao do sistema de arquivos que voc escolheu.
Far a verificao de erros que possam existir em seu disco rgido.
Far a cpia dos arquivos que atendem opo de servidor, escolhida
para esta instalao.
Essa etapa pode demorar cerca de meia hora (no meu FrankPCstain demo-
rou 17 minutos) at mais de duas horas (dependendo do conjunto de paco-
tes escolhidos), podendo demorar mais dependendo da configurao do seu
computador (velocidade do HD, total de memria RAM, tipo da CPU).
Bootdisk
Se apenas o Linux estiver instalado no computador esta etapa no im-
prescindvel, porm, se voc fez a instalao em outra partio para ter o
Linux e o Windows tambm instalado, ento importante o disco de boot.
Este disco permitir o acesso ao Linux caso acontea algum problema com
a instalao do lilo (Linux Loader) que o responsvel pela carga do sis-
tema operacional no momento do boot em discos com dois ou mais siste-
mas operacionais instalados.
O lilo instalado na rea de carga do sistema operacional (boot area) e
permite a escolha de qual sistema operacional ser carregado a cada vez
que o computador ligado. Se apenas o Linux estiver instalado, ento o li-
lo j foi instalado e automaticamente configurado, porm se o Linux esti-
ver junto com o Windows, ento deve-se indicar a partio do disco onde
est o Windows e qual ser seu nome. Depois de confirmar a partio e seu
nome o lilo instalado e quando o computador for iniciado ser possvel
escolher qual sistema operacional ser carregado, digitando no prompt do
lilo o nome que foi dado para cada uma das imagens de boot.
Por padro no prompt do lilo ao teclar Tab so exibidos os nomes das i-
magens de carga de sistema operacional instalados. Para escolher digite o
nome desejado, por exemplo, linux para carregar Console Linux 1.0 ou
dos para carregar o dos/windows.
Interface 21

Completado
O programa de instalao informa que a instalao foi completada, solicita
que as mdias de instalao sejam removidas (CD-ROM ou disquete) e ao
teclar <ENTER> o sistema ser reiniciado.
Reboot
Depois de reiniciar o computador, um prompt deve aparecer informando
LILO boot: Tecle Tab e verifique os nomes que so exibidos. Digite linux
e tecle <ENTER> para iniciar a carga do Console Linux 1.0.
Observe que, enquanto acontece a carga do Linux, algumas mensagens so
exibidas informando sobre a situao desta carga. Qualquer problema que
ocorra ser reportado aqui. Somente na primeira vez que a carga feita, a
janela de Hardware Added ser exibida automaticamente.
Primeiro boot
O mouse detectado e uma tela mostrada para que o device seja configu-
rado. Escolha a opo Configure e aguarde. Confirme a escolha do mouse
que foi feita no processo de instalao e aguarde que o restante da carga
termine. Uma tela similar a esta (chamada issue divulgar) deve ser exibi-
da. Pequena variao pode ocorrer caso o nome dado a sua instalao seja
diferente de Console Linux:
Console Linux1.0 (Spike)
Kernel 2.2.17-21mdk
console login:
Algumas telas do KDE
Uma viso geral do Console Linux com algumas janelas sobrepostas. A semelhan-
a com o Windows grande: desde o boto K (Iniciar) at a barra com data, hora e
janelas na barra de tarefas; com apenas uma inverso no controle das janelas colo-
cando o boto fechar (x) no canto superior esquerdo.
O KDE vem equipado com um conjunto de ferramentas para automao de escrit-
rios que lembram muito o pacote integrado da Microsoft.
O Koffice possui esta tela integradora chamada koshell e dentro da qual as demais
aplicaes so abertas.
22 Linux: Sistema Operacional II


Figura 2.1

Figura 2.2
A planilha eletrnica chama a ateno por possui facilidades para montagem de
frmulas e manipulao de matrizes.
Interface 23


Figura 2.3
O editor de textos simples de operar e possui os elementos bsicos para criao
de textos formatados.

Figura 2.4
24 Linux: Sistema Operacional II

O software para criao de apresentaes muito parecido com o Powerpoint.

Figura 2.5
O aplicativo para trabalhar com desenhos vetoriais possui o mnimo indispensvel
para tratar este tipo de atividade, mas rpido mesmo em mquinas com processa-
dores pequenos.
O aplicativo para criao de grficos simples de usar e trabalha integrado com a
planilha.
Interface 25


Figura 2.6

Figura 2.7
26 Linux: Sistema Operacional II

Primeiro login
O cursor que exibido est aguardando que seja informado o nome de um usurio.
Informe ento o usurio root.
console login: root
Password: [informe sua senha]
Uma vez que voc tenha informado usurio e a senha correta, deve ser exibida na
tela o prompt do Linux.
[root@console /root]#
Parabns! Voc efetuou o primeiro acesso ao sistema instalado em seu computador.
O que voc v chamado prompt do Shell. O Shell o ambiente no qual o Linux
pode ser utilizado. Este prompt pode ser ligeiramente diferente em funo do nome
que voc atribuiu sua mquina durante a instalao (aquela etapa do host name ,
lembra?). Desta forma, se o seu host name escolhido foi MeuLinux, ento o prompt
ser exibido assim:
[root@MeuLinux /root]#
A palavra root que precede o host name refere-se ao usurio que se logou ao siste-
ma. Se voc se logar com outro nome de usurio, por exemplo, Garcia, em uma
mquina chamada MeuLinux, ento o prompt aparecer assim:
[Garcia@MeuLinux /Garcia]$
A string /Garcia exibida depois do login name e do host name o diretrio (pasta)
onde o foco do Shell est no momento. Neste caso voc est na pasta Garcia imedi-
atamente abaixo do diretrio de trabalho do usurio, portanto /home/Garcia.
Fechando uma sesso login
Fechar uma sesso login corresponde ao processo de desconexo do usurio. Isto
interrompe a utilizao do ambiente operacional (Shell) evitando que outros usu-
rios acessem o sistema.
Para fechar uma sesso utilize o comando exit ou tecle CTRL + D. Note que a tela
issue novamente exibida.
Mas no s isto! Ao fechar o login, seu computador no pode ser desligado sim-
plesmente. Os sistemas modernos ativam diversos processos que o usurio no v,
Interface 27

mas eles esto l, funcionando e fazendo o Sistema Computacional trabalhar.
comum que muitos destes processos mantenham arquivos abertos e se eles no fo-
rem corretamente encerrados, ento os arquivos podem ser corrompidos causando a
perda de dados.
Para visualizar estes processos, utilize o comando ps -ef:
[root@console /root]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 17:05 ? 00:00:04 init
root 2 1 0 17:05 ? 00:00:02 [kflushd]
root 3 1 0 17:05 ? 00:00:00 [kupdate]
root 4 1 0 17:05 ? 00:00:13 [kswapd]
root 5 1 0 17:05 ? 00:00:00 [mdrecoveryd]
bin 324 1 0 17:06 ? 00:00:00 [portmap]
root 339 1 0 17:06 ? 00:00:00 [lockd]
root 340 339 0 17:06 ? 00:00:00 [rpciod]
root 349 1 0 17:06 ? 00:00:00 [rpc.statd]
root 402 1 0 17:06 ? 00:00:00 syslogd -m 0
root 411 1 0 17:06 ? 00:00:01 klogd
nobody 425 1 0 17:06 ? 00:00:00 [identd]
nobody 428 425 0 17:06 ? 00:00:00 [identd]
A lista que ser exibida composta por dezenas de processos, estando aqui ilustra-
dos apenas os primeiros.
Sabendo ento que existem diversos processos em execuo, os mesmos devem ser
encerrados evitando desta forma uma eventual perda de dados.
Desligando corretamente o Console Linux
O comando utilizado para encerrar corretamente os processos o shutdown. Este
comando respeita a sintaxe:
shutdown [opes] [-t segundos] [mensagem de aviso]
28 Linux: Sistema Operacional II

Principais opes:
-k Apenas emite um aviso.
-r Faz o reboot aps o shutdown.
-h Pra o sistema aps o shutdown.
-f Faz um reboot rpido, pulando o fsck.
-F Fora a execuo do fsck.
-c Cancela um shutdown.
-t Intervalo entre o aviso e o incio do shutdown.
O parmetro t aceita a diretiva now (agora) sendo esta imperativa e efetuando o
shutdown de forma imediata.
Acompanhe um teste de shutdown com opo k:
[root@console /root]# shutdown -k now Isto eh soh um teste
Broadcast message from root (pts/2) Thu May 3 20:48:35 2001...
Isto eh soh um teste
The system is going down to maintenance mode NOW !!
Shutdown cancelled.
[root@console /root]#
Para desligar o sistema, a opo mais utilizada :
[root@console /root]# shutdown -h now Encerrando
Broadcast message from root (pts/2) Thu May 3 20:50:10 2001...
Encerrando
The system is going down for system halt NOW !!
[root@console /root]#
Observe que na tela aparecero diversas mensagens indicando o encerramento dos
processos e ao final a ltima mensagem ser Seu computador ja pode ser desli-
gado com segurana.
O que a mensagem Broadcast message from root. Em sistemas multiusu-
rios, uma mesma mquina pode ser utilizada simultaneamente por diversos usu-
Interface 29

rios atravs de terminais ou sistemas emuladores. Quando uma sesso remota
aberta, vrios processos so iniciados para atender a conexo daquele usurio.
Quando o shutdown iniciado, uma mensagem enviada a todos os usurios co-
nectados (broadcast) alertando para o fato de que o sistema ficar indisponvel. Se
o shutdown for radical como o shutdown t now, o usurio saber do fato mas no
ter tempo de fechar seus trabalhos e fazer a desconexo, por isso prefira utilizar o
shutdown t. Assim, um aviso ser emitido em broadcast informando que o usurio
tem um minuto para fechar sua sesso.
Regras gerais para ambientes Unix
Caixa alta X caixa baixa (case sensitive)
Letras maisculas e minsculas so tratadas como caracteres diferentes pelos sis-
temas Unix, isto chamado de case sensitive. Portanto, ao emitir comandos e suas
opes, flags ou diretivas, fique atento quanto s letras serem minsculas ou mai-
sculas. Por exemplo, um comando para limpar os caracteres da tela deve ser:
clear
Se for digitado algo diferente veja o que ocorre:
Clear
bash: Clear: command not found
O Shell avisa que Clear um comando no encontrado.
Poderes do root
A conta do usurio root, tambm chamado superusurio, poderosa o suficiente
para danificar uma instalao Linux a partir de um nico comando. Sistemas Unix
partem do pressuposto de que o usurio root sabe o que est fazendo e nem sempre
avisa ou impede aes executadas por ele que possam causar danos ao sistema.
Portanto cuidado!
Configuraes
Se voc est acostumado a operar apenas com cliques de mouse, sentir o Shell do
Linux um pouco hostil no incio de sua utilizao. Todas as configuraes necess-
rias so armazenadas em simples arquivos do tipo texto que esto em sua maioria
no /etc. Portanto, comearemos nosso estudo fazendo um passeio pelos diretrios
(pastas) disponveis de forma a conhecer melhor onde esto os arquivos mais im-
portantes do sistema.
30

As configuraes dos sistemas Unix so geralmente mantidas em arquivos texto
dentro do /etc. Faa o login como superusurio e execute os comandos:
[root@Console /root]# cd /etc
O comando cd (change dir), seguido do caminho (path) leva o prompt para outro diretrio,
neste caso /etc.
[root@Console /etc]# ls *.conf
O comando ls (list structure), seguido do parmetro adequado lista o contedo de um dire-
trio, neste caso *.conf, fora a filtragem do contedo, exibindo apenas arquivos que te-
nham a extenso conf.

O resultado obtido consiste na listagem dos arquivos que atendem o filtro *.conf.
[root@Console /etc]#
Os mais de 20 arquivos listados servem de configurao para diversos servios do
Linux. Vamos verificar o contedo de apenas um deles. Execute o comando:
Configurao do Linux 31

[root@Console /etc]# cat lilo.conf
O comando cat (catalog) seguido de um nome de arquivo faz exibir o contedo deste arquivo.
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux
image=/boot/vmlinuz-2.2.14-5.0
label=linux
read-only
root=/dev/hda1
Note que o contedo do arquivo lilo.conf somente texto composto por parmetros e seus
valores.
[root@Console /etc]#
O que cada arquivo configura
Utilize a listagem documentada aqui como referncia para identificar em qual ar-
quivo procurar os ajustes necessrios ao ambiente do Linux.
Arquivo Descrio
cdrecord.conf Configurao para gravador de CD informando modelo,
velocidade de gravao. Contm os padres utilizados na linha
de comando se nenhum parmetro for informado.
inetd.conf Este arquivo descreve os servios que esto disponveis atravs
do servidor INETD TCP/IP. Para configurar e executar o
INETD edite este arquivo e envie um sinal SIGHUP para
reiniciar os servios.
initlog.conf Define como ser o arquivo com a log (histrico) da
inicializao do Linux. As configuraes deste arquivo tm
precedncia aos comandos emitidos no prompt.
32 Linux: Sistema Operacional II

Arquivo Descrio
lilo.conf Configura a carga do sistema operacional.
logrotate.conf Define uma rotatividade para a log do sistema e controla os
parmetros funcionais desta log (mensagens de erro, utilizao
de compactao, etc).
mtools.conf Define as atribuies para as unidades de disco utilizadas em
ambiente de alguns emuladores.
named.conf Estabelece os padro do servidor de nomes named.
nscd.conf Configura o cache do servidor de nomes (Name Service Cache).
nsswitch.conf Name Service Switch. Este arquivo deve ser classif icado pelos
servios mais utilizados no comeo do mesmo.
A entrada '[NOTFOUND=return]' significa que a procura por
uma entrada deve parar se a procura por uma entrada anterior
no retornar nada.
pbm2ppa.conf Exemplos de configurao para impressoras HP.
phhttpd.conf Cabealho exemplo para tags xml.
pine.conf Configura o leitor de mail e news estabelecendo todos seus
aspectos funcionais.
pnm2ppa.conf Outro exemplo de configurao para impressoras HP.
rpmfind.conf Configurao dos locais onde os pacotes RPM podem obter
dados e como eles devem rodar no ambiente Linux.
smb.conf Principal arquivo para configurao do samba, que permite o
compartilhamento de recursos do Linux para uma rede ponto a
ponto.
sysctl.conf Controla o funcionamento de envio de pacotes em uma rede
local, habilitando ou no opes de roteamento.
syslog.conf Define como e onde as mensagens emitidas pelo kernel sero
registradas no sistema.
yp.conf Configura o funcionamento do NISDOMAIN.
ypserv.conf Configura as principais funes do NIS server.
Configurao do Linux 33

Arquivo /etc/passwd
Outros tipos de arquivos de configurao do ambiente Linux que esto no /etc
guardam um dos segredos mais preciosos deste sistema. Trata-se do arquivo
passwd. Este arquivo concentra todos os nomes de usurios vlidos para acesso ao
Linux. Vamos verificar a estrutura deste arquivo:
[root@Console /etc]# cat passwd
Estamos utilizando novamente o comando cat para exibir o contedo de um arquivo, o
passwd.
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
lp:x:4:7:lp:/var/spool/lpd:
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/var/spool/news:
uucp:x:10:14:uucp:/var/spool/uucp:
operator:x:11:0:operator:/root:
games:x:12:100:games:/usr/games:
gopher:x:13:30:gopher:/usr/lib/gopher-data:
ftp:x:14:50:FTP User:/home/ftp:
nobody:x:99:99:Nobody:/:
xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false
gdm:x:42:42::/home/gdm:/bin/bash
Garcia:x:500:500:Marcus Garcia:/home/Garcia:/bin/bash
Note a especificao da estrutura do nosso arquivo pelo nosso usurio exemplo Garcia:
Garcia:x:500:500:Marcus Garcia:/home/Garcia:/bin/bash
1234567

34 Linux: Sistema Operacional II

1: indica o nome do usurio.
2: indica que esta conta possui uma senha e a mesma est criptografada.
3: indica o cdigo deste usurio (user id).
4: indica o cdigo do grupo deste usurio (group id).
5: nome completo (full name) do usurio.
6: caminho completo (path) da pasta do usurio. Tambm chamada de home directory.
7: shell que ser carregado aps o login.
named:x:25:25:Named:/var/named:/bin/false
piranha:x:60:60::/home/httpd/html/piranha:/dev/null
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
pvm:x:24:24::/usr/share/pvm3:/bin/bash
squid:x:23:23::/var/spool/squid:/dev/null
[root@Console /etc]#
Arquivo /etc/group
[root@Console /etc]# cat group
Vemos agora o contedo do arquivo group do /etc. No arquivo passwd vimos referncia ao
grupo ao qual o usurio pertence. Os grupos esto referenciados e descritos no arquivo group.
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root ,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root
1234
wheel:x:10:root

Configurao do Linux 35

1. indica o nome do grupo
2: indica que este grupo possui uma senha criptografada.
3: indica o cdigo deste grupo (group id).
4: nome dos usurios que pertencem ao grupo.
mail:x:12:mail
news:x:13:news
uucp:x:14:uucp
man:x:15:
games:x:20:
gopher:x:30:
dip:x:40:
ftp:x:50:
nobody:x:99:
users:x:100:
floppy:x:19:
utmp:x:22:
xfs:x:43:
console:x:31:
gdm:x:42:
pppusers:x:44:
popusers:x:45:
slipusers:x:46:
slocate:x:21:
Garcia:x:500:
named:x:25:
piranha:x:60:
postgres:x:26:
pvm:x:24:
squid:x:23:
[root@Console /etc]#
Configuraes para acesso remoto
Entender sistemas Unix e o Linux em particular, implica em entender o conjunto de
protocolos TCP/IP. Todas as operaes de conectividade se do, apesar de no ex-
clusivamente, atravs destes protocolos. Podemos ter uma mquina Linux comuni-
36 Linux: Sistema Operacional II

cando-se com sistemas Windows e Netware nos protocolos NetBEUI e IPX sem
qualquer problema, mas isto no comum. Vamos ento verificar alguns arquivos
do /etc que definem configuraes de alguns aspectos do ftp que faz parte do
TCP/IP.
Arquivo /etc/ftpaccess
Arquivo Descrio
ftpaccess Configura o comportamento do servidor FTP no Linux. Que
classes de usurios podem acessar, quantas tentativas de
conexo, mensagens de boas vindas e de aviso so alguns dos
parmetros configurveis aqui.
[root@Console /etc]# cat ftpaccess
1 class all real,guest,anonymous *
2 email root@localhost
3 loginfails 5
4 readme README* login
5 readme README* cwd=*
6 message /welcome.msg login
7 message .message cwd=*
8 compress yes all
9 tar yes all
10 chmod no guest,anonymous
11 delete no guest,anonymous
12 overwrite no guest,anonymous
13 rename no guest,anonymous
14 log transfers anonymous,real inbound,outbound
15 shutdown /etc/shutmsg
16 passwd-check rfc822 warn
[root@Console /etc]#
Existem diversos aspectos interessantes neste arquivo de configurao que podem
ser testados diretamente em seu computador com o Linux.
Qualquer alterao que seja feita neste arquivo de configurao passa a valer ime-
diatamente aps ser salva.
Configurao do Linux 37

Para alterar as configuraes deve-se utilizar um editor de textos. Em nosso exem-
plo utilizaremos o pico, muito mais fcil que o vi e mais interativo tambm, ideal
para interface texto.
A numerao de linhas exibida esquerda no existe no arquivo original. Ela foi utilizada
aqui apenas para facilitar a explicao das configuraes.
Utilizando o editor de textos pico
Digite o comando a seguir para carregar o pico:
[root@Console /etc]# pico ftpaccess
A interface do pico simples de entender:
Utilize as setas para movimentar o cursor e faa a digitao direta como em qual-
quer editor de textos.
Os comandos so acionados com a tecla Ctrl combinada com letras. Por exemplo,
Ctrl + X encerra o pico salvando as alteraes, Ctrl + G exibe uma tela de ajuda,
Ctrl + V avana uma pgina e Ctrl + Yretorna uma pgina e assim por diante.
Verifique todos os comandos disponveis acionando o help com a combinao de
teclas Ctrl + G.
1
2
3

Figura 3.1
38 Linux: Sistema Operacional II

Ao abrir o arquivo, sua interface fica dividida nas trs partes indicadas na figura
3.1 e a seguir descritas:
1 Nome e verso do editor e o arquivo que est carregado.
2 O contedo do arquivo que est carregado.
3 Um help rpido com os principais comandos.
Entendendo cada linha do / etc/ ftpaccess
Agora que voc j conhece um pouco do pico, carregue o arquivo ftpaccess e va-
mos verificar o que suas configuraes indicam.
Linha Descrio
1 Todas as classes de usurios que pertencerem aos grupos indicados po-
dem acessar o servio de ftp.
2 Ocorrncias sero enviadas para o e-mail indicado aqui.
3 Quantidade de logins mal sucedidos no ftp at que a conexo seja encer-
rada. Um login mal sucedido pode ser causado por um usurio inexistente
(no registrado no sistema) ou por uma senha incorreta.
4 7 Arquivos e tipos das mensagens que sero enviadas ao usurio que utiliza
o servio de ftp.
8 13 Funes e comandos do sistema operacional que esto disponveis e
quem pode utilizar cada um.
14 Local onde a descrio das ocorrncias com a conexo ftp so armazena-
das. Isto permite uma auditoria rpida do que est ocorrendo com o ser-
vidor.
15 Arquivo com a mensagem a ser exibida em caso de problemas com o ser-
vio ftp e outras ocorrncias.
16 Como a senha verificada e que aviso deve ser emitido ao usurio.
Alterando e testando / etc/ ftpaccess
Verifique se o servio ftp est ativado:
[root@Console Garcia]# ftp localhost
ftp localhost aciona o servio ftp no computador Linux local.
Configurao do Linux 39

Connected to Console.
220 Console FTP server (Version wu-2.6.0(1) Mon Feb 28 10:30:36 EST 2000) ready.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Informe o nome do usurio criado no processo da instalao. No utilize superusurio
(root), o sistema no permitir acesso ftp com este usurio.
Name (localhost:Garcia): Garcia
331 Password required for Garcia.
Password:
230 User Garcia logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
O prompt indica que voc est conectado. Digite o comando quit do ftp para voltar ao Shell.
ftp>quit
[root@Console Garcia]#
A seqncia anterior estabelece a conexo com o usurio padro criado em seu sis-
tema.
Utilizando o pico edite o arquivo ftpaccess do /etc.
[root@Console /etc]# pico ftpaccess
Delete na primeira linha a palavra real e salve o arquivo. Ao emitir o comando Ctrl
+ X para sair, o pico pergunta:
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?
Salvar as alteraes efetuadas? (Respondendo No as mudanas sero perdidas).
Responda Yes para salvar. O pico perguntar o nome do arquivo. Simplesmente
tecle ENTER.
A palavra chave real habilita o ftp a aceitar usurios efetivamente cadastrados no
Linux e que no sejam o superusurio. A sua excluso dever impedir que usurios
cadastrados faam conexo FTP.
Agora tente novamente efetuar a conexo com aquele usurio.
40 Linux: Sistema Operacional II

[root@Console /etc]# ftp localhost
Connected to Console.
220 Console FTP server (Version wu-2.6.0(1) Mon Feb 28 10:30:36 EST 2000) ready.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:Garcia): Garcia
331 Password required for Garcia.
O processo evolui normalmente at o momento da conexo. Neste ponto, porm o Linuxa
rejeita, pois agora o ftpaccess estabelece que apenas usurios guest e anonymous podero
se conectar.
Password:
530 Login incorrect.
Login failed.
ftp> quit
221 Goodbye.
[root@Console /etc]#
Tente agora um ftp atravs do usurio anonymous. Este usurio no existe efeti-
vamente no Linux. apenas uma identificao especial para acesso restrito ao Li-
nux via ftp.
[root@Console /etc]# ftp localhost
Connected to Console.
220 Console FTP server (Version wu-2.6.0(1) Mon Feb 28 10:30:36 EST 2000) ready.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:Garcia): anonymous
331 Guest login ok, send your complete e-mail address as password.
O ftp avisa que a senha para o convidado o seu e-mail completo.
Password:
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
Configurao do Linux 41

Depois de encerrar o ftp ele avisa quantos bytes foram transferidos durante a sesso.
221-You have transferred 0 bytes in 0 files.
221-Total traffic for this session was 403 bytes in 0 transfers.
221-Thank you for using the FTP service on Console.
221 Goodbye.
[root@Console /etc]#
O nmero que precede cada mensagem emitida pelo ftp padronizado. Todo servi-
dor ftp envia ao cliente estes nmeros.
Edite novamente o arquivo ftpaccess e insira novamente a palavra real. Salve as
alteraes.
[root@Console /etc]# pico ftpaccess
Arquivo /etc/ftpusers
Este arquivo contm uma lista dos usurios que NO podem acessar o sistema via
ftp. O seu contedo padro envolve os usurios: root, bin, daemon, adm, lp, sync,
shutdown, halt, mail, news, uucp, operator, games e nobody.
Utilizando a mesma tcnica anterior (/etc/ftpaccess) faa o seguinte teste com o seu
usurio criado na instalao. Inclua este usurio na lista do /etc/ftpuser e tente aces-
sar o ftp com este usurio. Observe que a mensagem emitida pelo Linux ser:
530 Login incorrect.
Login failed.
42

Navegar pelas pastas requer o entendimento de como o sistema de arquivos do Li-
nux organizado.
Durante o processo da instalao, verificamos que um device pode conter um ou
mais pontos de montagem (mount point) e que o principal mount point o /, tam-
bm chamado de raiz, pois a partir dele que o acesso a todos os arquivos existen-
tes possvel. Diferente dos pontos de montagem, que associam uma estrutura de
pastas a um device, a estrutura que os usurios podem criar dentro de cada mount
point completamente livre.
Para trabalhar com a criao de novas pastas e fazer a navegao por elas existem
os comandos que veremos a seguir.
Organizando dados e programas
A hierarquia das pastas permite organizar adequadamente os arquivos e programas
dentro do sistema de arquivos do Linux. Uma organizao padro criada quando
da instalao do Linux, conforme j verificamos durante o processo de instalao.
Comandos de Navegao pelas Pastas 43


Figura 4.1 Organizao padro das pastas no Linux
O usurio poder organizar seus dados e programas partindo do seu diretrio que
est localizado no /home/[nome do usurio]. Desta forma o usurio Garcia teria seu
diretrio localizado em /home/Garcia. O diretrio do usurio chamado simples-
mente de home.
Observe pela figura 4.2 que este usurio tem abaixo de sua pasta uma pasta chama-
da .kde e outra chamada Desktop.
Partindo do diretrio home do seu usurio padro, vamos navegar pelas pastas. Fa-
a o login com o seu usurio e note que utilizaremos a conta comum e no a de su-
perusurio.
[Garcia@Console Garcia]$ cd
O comando cd (change dir) emitido sem parmetros posiciona o foco do Shell no diretrio
home do usurio.
[Garcia@Console Garcia]$ pwd
44 Linux: Sistema Operacional II


Figura 4.2 Diretrio home do usurio Garcia
O comando pwd (print which directory) simplesmente imprime o caminho completo (full
path) da pasta na qual o Shell est com o foco.
/home/Garcia
[Garcia@Console Garcia]$
Para alternar de pastas pode-se utilizar o caminho absoluto (full path) ou o caminho
relativo, que parte da pasta onde est o foco atualmente. Por exemplo, consideran-
do que o foco do Shell /home/Garcia, para navegar at o /home/ftp existem duas
formas: utilizando o caminho absoluto ou utilizando o caminho relativo.
Utilizando o caminho absoluto
[Garcia@Console Garcia]$ pwd
/home/Garcia
[Garcia@Console Garcia]$ cd /home/ftp
Aqui foi utilizado o full path.
Comandos de Navegao pelas Pastas 45

[Garcia@Console ftp]$ pwd
/home/ftp
[Garcia@Console ftp]$
[Garcia@Console ftp]$ cd
[Garcia@Console Garcia]$ pwd
/home/Garcia
Utilizando o caminho relativo
[Garcia@Console Garcia]$ pwd
/home/Garcia
[Garcia@Console Garcia]$ cd ../ftp
Aqui foi utilizado o caminho relativo.
[Garcia@Console ftp]$ pwd
/home/ftp
[Garcia@Console ftp]$
Criando uma nova pasta
Para criar uma nova pasta utiliza-se o comando mkdir (make dir). Posicione o foco
do Shell no diretrio home do seu usurio e faa:
[Garcia@Console Garcia]$ pwd
/home/Garcia
[Garcia@Console Garcia]$ mkdir documentos
[Garcia@Console Garcia]$ mkdir planilhas
O mkdir utilizado para criar os diretrios documentos e planilhas a partir do diretrio Gar-
cia.
[Garcia@Console Garcia]$ ls
Comando ls (list structure) mostra os diretrios criados com mkdir.
documentos planilhas
[Garcia@Console Garcia]$
46 Linux: Sistema Operacional II

Continuando deste ponto navegue para documentos.
[Garcia@Console Garcia]$ pwd
/home/Garcia
[Garcia@Console Garcia]$ cd documentos
Novamente utilizando o caminho relativo. O foco j est em /home/Garcia, portanto basta
informar com o comando cd a pasta deste nvel que deseja acessar. Note que a indicao do
prompt refere-se sempre pasta de ltimo nvel, neste caso documentos.
[Garcia@Console documentos]$ pwd
/home/Garcia/documentos
[Garcia@Console documentos]$
Removendo uma pasta
Similar ao apagamento de um arquivo, a remoo de diretrios utiliza apenas um
comando especfico para isto: rmdir (remove dir). Veja a seqncia de comandos:
[Garcia@Console Garcia]$ pwd
/home/Garcia
[Garcia@Console Garcia]$ ls
documentos planilhas
[Garcia@Console Garcia]$ rmdir documentos
[Garcia@Console Garcia]$ ls
planilhas
[Garcia@Console Garcia]$
A pasta documentos foi removida da estrutura de pastas do /home/Garcia.
Removendo uma pasta recursivamente
Este um daqueles comandos perigosos. Freqentemente necessrio remover no
apenas uma pasta, mas tambm todo o seu contedo, seja ela outra pasta ou arqui-
vo. O comando rm com o parmetro adequado permite isto com bastante conforto,
pois pode com um nico comando apagar a pasta e tudo que estiver dentro dela.
Vamos verificar esta facilidade utilizando a pasta planilhas criada no item anterior.
Vamos copiar para esta pasta alguns arquivos e depois vamos fazer comandos de
remoo para constatar seu funcionamento.
Comandos de Navegao pelas Pastas 47

Copiando arquivos para uma pasta
Faa o login como superusurio, posicione o Shell no diretrio home do seu usu-
rio padro e depois para a pasta planilhas:
[root@Console /root]# cd /home/Garcia
[root@Console Garcia]# cd planilhas
[root@Console planilhas]# pwd
/home/Garcia/planilhas
[root@Console planilhas]#
Agora vamos copiar do /etc todos os arquivos que tenham a extenso .conf:
[root@Console planilhas]# cp /etc/*.conf .
Utilizamos o comando cp (copy) informando o full path e o diretrio destino indicado
simplesmente pelo ponto. Neste contexto o ponto representa o diretrio atual
(/home/Garcia/planilhas) que ser o destino da cpia dos arquivos.
[root@Console planilhas]# ls
O comando ls nos permite confirmar que a cpia foi efetuada com sucesso ao exibir a lista
dos arquivos copiados.
amd.conf isapnp.conf mtftpd.conf phhttpd.conf
sysctl.conf cdrecord.conf krb5.conf mtools.conf
pine.conf syslog.conf esd.conf ld.so.conf
named.conf pnm2ppa.conf up2date.conf gpm-root.conf
ldap.conf nscd.conf pwdb.conf yp.conf
host.conf lilo.conf nsswitch.conf pxe.conf
ypserv.conf identd.conf logrotate.conf ntp.conf
resolv.conf inetd.conf ltrace.conf nwserv.conf
rpmfind.conf initlog.conf mesa.conf pbm2ppa.conf
smb.conf
[root@Console planilhas]#
48 Linux: Sistema Operacional II

Tentando remover com rm
Posicione agora o foco de Shell para o home do seu usurio padro e vamos verif i-
car os comandos rm:
[root@Console planilhas]# pwd
/home/Garcia/planilhas
[root@Console planilhas]# cd ..
O comando cd com o caminho relativo .. (ponto ponto) indica o nvel imediatamente acima
do atual.
[root@Console Garcia]# pwd
/home/Garcia
[root@Console Garcia]# rm planilhas
Emitimos o comando rm informando o nome do diretrio que desejamos remover. O Shell
responde informando que planilhas um diretrio e nada acontece. Esta uma segurana!
rm: planilhas: is a directory
[root@Console Garcia]#
Removendo com rm r
Vamos utilizar um parmetro adicional no comando rm:
[root@Console Garcia]# rm -r planilhas
O parmetro -r (recursive), indica a inteno do usurio. O Shell pedir a confirmao para
cada arquivo ou pasta que estiver na pasta planilhas.
rm: descend into directory planilhas? y
Confirme todos eles respondendo y (yes) em cada um.
rm: remove `planilhas/amd.conf'? y
rm: remove `planilhas/cdrecord.conf'? y
rm: remove `planilhas/esd.conf'? y
rm: remove `planilhas/gpm-root.conf'?
...
Comandos de Navegao pelas Pastas 49

rm: remove `planilhas/syslog.conf'? y
rm: remove `planilhas/up2date.conf'? y
rm: remove `planilhas/yp.conf'? y
rm: remove `planilhas/ypserv.conf'? y
rm: remove directory `planilhas'? y
Note agora que somente depois de remover todo o contedo de planilhas que o rm pede a
confirmao para remover o prprio diretrio planilhas.
[root@Console Garcia]#
Removendo com r f
Confirmar individualmente ser muito demorado se a pasta contiver centenas de
arquivos. Para evitar isto utilizamos o parmetro adicional f. Vamos ento criar
novamente a pasta planilhas, copiar os arquivos para l e testar este comando com
o novo parmetro. Agora CUIDADO! Este parmetro inibe a segurana e ao teclar
<ENTER> tudo imediatamente removido sem que nenhuma confirmao seja
solicitada:
[root@Console Garcia]# pwd
Verifique que o foco do Shell esteja no home do seu usurio padro.
/home/Garcia
[root@Console Garcia]# mkdir planilhas
Criando a pasta com mkdir.
[root@Console Garcia]# cd planilhas
Navegando para a pasta com cd utilizando o caminho relativo.
[root@Console planilhas]# cp /etc/*.conf .
Copiando os arquivos com cp. Note o caminho absoluto para a origem dos arquivos do /etc
e o caminho relativo para o destino . (ponto).
[root@Console planilhas]# ls
amd.conf isapnp.conf mtftpd.conf phhttpd.conf
sysctl.conf cdrecord.conf krb5.conf mtools.conf
50 Linux: Sistema Operacional II

pine.conf syslog.conf esd.conf ld.so.conf
named.conf pnm2ppa.conf up2date.conf gpm-root.conf
ldap.conf nscd.conf pwdb.conf yp.conf
host.conf lilo.conf nsswitch.conf pxe.conf
ypserv.conf identd.conf logrotate.conf ntp.conf
resolv.conf inetd.conf ltrace.conf nwserv.conf
rpmfind.conf initlog.conf mesa.conf pbm2ppa.conf
smb.conf
[root@Console planilhas]# cd ..
Navegando para o nvel acima.
[root@Console Garcia]# rm -r -f planilhas
Emitindo o comando rm com os parmetros r (recursive) e f (force).
[root@Console Garcia]# ls
Verificando agora o que sobrou no home.
[root@Console Garcia]#
O diretrio est vazio. A pasta planilhas e todo seu contedo foram removidos sem que
nenhum aviso ou pedido de confirmao fosse emitido pelo Shell.
Verificando contedo da pasta
J utilizamos o ls para verificar o contedo das pastas. Vamos conhecer outros as-
pectos deste comando com alguns parmetros.
ls
Listagem simples do contedo da pasta.
[root@Console Garcia]# mkdir planilhas
[root@Console Garcia]# mkdir Desktop
[root@Console Garcia]# ls
Desktop planilhas
[root@Console Garcia]#
Comandos de Navegao pelas Pastas 51

ls l
Lista longa do contedo da pasta, exibindo detalhes como permisses, dono, grupo,
espao que ocupa, data e hora da criao e nome.
[root@Console Garcia]# ls -l
total 8
drwxr-xr-x 5 Garcia Garcia 4096 Aug 3 17:22 Desktop
drwxrwxr-x 2 root root 4096 Aug 3 17:22 planilhas
[root@Console Garcia]#
ls la
[root@Console Garcia]# ls la
O parmetro l faz uma listagem longa (long) e o parmetro a exibe todos os arquivos (all),
no ocultando os que comeam com ponto.

A numerao que aparece esquerda no gerada pelo comando ls e foi inserida para faci-
litar a explicao.
52 Linux: Sistema Operacional II

Linha Descrio
1 Total de ligaes listadas
2 Diretrio atual (/home/Garcia)
3 Diretrio acima (/home)
4 14 Arquivos iniciados por ponto
15 Diretrio Desktop
16 Diretrio planilhas
17 Arquivo x
[root@Console Garcia]#
Analisando a composio da listagem longa
Vrias informaes esto associadas a uma listagem longa. Vamos interpretar:
123456

1 Permisses no formato drwxr-xr-x indicando ser um diretrio
2 Nome do dono deste diretrio
3 Nome do grupo do qual o dono do arquivo faz parte
4 Tamanho da entrada em bytes
5 Data e hora da criao do arquivo
6 Nome do diretrio
1 Estrutura das permisses
A estrutura de permisses para os sistemas Unix muito interessante. Com ela o
sistema tem total controle sobre o acesso a cada arquivo armazenado. Vamos ver
como isto funciona.
Cada um dos arquivos e diretrios Unix tem sua estrutura bsica assim composta:
Comandos de Navegao pelas Pastas 53

d
0
rwx
421
rwx
421
rwx
421

A letra d na posio 0 indica que se trata de um diretrio. Quando for um arquivo
aparece um trao e quando for link aparece a letra l.
Nas posies 4, 2 e 1 de cada conjunto de permisses, estaro sempre as letras r, w
e x ou simplesmente traos em seu lugar. Estas letras ou o trao indicam se
determinado arquivo tem permisso para ser lido (read), escrito (write) ou
executado (execute) ou no (quando ao invs da letra aparece um trao em seu
lugar).
O primeiro conjunto controla estas caractersticas para o dono do arquivo, as pos i-
es no segundo conjunto fazem o mesmo para o grupo de usurios que participam
do mesmo grupo do dono e o terceiro para outros usurios (que no pertenam ao
grupo nem sejam o dono do arquivo).
-
d
l
dono
(owner)
grupo
(group)
outros
(other)
d
0
rwx
421
rwx
421
rwx
421

Os valores atribudos para cada posio dos conjuntos dono, grupo e outros, permi-
tem formar um valor para cada posio que, depois de combinadas, definem uma
seqncia numrica nica para qualquer permisso que se deseje aplicar. Observe
este exemplo:
Criar um diretrio de nome documentos que possa ser integralmente manipulado
pelo seu dono, somente lido pelos usurios do mesmo grupo de seu dono e que ou-
tros usurios no tenham acesso algum.
drwxr----- 5 Garcia Garcia 4096 Aug 3 19:14 documentos
Fazendo a combinao numrica descrita teremos:
54 Linux: Sistema Operacional II

dir
dono
(owner)
grupo
(group)
outros
(other)
d rwx r - - - - -
0 4+2+1 4+0+0 0+0+0
0 7 4 0

Como ser um diretrio, a primeira letra ser d.
Como o dono ter acesso total, as trs letras rwx devem estar ligadas, portanto as
suas posies tero os valores 4, 2 e 1.
Como os usurios do grupo podero apenas ler, ento apenas o r estar ligado,
portanto as suas posies tero os valores 4, 0 e 0.
Finalmente outros usurios no tero acesso e, portanto, as suas posies r, w e x
esto desligadas e tero os valores 0, 0 e 0.
Combinando os valores teremos uma permisso numericamente representada por
740.
Alterando permisses
Acompanhe na listagem a seguir a seqncia de comandos para aplicar este exemplo.
Primeiro faa o login e posicione-se no diretrio home.
A partir deste ponto sempre que for necessrio conectar-se ao Shell do Linuxe fazer o login
com o usurio ordinrio (nos exemplos aqui do livro aparecem como Garcia) criado no
processo de instalao do Console Linux 1.0 visto na Unidade 1 deste livro, isto ser refe-
renciado apenas desta forma.
Comandos de Navegao pelas Pastas 55

Utilize os comandos cd e pwd para posicionar o foco e verificar o diretrio home
alm do diretrio documentos e sua descrio.
Utilize o comando chmod (change mode), alterar modo, para mudar as permisses.
[root@console Garcia]# pwd
/home/Garcia
[root@console Garcia]# mkdir documentos
[root@console Garcia]# ls -l
total 12
drwxr-xr-x 5 Garcia Garcia 4096 abr 29 11:07 Desktop
drwxrwxr-x 2 root root 4096 mai 3 21:04 documentos
-rw-r--r-- 1 Garcia Garcia 737 mai 3 17:19 smb.conf
[root@console Garcia]# chmod 740 documentos
[root@console Garcia]# ls -l
total 12
drwxr-xr-x 5 Garcia Garcia 4096 abr 29 11:07 Desktop
drwxr----- 2 root root 4096 mai 3 21:04 documentos
-rw-r--r-- 1 Garcia Garcia 737 mai 3 17:19 smb.conf
[root@console Garcia]#
A listagem final confirma as permisses atribudas ao diretrio documentos.
Note que depois do comando chmod com o parmetro 740, a permisso de docu-
mentos foi modificada para drwxr- - -.
2 Total de links e nome do dono do arquivo
Um link uma ligao simblica que os sistemas Unix implementam para indicar a
posio lgica de um arquivo dentro do sistema de arquivos.
Um arquivo tem pelo menos um link que aponta para o diretrio onde ele
est.
Um diretrio tem pelo menos dois links, aquele que aponta para o diretrio
onde ele est e aquele que aponta para um nvel abaixo dele.
O nome do dono de um arquivo diz respeito ao usurio que o criou. Na listagem
abaixo o diretrio documentos foi criado pelo usurio Garcia.
[root@Console Garcia]# ls -l
56 Linux: Sistema Operacional II

total 12
drwxr----- 2 root root 4096 mai 3 21:04 documentos
[root@Console Garcia]#
Alterando o dono
Para alterar o dono de um arquivo ou diretrio utilize o comando chown (change
owner), mudar dono.
Na seqncia de comandos a seguir apresentada faz-se a verificao do dono com a
listagem do ls l e a seguir altera-se o dono com chown. Para confirmar, uma nova
listagem feita com o ls -l.
[root@console Garcia]# chown Garcia documentos
[root@console Garcia]# ls -l
total 12
drwxr-xr-x 5 Garcia Garcia 4096 abr 29 11:07 Desktop
drwxr----- 2 Garcia root 4096 mai 3 21:04 documentos
-rw-r--r-- 1 Garcia Garcia 737 mai 3 17:19 smb.conf
[root@console Garcia]#
3 Nome do grupo deste arquivo
O nome do grupo de um arquivo diz respeito ao grupo ao qual pertence o usurio
que o criou. Na prxima listagem o diretrio documentos foi criado por um usu-
rio do grupo Garcia.
[root@Console Garcia]# ls -l
total 12
drwxr----- 2 Garcia root 4096 mai 3 21:04 documentos
[root@Console Garcia]#
Alterando grupo
Para alterar o grupo de um arquivo ou diretrio utilize o comando chgrp (change
group), mudar grupo.
Na seqncia de comandos a seguir apresentada faz-se a verificao do grupo com
a listagem do ls l e a seguir altera-se o grupo com chgrp. Para confirmar uma no-
va listagem feita com o ls -l.
Comandos de Navegao pelas Pastas 57

[root@console Garcia]# chgrp Garcia documentos
[root@console Garcia]# ls -l
total 12
drwxr-xr-x 5 Garcia Garcia 4096 abr 29 11:07 Desktop
drwxr----- 2 Garcia Garcia 4096 mai 3 21:04 documentos
-rw-r--r-- 1 Garcia Garcia 737 mai 3 17:19 smb.conf
[root@console Garcia]#
4 Total de bytes alocados para o arquivo
Ao criar um diretrio, o Linux reservar para ele pelo menos 4096 bytes que o
tamanho padro de uma unidade de alocao de dados. Para um arquivo o espao
alocado ser igual ao seu contedo. Desta forma, se na listagem aparecerem 15
bytes alocados para um arquivo, este o espao efetivamente ocupado por ele.
5 Data e hora de sua criao
Marca o momento exato no qual o arquivo ou diretrio foi criado. Esta informao
derivada do relgio da mquina, se o mesmo estiver errado, a informao gravada
tambm estar.
Na prxima seqncia de comandos o foco do Shell posicionado no diretrio do-
cumentos e seu contedo verificado. O comando date utilizado para mostrar data
e hora do sistema. Um arquivo ento criado utilizando o comando cat > teste
com o contedo 0123456789 e gravado com Ctrl+ D. Um novo ls mostra o arqui-
vo de 11 bytes criado em 3 de maio as 21:13.
[root@console Garcia]# cd documentos
[root@console documentos]# date
qui mai 3 21:12:27 BRT 2001
[root@console documentos]# ls -l
total 0
[root@console documentos]# cat > teste
0123456789
[root@console documentos]# ls -l
total 4
-rw-rw-r-- 1 root root 11 mai 3 21:13 teste
[root@console documentos]#
58 Linux: Sistema Operacional II

Talvez voc esteja se perguntando: Porque 11 bytes se foram digitados apenas 10
caracteres? Por que o caractere especial de marcao de fim de arquivo, chamado
EOF (End Of File), apesar de no ser exibido, est l, indicando onde o arquivo
termina.
Alterando data e hora no Linux
Sendo necessrio efetuar ajuste na data e hora do Linux, o mesmo comando date
pode ser utilizado, porm informando os parmetros MMDDHHMM, ou seja, ms,
dia, hora e minutos. Acompanhe os comandos e verifique o resultado:
[root@Console Garcia]# date
Fri Aug 4 16:25:01 AMT 2000
[root@Console Garcia]# date 12311435
A data alterada para 31 de dezembro s 14:35
Sun Dec 31 14:35:00 AMT 2000
[root@Console Garcia]#
Retorne agora a data e hora para os valores corretos.
6 Nome do arquivo
O nome do arquivo permite o acesso a ele e suas referncias.
Deve-se utilizar apenas letras e nmeros na formao de nomes de arqui-
vos e diretrios.
Caracteres acentuados e de controle devem ser evitados.
Nomes longos (com mais de oito caracteres) podem ser utilizados, mas o
espao em branco no permitido. Para contornar isto, se utiliza ponto ou
sublinhado para compor o nome longo, por exemplo, nome_do_arquivo ou
nome.do.arquivo pode ser utilizado sem problemas.
59

Pode-se dizer que o Linux um Unix. Por ser um Unix ele segue o padro POSIX
e seguindo este padro ele funcionalmente compatvel com todos os Unix que
existem e vice-versa.
Veja o artigo detalhado sobre Sistemas Operacionais no seguinte endereo:
http://www.console.com.br/?doc=/editorial/ntvsunix/.
Compatibilidade funcional
Isto no quer dizer que um programa escrito para rodar em Linux vai funcionar exa-
tamente como est se for instalado no SCO Unix (Unix para plataforma x86 produzi-
do pela Santa Cruz Operations) ou no AIX (Unix da IBM). Para isto ele deve ser re-
compilado para aquela plataforma, pois no existe compatibilidade binria.
Compatibilidade binria
Este tipo de compatibilidade se verifica quando um programa puder ser instalado
em vrios sistemas sem qualquer alterao. o que ocorre com alguns programas
escritos para rodar em Windows 98 e que tambm funcionam bem no Windows NT
ou no Windows 2000.
60 Linux: Sistema Operacional II

Mas ento o que Linux?
o ncleo de um sistema operacional Unix, multiusurio, multitarefa e multipro-
cessado, de livre distribuio (pode ser copiado sem qualquer restrio), disponvel
para equipamentos x86 (Intel e compatveis), Motorola 68000, Digital Alpha,
Sparc, Mips e PowerPC que adota o padro POSIX (Portable Operating System
Interface), seguindo desta forma as indicaes e recomendaes do IEEE (The Ins-
titute of Electrical and Electronics Engineers, Inc. que ajuda no avano global pela
promoo de processos de engenharia para criao, desenvolvimento, integrao,
compartilhamento e aplicao de conhecimentos sobre eletricidade e informaes
tecnolgicas e cientficas para o benefcio da humanidade e da profisso).
O kernel do Linux no utiliza cdigo proprietrio (aquele tipo de programa escrito
para funcionar apenas sob determinados processadores), sendo a maior parte de seu
desenvolvimento feito sob o projeto GNU da Free Software Foundation, tornando
obrigatrio distribuir o cdigo fonte.
Onde REALMENTE est o Linux?
Muitos usurios de computador utilizam uma verso modificada do sistema GNU
todos os dias, sem perceberem. Atravs de uma peculiar reviravolta dos fatos, a
verso do GNU que largamente utilizada hoje mais conhecida como Linux, e
muitos usurios no sabem de sua conexo com o Projeto GNU.
O kernel
H realmente um Linux e ele o ncleo (kernel), e todos o esto utilizando. Mas
no possvel usar um ncleo sozinho; um ncleo s til como parte de todo um
sistema operacional. Linux normalmente utilizado em combinao com o sistema
operacional GNU: o sistema basicamente GNU, com Linux funcionando como
ncleo.
Os usurios em geral no esto totalmente inteirados da diferena entre o ncleo,
que o Linux, e todo o sistema operacional, que tambm genericamente chamado
Linux. O uso ambguo desse nome no promove o entendimento.
Os programadores geralmente sabem que Linux o ncleo. Mas desde que eles
tambm j ouviram todo o sistema ser chamado Linux, muitas vezes visualizam
uma histria que corresponde ao nome. Por exemplo, muitos acreditam que, assim
Universo Unix e o Projeto GNU 61

que Linus Torvalds terminou de escrever o ncleo, seus amigos procuraram por
outros programas livres e, por nenhuma razo em particular, praticamente tudo ne-
cessrio para criar um sistema similar ao Unix j estava disponvel.
GNU e as partes do todo
O que eles acharam no foi nenhum acidente foi o sistema GNU. O software livre
disponvel comps um sistema completo porque o Projeto GNU j estava traba-
lhando desde 1984 para criar um. O Manifesto GNU definiu o objetivo de criar um
sistema livre similar ao Unix, chamado GNU. O Anncio Oficial do sistema GNU
tambm ressalta alguns dos planos originais para o sistema GNU. Quando o Linux
foi escrito, o sistema j estava quase acabado.
GNU's Not Unix!

Os grandes colaboradores
A maioria dos projetos de software livre tem por objetivo desenvolver um progra-
ma em particular para uma tarefa em particular. Por exemplo, Linus Torvalds es-
creveu um ncleo similar ao Unix (Linux); Donald Knuth escreveu um formata-
dor de textos (TeX); Bob Scheifler escreveu um sistema de janelas (X Windows).
natural medir a contribuio deste tipo de projeto pelos programas especficos
que vieram daquele projeto.
Se tentssemos medir a contribuio do projeto GNU dessa forma, o que concluir-
amos? Um distribuidor de CD-ROM percebeu que em sua distribuio Linux, o
software GNU era o maior contingente nico, por volta de 28% de todo o cdigo
fonte, e isso inclua alguns dos componentes essenciais sem os quais no poderia
haver sistema. O Linux representava por volta de 3%. Assim, se voc for escolher
um nome para o sistema baseado em quem escreveu os programas no sistema, a
escolha simples mais apropriada seria GNU.
62 Linux: Sistema Operacional II

Mas no existe concordncia de que esta a maneira correta de considerar a ques-
to. O projeto GNU no foi e no um projeto para desenvolver pacotes especfi-
cos de software. No foi um projeto para desenvolver um compilador C, apesar de
tambm ter feito isto. No foi tambm um projeto para desenvolver um editor de
textos, apesar de vrios deles terem sido desenvolvidos. O objetivo do Projeto
GNU era desenvolver um Sistema Operacional Livre similar ao Unix.
O que foi e continua sendo feito
Muitos fizeram grandes contribuies para o software livre no sistema GNU, e to-
dos eles merecem crdito. Mas a razo pela qual temos um sistema conhecido ge-
nericamente por Linux e no somente uma coleo de programas teis porque
o Projeto GNU se definiu para fazer um. Criou-se uma lista de programas necess-
rios para compor um sistema livre completo, e este foi sistematicamente sendo
encontrado e escrito, ou encontraram-se pessoas para escrever tudo que a lista con-
tinha. A equipe GNU e seus colaboradores escreveram componentes principais,
essenciais, mas no excitantes como o montador (assembler) e o editor de ligao
(linker), porque no possvel ter um sistema operacional sem eles. Um sistema
completo necessita mais do que simplesmente ferramentas de programao; o
Bourne Again Shell (bash), o interpretador PostScript Ghostscript e a biblioteca
GNU C so igualmente importantes.
O kernel GNU Hurd
Por volta do incio dos anos 90 todo o sistema parte do ncleo foi agrupado (e
ainda est-se trabalhando em um kernel, o GNU Hurd). Desenvolver esse ncleo
tem sido bem mais difcil do que se esperava, e ainda h muito trabalho para sua
finalizao.
Felizmente, voc no precisa esperar por ele, porque o Linux est funcionando ago-
ra. Quando Linus Torvalds escreveu o Linux, ele completou a ltima grande lacu-
na. Pessoas puderam ento colocar o Linux junto com o sistema GNU para compor
um sistema livre completo: um sistema GNU baseado em Linux (ou sistema
GNU/Linux, para simplificar).
Colocar os dois componentes juntos parece simples, mas no foi uma tarefa trivial.
A biblioteca GNU C (chamada glibc para simplificar) precisou de mudanas subs-
tanciais. Integrar um sistema completo como uma distribuio que funcionasse fora
da caixa (disponvel na Internet para download) foi tambm um trabalho grande.
Isto exigiu resolver o problema de como instalar e iniciar o sistema (boot) um
problema que ainda no foi resolvido, porque ainda no se chegou l. As pessoas e
Universo Unix e o Projeto GNU 63

empresas que desenvolveram as vrias distribuies de sistema (Red Hat, Mandra-
ke, Suse, Conectiva, Corel, etc.) deram uma contribuio substancial.
parte do GNU, um outro projeto desenvolveu um sistema livre similar ao UNIX.
Este sistema conhecido como free BSD, e foi desenvolvido na Universidade da
Califrnia em Berkeley. Os desenvolvedores do BSD foram inspirados a fazer seu
trabalho como software livre seguindo o exemplo do Projeto GNU, e ocasional-
mente encorajaram os ativistas do GNU, mas seu trabalho real teve pouca relao
com o GNU. Sistemas BSD hoje utilizam algum software GNU, assim como o sis-
tema GNU e suas variantes utilizam algum software BSD, mas, olhando-os como
um todo, eles so dois sistemas diferentes que evoluram separadamente. Um sis-
tema operacional livre que existe hoje quase com certeza ou uma variante do sis-
tema GNU ou um tipo de sistema BSD.
O Projeto GNU suporta os sistemas GNU/Linux assim como o sistema GNU
mesmo com contribuio financeira. O GNU financiou a reescrita das extenses da
biblioteca GNU C relacionadas ao Linux, para que agora elas estejam bem integra-
das, e os novos sistemas GNU/Linux usam a verso corrente da biblioteca sem mo-
dificaes. A GNU tambm financiou um estgio inicial do desenvolvimento do
Debian GNU/Linux.
A confuso
Todos ns (usurios, desenvolvedores, empresas) utilizamos sistemas GNU basea-
dos em Linux hoje para a maioria do nosso trabalho, e espera-se que voc tambm
os use. Mas definitivamente no confunda o usurio utilizando o nome Linux de
forma ambgua. Linux o ncleo, um dos principais componentes essenciais do
sistema. O sistema como um todo mais ou menos o sistema GNU.
Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc., 59 Temple Place
Suite 330, Boston, MA 02111, USA
Vrias companhias vendem computadores com sistemas GNU/Linux totalmente
grtis pr-instalados.
Existem muitos colaboradores pessoais, universidades, empresas de softwares e
distribuidores em todo o mundo trabalhando no desenvolvimento e constante apri-
moramento do GNU/Linux. Isso traz vantagens como o contato direto com os de-
senvolvedores e a atualizao e correo rpida de softwares.
Por ser o prprio Linux e tambm milhares de aplicaes desenvolvidas em diver-
sos locais, surgiram empresas especializadas em compilar, testar e suportar o Linux
64 Linux: Sistema Operacional II

e seus principais aplicativos, alm claro de implementarem melhorias voltadas
para o seu mercado de atuao e tambm atuarem como elementos fomentadores
da disseminao do sistema.
Surgiram ento distribuies como Debian, Slackware, Conectiva, Red Hat, SUSE,
Mandrake, Open Linux, Corel Linux, etc., cada uma com as suas prprias caracte-
rsticas, mas tendo em comum interface melhorada de instalao, muitas delas to-
talmente grficas como o caso do Console Linux 1.0, alm de aplicativos gratui-
tos, atualizaes permanentes e manuais.
Por que o pingim?
Foi idia do criador do kernel Linux, Linus Torvalds.

Ele pensou em alguma coisa que pudesse representar de maneira muito potica a
satisfao que sente uma pessoa aps se fartar com chocolate. Ela apenas senta-se e
ento fica sentindo o prazer daquelas delcias.
Quem melhor do que o pingim que depois de comer um monte de peixe senta-se e
fica esperando a hora da prxima refeio? Fica simplesmente ali: calmo, firme,
decidido, auto-suficiente sabendo que a qualquer momento ele pode ir em busca de
mais e mais at se fartar novamente e depois sabe que sentir o mesmo prazer de
novo ou mesmo algo maior e melhor.
Esta a idia que o pingim nos transmite: liberdade, auto-suficincia e prazer.
isto que a GNU Free Software Fundation defende e por isto que o software livre
existe.
65

Operar o ambiente do Shell o nosso ponto focal neste livro. com ele que tudo
acontece e por onde tudo pode ser feito no GNU/Linux. O nosso objetivo princi-
pal conhecer e dominar estas ferramentas.
Bourne Again Shell, o bash. Pelo seu prompt o usurio pode ter acesso a tudo que
o GNU/Linux oferece, codificar e executar programas utilizando os recursos nati-
vos deste ambiente e avanar nos segredos do sistema.
O que um Shell
Basicamente um Shell simplesmente um processador de macros (conjuntos orde-
nados de comandos) que executa comandos. Um Shell de Unix funciona como um
interpretador de comandos que prov uma interface ao usurio, trazendo um con-
junto completo de comandos Unix e ainda uma linguagem de programao que
permite combinar estes comandos.
Com o Shell podem-se criar arquivos que contm comandos que passaro a funcio-
nar como se fossem novos comandos. Estes comandos novos tm a mesma usabili-
dade dos comandos embutidos do sistema, permitindo aos usurios ou grupos de
trabalho estabelecerem ambientes mais amigveis. Para usurios acostumados ao
MS-DOS, por exemplo, pode-se criar um comando cls ou dir.
66 Linux: Sistema Operacional II

O Shell permite execuo de comandos de Unix sncronos ou assncronos . Quan-
do um comando sncrono emitido, o Shell espera que eles terminem sua tarefa
antes de aceitar novos comandos (por exemplo, ls e find); comandos assncronos
so executados em paralelo com o Shell enquanto ele aceita e executa comandos
adicionais.
Com a estrutura redirection obtm-se um controle preciso da entrada e sada
daqueles comandos assncronos e o Shell permite controle sobre o contedo deles.
O Shell Unix tambm oferece um pequeno conjunto de comandos embutidos
(built-in commands) implementando funcionalidades impossveis de se obter
(como por exemplo, cd, break, continue, e exec), ou inconvenientes de se
manter (history, getopts, kill ou pwd, por exemplo) em utilitrios em separado.
O Shell pode ser utilizado de maneira interativa ou no interativa, ou seja, ele
pode aceitar entradas digitadas diretamente pelo teclado ou a partir de um arquivo.
Todas as facilidades embutidas no Shell so descritas mais adiante.
Resumindo
O Shell um processador de macros que traz uma linguagem de pro-
gramao embutida.
Macros so conjuntos de comandos processados seqencialmente.
Comandos podem ser sncronos ou assncronos.
Em um comando sncrono, o Shell espera seu trmino antes de aceitar no-
vos comandos.
Em um comando assncrono, o Shell aceita novos comandos enquanto o
comando inicial executado.
Com o redirection podem-se controlar com preciso as entradas e as sa-
das dos comandos.
O Shell possui diversos comandos embutidos.
O Shell pode ser utilizado de maneira interativa ou no interativa.
No modo interativo as entradas para os comandos (parmetros, opes e
flags) so digitadas.
No modo no interativo as entradas so lidas de um arquivo.
Enquanto a execuo de comandos essencial, o maior poder (e complexidade) do
Shell trazer embutido uma linguagem de programao. Por ser uma linguagem de
alto nvel, o Shell prov ao usurio:
Variveis
Controle de fluxo
O Bash 67

Construtores
Comentrios
Funes
O ambiente do Shell oferece caractersticas especificamente projetadas para um uso
mais interativo em lugar de aumentar o poder da linguagem de programao que
traz embutida. Estas caractersticas interativas incluem:
Controle de trabalho
Edio da linha de comando
Histrico dos comandos
Aliases (apelidos)
Operao do Shell
Ler uma entrada diretamente de um arquivo (Shell script). Esta opo torna o Shell
ilimitado em opes. O usurio pode criar menus interativos que executem vrias
operaes que seriam complexas, demoradas ou sujeitas a muitos erros se fossem
executadas diretamente na linha de comando.
O redirection funciona aqui permitindo ao comando ler as entradas que normal-
mente seriam digitadas pelo usurio, diretamente de um arquivo.
O comando dc, por exemplo, permite a execuo de clculos simples diretamente pelo
prompt. As entradas para este comando devem ser entradas diretamente pelo teclado.
[root@console documentos]# dc
25
25
+
p
50
[root@console documentos]#
No exemplo, ao digitar dc, o prompt desaparece e o comando passa a aceitar as
entradas, sempre em pares, a operao desejada (soma neste caso) e o comando
para imprimir o resultado (p).
Usando o redirection para entrada < (sinal de menor), a mesma seqncia pode ser
lida de um arquivo. Desta forma, se criarmos um arquivo que tenha a seqncia
correta de parmetros, o dc poder ler e exibir o resultado.
68 Linux: Sistema Operacional II

Comando dc
Os parmetros do comando dc so:
+ adio
- subtrao
/ diviso
* multiplicao
~ retorna 0 se a diviso for exata e 1 se no for
v exibe a poro inteira da raiz quadrada do valor entrado
Os operadores do comando dc so:
p imprime o resultado da operao
P zera a entrada
Vamos ento criar um arquivo chamado parms com a seqncia correta para cal-
cular raiz quadrada de 144. Este arquivo deve ter a seqncia:
144
v
p
Utilize o pico e crie o arquivo parms com o contedo correto. Verifique o conte-
do com cat e execute o dc usando o redirecionador de entrada.
[root@console documentos]# cat parms
144
v
p

[root@console documentos]# dc < parms
12
[root@console documentos]#
Note que ao fazer dc < parms, o Shell exibe o resultado esperado. O que o Shell
fez foi ler os dados do arquivo texto parms e executar o seu contedo como fosse
uma entrada digitada pelo usurio.
O Bash 69

Parmetros para scripts
O comando dc interativo, ou seja, depois de executado exige que o usurio entre
com os valores, seja digitando, seja lendo de um arquivo. Outros comandos exigem
que um parmetro seja informado diretamente na linha de comando, como o caso
do cat que requer um nome de arquivo para funcionar.
Quando criamos scripts, estes podem funcionar recebendo parmetros diretamente
pelo Shell na linha de comando. Para que o script identifique os parmetros, eles
so aceitos de forma posicional, ou seja, a seqncia na qual eles so digitados in-
dica em qual parmetro o valor estar. At nove parmetros podem ser entrados
para um script e eles sero identificados internamente atravs de sua posio num-
rica precedida pelo smbolo $.
Criando um simples localizador de arquivos
Por exemplo, para efetuar a procura de um arquivo em determinado local da estru-
tura de arquivos, o usurio pode ter um Shell script que aceite o comando:
localizar [arquivo a localizar] [iniciando na pasta]
Utilizando o pico, crie no /bin um arquivo chamado localizar que tenha o contedo
listado a seguir. No digite a numerao das linhas. Os dois parmetros utilizados
neste exemplo sero identificados dentro do script como $1 e $2.
O comando Shell que faz a localizao de arquivos o find e ele utiliza vrios pa-
rmetros. Criando o localizar isto simplificado para apenas dois parmetros, in-
cluindo ainda mais algumas facilidades utilizando os redirection para sada ( > ) e
append ( >> ).

Ao ser executado, este novo comando apresentaria o seguinte resultado:
70 Linux: Sistema Operacional II


Depois de localizar os arquivos solicitados, ele faz uma listagem mostrando as o-
corrncias gravadas em um arquivo (arquivos encontrados) e a ordem na qual fo-
ram encontradas. Este script armazena ainda os resultados da localizao anterior
no arquivo encontrados.hist, mantendo assim um histrico das procuras.
Analisando este script linha a linha:
Linha Descrio
1 Executa o script cls.
2 Exibe a mensagem.
3 Insere ao final do arquivo encontrados.hist a data e hora.
4 Insere ao final do arquivo encontrados.hist a mensagem sendo $1 e $2
substitudos pelos valores digitados na linha de comando.
5 Insere ao final do arquivo encontrados.hist o tracejado.
6 Exibe na tela o que est sendo localizado e em qual diretrio iniciar.
7 Exibe na tela um tracejado.
8 Exibe na tela a mensagem Aguarde...
9 Executa o comando find que far a localizao efetivamente. O
resultado da localizao gravado no arquivo encontrados.
10 Insere ao final do arquivo encontrados.hist o resultado da localizao
concluda.
11 Exibe na tela o resultado da localizao, precedendo cada uma o seu
nmero de seqncia.
O Bash 71

Um pequeno script com estrutura de decises
Estruturas de deciso tambm podem ser implementadas utilizando o bash. Veja
este exemplo. A numerao das linhas no deve ser digitada. Crie o arquivo no di-
retrio /bin com o nome animal utilizando para isto o editor pico.
Neste exemplo a entrada interativa e no por parmetros. Utilizamos ento o co-
mando read que interrompe a execuo do script at que uma entrada seja feita
pelo teclado.

Para executar o script altere suas permisses para 755 e digite seu nome.

Linha Comentrios
1 3 Simples comentrios.
4 Exibe a mensagem entre aspas mantendo o cursor na mesma linha (-n).
5 Espera uma entrada pelo teclado e armazena na varivel ANIMAL.
6 Exibe a mensagem entre aspas, resolvendo o contedo da varivel
$ANIMAL.
7 12 Estrutura de deciso case com a impresso da resposta correta.
13 Exibe o ponto e pula linha.
Para rodar o programa:
[root@Console Garcia]# ./animal
72 Linux: Sistema Operacional II

Digite o nome de um animal: cavalo
O animal informado (cavalo) tem quatro patas.
[root@Console Garcia]#
O ponto barra (./) antes do nome do arquivo (animal) indica que o bash deve pro-
curar o arquivo executvel no diretrio atual.
S para que voc no esquea: Para que estes exemplos (localizar e animal)
possam ser executados:
Crie os arquivos com o editor pico [nome do arquivo].
Depois de criados torne-os executveis com chmod 755 [nome do arquivo].
Neste tipo de script possvel utilizar a tcnicas de redirection de entrada ( < ) co-
locando o nome do animal em um arquivo e fazendo com que ele seja lido: ani-
mal < arquivo como fizemos com o dc.
Comandos acessveis pelo Shell
As prximas pginas so dedicadas a uma referncia rpida dos principais coman-
dos disponveis no bash. Utilize-as sempre que tiver dvidas em como utilizar este
ou aquele comando, mas lembre-se de que aqui est apenas uma referncia rpida.
Detalhes de cada comando podem (e devem) ser consultados diretamente no
prompt do Shell com o comando info ou man.
arch
Nome
arch exibe a arquitetura da mquina
Resumo
arch
Descrio
O comando arch equivalente ao comando uname -m.
Em sistemas Linux, arch exibe coisas como "i386", "i486", "i586", "alpha",
"sparc", "arm", "m68k", "mips", "ppc".
O Bash 73

Veja tambm
uname(1), uname(2)
Exemplo
[root@Console /root]# arch
i586
[root@Console /root]#
A resposta obtida aqui indica que o processador um Pentium compatvel
(i586).
ash
Nome
ash um Shell
Resumo
ash [ -efIijnsxz ] [ +efIijnsxz ] [ -c command ] [ arg ]
Copyright
Copyright 1989 por Kenneth Almquist.
Descrio
O ash uma verso do Shell com facilidades similares quelas encontradas em
sistemas Unix compatveis com System V.
Chamadas
Se a opo -c for informada, ento o Shell executa o comando especificado. O flag
-s flag faz o Shell ler o comando da entrada padro (depois de executar os
comandos especificados com a opo c). Se as opes s ou c forem informadas
o primeiro argumento trazido como o nome de um arquivo a partir do qual sero
lidos comandos. Se isto for impossvel pela inexistncia de argumentos, ento o s
far a leitura dos comandos pela entrada padro.
O Shell fixa o valor inicial dos parmetros posicionais a partir dos argumentos
restantes depois que qualquer argumento usado como o nome de um arquivo de
comandos apagado.
74 Linux: Sistema Operacional II

Os flags devem ser precedidos pelo sinal de menos - ou de mais +. Verifique o
conjunto de comandos embutidos para uma lista de flags. Se nenhum valor for
especificado para o flag i, o flag s passa a valer e a entrada e sada padro do
Shell so direcionadas para o terminal.
Se nenhum valor especificado para o flag j o flag que vale ser o i.
Quando o Shell carregado com a opo c sempre bom incluir a opo i se os
comandos sero digitados interativamente pelo usurio.
Por questes de compatibilidade com o System V a opo i deve vir aps a opo
c.
Se nenhum caractere for informado antes do sinal de - (menos) o Shell assume
que est acontecendo um login e ento os arquivos /etc/profile e .profile sero
lidos se existirem.
Se a varivel de ambiente SHINIT for definida ao entrar no Shell os comandos
SHINIT sero analisados e executados normalmente.
SHINIT no ser examinado se o Shell identificar que est ocorrendo um processo
de login.
O Shell ser tratado como um simples procedimento se as opes s e c no
forem informadas.
Estruturas de controle
Uma lista uma seqncia de nenhum ou mais comandos separados por quebra de
linha, ponto e vrgula ou barra invertida ou opcionalmente terminada por um destes
trs caracteres. Isto difere um pouco do System V que abriga uma lista contendo
pelo menos um comando na maioria dos casos.
Os comandos na lista sero executados na ordem em que foram escritos. Se os
comandos forem seguidos por ponto e vrgula, o Shell iniciar imediatamente no
comando seguinte ou aguardar que o comando termine antes de ir para o prximo.
&& e || so operadores binrios. && executa o primeiro comando e ento
executar o segundo comando se o resultado do primeiro comando for zero.
|| similar, mas executar o segundo comando apenas se o resultado do primeiro
comando for diferente de zero.
O Bash 75

&& e || tem a mesma prioridade.
| um operador binrio que alimenta a sada padro do primeiro comando como
entrada padro para o segundo comando.
O operador | pode ser combinado vrias vezes e tem precedncia sobre && e ||.
Exemplo if...fi
Utilizando o que vimos at agora possvel criar um script interativo que
chamaremos de ash1. Trata-se de uma calculadora interativa criada com
redirection de entrada ( < ) de sada ( > ) e de append ( >> ).
Crie o arquivo no diretrio /bin com o nome ash1 utilizando para isto o editor pico.

Para executar o script altere as permisses para 755 e digite ash1.

76 Linux: Sistema Operacional II

Linha Comentrios
1 Limpa a tela.
2 4 Exibe as mensagens entre aspas mantendo o cursor na mesma linha (-n).
5 Espera uma entrada pelo teclado e armazena na varivel A.
6 Exibe a mensagem entre aspas.
7 Espera uma entrada pelo teclado e armazena na varivel OPERADOR.
8 Exibe a mensagem entre aspas.
9 Espera uma entrada pelo teclado e armazena na varivel B.
10 Cria um arquivo x com o valor de A.
11 Adiciona ao arquivo x o valor de B.
12 17 Testa se o operador multiplicao (x) e substitui pelo caractere
apropriado (*) seno preserva o caractere digitado pelo usurio,
adicionando o operador ao arquivo x.
18 Adiciona ao arquivo x o caractere p.
19 Utiliza o comando dc para calcular a expresso e armazena o resultado
no arquivo y.
20 22 Exibe o resultado da expresso.
Redirecionando entrada e sada de comandos
O stdout (sada padro) para comandos Linux o terminal (monitor) e o stdin
(entrada padro) o teclado. Utilizando os redirecionadores de entrada ( < ),
sada ( > ) e incluso ou append ( >> ), possvel flexibilizar bastante os scripts
deixando-os mais poderosos e interativos.
No exemplo ash1 as linhas 10 e 19 usam o redirecionador de sada ( > ) para criar
arquivos auxiliares x e y respectivamente. Nas linhas 11, 14, 16 e 18 utiliza-se o
append ( >> ) e na linha 19 est um redirecionador de entrada ( < ).
O redirecionamento de entrada equivale ao usurio digitar o que estiver no arquivo.
Desta forma, no exemplo ash1, o script gera um arquivo chamado x que conter a
seqncia necessria execuo dos clculos.
O Bash 77

O comando dc

Veja neste exemplo que depois de digitar o comando dc o prompt passa a receber
parmetros. Os dois primeiros so os valores (10 e 2), o terceiro a operao a ser
executada (multiplicao) e finalmente um comando (p) que imprime o resultado
da operao, neste caso 10 x 2 = 20.
cat
Nome
cat concatena arquivos e imprime no stdout (sada padro).
Resumo
cat [OPES] [ARQUIVO]...
Descrio
Concatena ARQUIVO(s), ou entrada padro, para sada padro.
-b, --mostra a numerao das linhas ignorando as que esto em branco.
-E, --Mostra finais das linhas pela indicao do smbolo $ ao final de cada
linha.
-n, --numera todas as linhas na sada padro.
-T, --mostra TAB como ^I.
--help mostra o help e sai
--version mostra informaes sobre verso e sai.
Quando ARQUIVO no informado, faz leitura da entrada padro.
Copyright
Copyright 1999 Free Software Foundation, Inc.
78 Linux: Sistema Operacional II

Exemplo

Note no exemplo a utilizao direta do comando e sua combinao com a opo e.
chgrp
Nome
chgrp muda referncia ao nome do grupo.
Resumo
chgrp [OPES]... GROUP ARQUIVO...
Descrio
Muda a referncia ao grupo de cada arquivo para o grupo especificado.
-c, --change A referncia ao grupo para cada arquivo exibindo a execuo.
-R, --recursivo Estende a troca para todos os diretrios abaixo do foco atu-
al do Shell.
-v, --verbose Exibe um diagnstico de cada alterao feita nos arquivos.
--help Exibe o help e sai.
--version Exibe a verso e sai.
O Bash 79

Autor
Programa escrito por David MacKenzie.
Copyright
Copyright 1999 Free Software Foundation, Inc.
Exemplo
Mudando as referncias para os grupos de todos os arquivos em um diretrio exi-
bindo a operao com v.
Verificando os grupos atuais com ll (equivalente a ls l).

Fazendo a alterao utilizando o comando chgrp.

Verificando o resultado com ll.

80 Linux: Sistema Operacional II

chown
Nome
chown muda dono do arquivo.
Resumo
chown [OPTION]... .GROUP FILE...
Descrio
Troca o dono de cada arquivo.
-c, --change A referncia ao grupo para cada arquivo exibindo a execuo.
-R, --recursivo Estende a troca para todos os diretrios abaixo do local do foco.
-v, --verbose Exibe um diagnstico de cada alterao feita nos arquivos.
--help Exibe o help e sai.
--version Exibe a verso e sai.
Autor
Programa escrito por David MacKenzie.
Copyright
Copyright 1999 Free Software Foundation, Inc.
Exemplo
Mudando as referncias para os donos de todos os arquivos em um diretrio exi-
bindo a operao com v.
Verificando os grupos atuais com ll (equivalente a ls l).

O Bash 81

Fazendo a alterao utilizando o comando chown.

Verificando o resultado com ll.

clear
Nome
clear limpa a tela.
Resumo
clear
Descrio
Limpa a tela se isto for possvel. A verificao feita na varivel de ambiente
TERM e o tipo de terminal no banco de dados terminfo.
cp
Nome
cp copia arquivos e diretrios.
Resumo
cp [OPO]... ORIGEM DESTINO
82 Linux: Sistema Operacional II

cp [OPO]... ORIGEM... DIRETORIO
Descrio
Copia a ORIGEM para o DESTINO, ou mltiplas ORIGENS para um diretrio.
-d, --no-dereference Preserva links.
-f, --force Sobrescreve os arquivos existentes no destino sem pedir confir-
mao.
-i, --interactive Pergunta antes de sobrescrever.
-l, --link Faz link dos arquivos ao invs de copiar.
-p, --preserve Mantm os atributos do arquivo se possvel.
-P, --parents Apenda (concatena) o caminho origem ao DIRETORIO.
-r, recursively Copia recursivamente arquivos e diretrios, mas no cria di-
retrio.
-R, --recursive Copia diretrios e todo seu contedo recursivamente.
-s, --symbolic-link Cria um link simblico ao invs de copiar.
-u, --update Copia apenas quando o arquivo ORIGEM tem a data mais re-
cente do que o destino ou quando o arquivo destino no existe.
-v, --verbose Mostra detalhes do processo da cpia.
--help Exibe a ajuda e sai.
--version Exibe a verso e sai.
Por default, raramente os arquivos ORIGEM so detectados como invlidos na
comparao heurstica que determina sua correspondncia com o arquivo destino.
Para evitar enganos neste contexto, utilize --sparse=auto. Esta opo criar um
arquivo que contm uma seqncia de zeros inibindo a destruio do mesmo.
Autor
Programa escrito por Torbjorn Granlund, David MacKenzie e Jim Meyering.
Copyright
Copyright 1999 Free Software Foundation, Inc.
O Bash 83

Exemplo
Neste exemplo foram exibidos utilizando ls R (listagem recursiva de diretrio)
todos os arquivos e diretrios existentes na pasta /home/Garcia.

Agora vamos criar no diretrio /root o subdiretrio /teste e utilizando o comando
de cpia recursiva (cp R) vamos copiar toda a estrutura do /home/Garcia para
/root/teste e verificar o resultado da cpia novamente com ls R.


84 Linux: Sistema Operacional II

Note que a estrutura do /home/Garcia, seus diretrios, subdiretrios e arquivos
foram copiados para o novo local /root/teste.
cpio
Nome
cpio copia arquivos gerando seqncias de backup.
Resumo

Descrio
O comando cpio copia arquivo para dentro de um device (fita, disco) onde ficaro
todos os arquivos da origem e ainda a sua estrutura de armazenamento (diretrios).
Alm disto, cpio armazena para cada arquivo seu nome, dono, timestamps e
permisses de acesso.
O arquivo pode estar em qualquer mdia magntica (disco, fita ou equipamento da
rede).
O Bash 85

No processo de cpia, cpio copia arquivos para dentro de um container, chamado
tambm archive. Ele l a lista dos nomes dos arquivos, um por linha, a partir da
entrada padro, e escreve o arquivo para dentro da sada padro.
Uma forma tpica para gerar uma lista de nomes de arquivos com o comando find
com a opo -depth.
No modo de cpia, cpio copia os arquivos para fora do container ou simplesmente
lista os arquivos ali contidos.
Ele l os arquivos da entrada padro. Qualquer argumento de linha de comando
utilizado conforme o padro do Shell.
Apenas os arquivos cujos nomes forem coincidentes a estes padres sero copiados
para o container.
Ao contrrio do Shell, onde o caractere inicial . (ponto) nos nomes de arquivo
representam arquivos ocultos e o / (barra) representa arquivos localizados a partir
do raiz, no cpio . (ponto) representa todos os arquivos no diretrio atual e / (barra)
todos os arquivos a partir de onde o foco do Shell est.
Quando nenhum padro for informado, todos os arquivos sero extrados do
container.
No modo copy-pass, cpio copiar os arquivos a partir da rvores de diretrios de
origem para o destino, combinando os passos de copy-out e copy-in sem atualizar o
container. Ele l a lista de arquivos a serem copiados a partir da entrada padro; o
diretrio que receber as cpias no requer argumentos.
O cpio suporta os seguintes formatos de arquivo:
binary
old ASCII
new ASCII
crc
HPUX binary
HPUX old ASCII
old tar
POSIX.1 tar
86 Linux: Sistema Operacional II

O formato binary obsoleto porque incorpora informaes sobre os arquivos de
modo que eles perdem a portabilidade entre mquinas de diferentes arquiteturas.
O formato old ASCII portvel entre diferentes arquiteturas de computadores,
mas no deve ser usado em um file system com mais de 65536 i-nodes.
O formato new ASCII portvel entre as diferentes arquiteturas de mquinas e
pode ser utilizado para qualquer tamanho de file system, mas no suportado por
todas as verses de cpio. Atualmente suportado apenas pelo GNU e Unix System
V R4.
O formato crc como o new ASCII, mas tambm contm um checksum para cada
arquivo que o cpio calcula quando est criando o arquivo dentro do container e
verifica quando o arquivo extrado do container.
Os formatos HPUX so colocados para manter compatibilidade com o cpio
daquele SO quando se faz cpias cruzadas.
O formato tar colocado para compatibilidade com o programa tar. Ele no pode
ser usado com nomes de arquivos com mais de 100 caracteres e no aceitam modos
especiais de archive (blocos ou dispositivo caractere).
O formato POSIX.1 tar no pode ser usado para gerar archives de arquivos com
nomes maiores do que 255 caracteres (a menos que eles tenham uma / (barra) no
ltimo caractere da direita.
Por default o cpio cria um arquivo no formato binary, para manter a
compatibilidade com outras verses mais antigas do cpio. Quando arquivos forem
extrados, cpio automaticamente reconhece qual tipo de archive e faz ento a
leitura dos archives gerados em outras mquinas com outros sabores e verses de
Unix.
Algumas opes do cpio aplicam-se apenas para determinados modos operacionais.
Consulte o Resumo para verificar a lista de opes permitidas em cada modo.
Opes
-0, --null Nos modos copy-out e copy-pass, faz a leitura da lista de arqui-
vos terminados por um caractere null em vez de uma nova linha. Portanto,
aqueles arquivos cujos nomes contiverem um caractere new-lines podero
ser colocados no archive. GNU utilizou este caminho para produzir uma lista
de arquivos terminada por null.
O Bash 87

-a, --reset-access-time Reseta o tempo de acesso dos arquivos depois de l-
los. Desta forma no far a leitura de arquivos que acabaram de ser lidos.
-A, --append Acrescenta mais arquivos a um archive existente. Funciona
apenas com o modo copy-out. O archive deve ser um disco especificado com
as opes -O ou -F (--file).
-b, --swap No modo copy-in, esta opo converte inteiros de 32-bit entre
mquinas de arquiteturas diferentes.
-B Seta o tamanho do bloco para 5120 bytes. Inicialmente cada bloco tem
512 bytes.
--block-size =BLOCK-SIZE Seta o tamanho do bloco para BLOCK-SIZE
* 512 bytes, ou seja, o nmero de blocos multiplicado por 512 bytes por blo-
co.
-c Usa o formato old ASCII archive.
-C IO-SIZE, --io-size=IO-SIZE Seta o tamanho do bloco para IO-SIZE bytes.
-d, --make-directories Cria o caminho completo da lista do archive quando
necessrio.
-E FILE, --pattern-file=FILE No modo copy-in, l padres adicionais es-
pecificando nomes de arquivos para extrair ou uma lista a partir do FILE. As
linhas do FILE so tratadas como se nenhum argumento tivesse sido passado
ao cpio.
-f, --nonmatching Copia apenas os arquivos que se encaixarem no padro
estabelecido.
-F, --file=archive Utiliza o nome do archive como se fosse a entrada ou a
sada padro. Para utilizar unidade de fita em outra mquina com este archi-
ve, utilize o nome do archive para iniciar com 'HOSTNAME:'. O nome do
host pode ser precedido por um nome de usurio (username) e por uma @
para acessar um unidade de fita remota como este usurio, se este usurio ti-
ver permisso para isto.
-H FORMAT, --format=FORMAT Utiliza o formato archive especificado
em FORMAT. Os formatos vlidos esto listados a seguir; os mesmos no-
mes tambm sero reconhecidos em maisculas. O default para o modo
copy-in mode detectar automaticamente o formato, e no modo copy-out
"bin".
bin Binrio absoluto.
odc Old POSIX.1 portvel.
88 Linux: Sistema Operacional II

newc New SVR4 portvel, com suporte a file system com mais
de 65536 i-nodes.
crc New SVR4 portvel com o checksum.
tar Old tar.
ustar POSIX.1 tar. Tambm reconhecido pelo GNU tar archives,
so similares mas no idnticos.
hpbin Binary absoluto utilizado pelo cpio do HPUX, para cpias
cruzadas na mesma mquina.
hpodc Portvel usado pelo cpio do HPUX, para cpias cruzadas
em mquinas diferentes.
-i, --extract Roda no modo copy-in.
-I archive Utilizar o nome do archive ao invs da entrada padro. Para uti-
lizar uma fita em outra mquina neste modo, use o nome do arquivo iniciado
com HOSTNAME:. O hostname pode ser precedido por um nome de usu-
rio e uma @ para acessar uma unidade de fita remotamente, desde que o
usurio tenha permisso para isto.
-k Ignorado. Opo mantida apenas para compatibilidade com verses an-
tigas do cpio.
-l, --link Faz link dos arquivos ao invs de copi-los, quando possvel.
-L, --dereference Os arquivos assinalados por links so efetivamente copi-
ados, e no apenas seus links.
-m, --preserve-modification-time Mantm a hora anterior de modificao
quando cria arquivos.
-M MESSAGE, --message=MESSAGE Imprime a MESSAGE quando o
final da cpia ocorre. Quando o espao no volume esgota (fita ou disquete),
um prompt exibido solicitando para que uma nova fita seja inserida (insert
a new volume). Se MESSAGE contiver a string "%d", ela ser substituda
pelo nmero do volume que inicia em 1, permitindo o controle de qual fita
deve ser inserida.
-n, --numeric-uid-gid Na tabela de contedos so exibidos o UID e GID ao
invs de transform-los em nomes.
--no-absolute-filenames No modo copy-in, cria todos os arquivos relati-
vos ao diretrio atual, deixando-os iguais ao nome absoluto do arquivo que
ser criado em archive.
--no-preserve-owner Nos modos copy-in e copy-pass, no troca o nome
do dono do arquivo; quando os arquivos forem extrados, o do original
O Bash 89

mantido. Esta uma opo default para usurio no root, impedindo que u-
surios do System V percam acesso aos arquivos de sua propriedade.
-o, --create Roda o cpio no modo copy-out.
-O archive Gera um archive ao invs de colocar na sada padro. Idem -F.
--only-verify-crc Quando ler um archive no formato CRC no modo copy-
in, somente verifica o CRC para cada arquivo dentro do archive, no extra-
indo arquivo algum.
-p, --pass-through Roda no modo copy-pass.
--quiet No imprime o nmero de blocos copiados.
-r, --rename Troca o nome dos arquivos interativamente.
-R [user][:.][group], --owner [user][:.][group] Nos modos copy-out e
copy-pass, seta o dono de todos os arquivos criados para um usurio espec-
fico e/ou grupo. O usurio, o grupo ou ambos devem existir (estarem defini-
dos para o sistema que receber o archive).
--sparse Nos modos copy-out e copy-pass, escreve os arquivos com gran-
des blocos de zeros como arquivos espalhados.
-s, --swap-bytes No modo copy-in, troca os bytes de cada palavra (par de
bytes) nos arquivos.
-S, --swap-halfwords No modo copy-in, troca as palavras de 4 bytes nos
arquivos.
-t, --list Imprime uma tabela de contedos da entrada.
-u, --unconditional Substitui todos os arquivos, sem pedir conformao pa-
ra substituio aos arquivos que sero sobrescritos.
-v, --verbose Lista todos os arquivos processados, ou com -t, exibe ao esti-
lo de um ls -l.
-V --dot Imprime um . (ponto) para cada arquivo processado.
--version Imprime a verso do programa cpio e sai.
Exemplo
Copiando arquivos para o disquete
Acompanhe na seqncia a seguir. Verificando o posicionamento do foco do Shell
no diretrio /home/Garcia, criou-se ali um diretrio chamado diretorio para dentro
do qual foram copiados alguns arquivos conf do /etc.
90 Linux: Sistema Operacional II


Agora os arquivos sero copiados para um disquete utilizando o comando
cpio.

Note que nesta etapa foi utilizada a tcnica documentada aqui do comando
find gerando a lista de nomes a serem includas no archive. A tcnica sim-
ples: o find gera uma lista de nomes de arquivos que so redirecionados via |
(pipe) para o comando cpio. O cpio recebe os parmetros ocvB.
o indicando o modo copy-out (gerao de archive).
c usar o formato old ASCII.
v exibe uma lista dos arquivos processados.
B seta o bloco para 5120 bytes.
As diretivas complementares do comando so o redirecionamento de sada
( > ) e o nome do archive, que neste caso o dispositivo que representa a u-
nidade de disquete /dev/fd0H1440.
Depois de concludo, o cpio informa que utilizou quatro blocos de 5120 by-
tes para gravar os arquivos listados.
O Bash 91

Verificando arquivos gravados no disquete
Para verificar o que foi gravado naquele archive basta fazer o processo inverso.

Note que agora o find no mais necessrio. O comando cpio recebe os parmetros
itv.
i indicando o modo copy-in (leitura do archive).
t apenas lista o archive, mas no restaura.
v exibe uma lista dos arquivos processados.
As diretivas complementares do comando so o redirecionamento de entrada ( < ) e
o nome do archive, que neste caso o dispositivo que representa a unidade de
disquete /dev/fd0H1440.
Depois de concludo, o cpio informa que os arquivos listados ocuparo trinta e trs
blocos de 512 bytes se restaurados no file system do Linux.
Se a inteno for realmente restaurar os arquivos para o HD, basta retirar o
parmetro t.
date
Nome
date imprime ou ajusta a data e a hora do sistema.
Resumo
date [OPO]... [+FORMATO]
date [OPO] [MMDDhhmm[[CC]YY][.ss]]
92 Linux: Sistema Operacional II

Descrio
Mostra a data e a hora atual do sistema utilizando o FORMATO, ou ajusta a data e
a hora do sistema.
-r, --reference=ARQUIVO exibe a ultima modificao do ARQUIVO.
-R, --rfc-822 exibe a data e a hora utilizando o formato RFC-822 (em rela-
o hora do meridiano).
-u, --utc, --universal exibe ou ajusta data e hora segundo as Coordenadas
da Hora Universal.
--help exibe o help e sai.
--version exibe a verso e sai.
O FORMATO controla a sada. So vlidas apenas para as especificaes
utc.
%a Exibe o dia da semana de forma abreviada (Sun..Sat).
%A Exibe o dia da semana por extenso (Sunday..Saturday).
%b Exibe o ms abreviado (Jan..Dec).
%B Exibe o ms por extenso (January..December).
%c Exibe data e hora (Wed 27 Sep 2000 11:22:28 PM BRT).
%d Exibe o dia do ms (01..31).
%D Exibe a data no formato (mm/dd/yy).
%e Exibe o dia do ms com branco para zero esquerda ( 1..31).
%h O mesmo que %b.
%H Exibe a hora (00..23).
%I Exibe a hora (01..12).
%j Exibe o dia do ano (001..366).
%k Exibe a hora com branco para zero esquerda ( 0..23).
%l Exibe a hora com branco para zero esquerda ( 1..12).
%m Exibe o ms (01..12).
%M Exibe os minutos (00..59).
%n Pula uma linha.
O Bash 93

%p Informa AM ou PM.
%r Exibe hora no formato 12 horas (hh:mm:ss [AP]M).
%s Segundos passados desde a meia noite de 1 de janeiro de 1970 (esta
uma extenso da GNU).
%S Exibe segundos (00..60).
%t Faz uma tabulao.
%T Exibe a hora no formato 24 horas (hh:mm:ss).
%U Nmero de semanas do ano considerando domingo como pr imeiro dia
da semana (00..53).
%V Nmero de semanas do ano considerando a segunda-feira como pr i-
meiro dia da semana (01..52).
%w Dia da semana (0..6); 0 representa domingo.
%W Nmero de semanas do ano considerando segunda-feira como primei-
ro dia da semana (00..53).
%x Representao da data configurada (mm/dd/aa).
%X Representao da hora configurada (%H:%M:%S).
%y Exibe apenas os dois ltimos dgitos do ano (00..99).
%Y Exibe o ano (1970...).
%z Representao no estilo RFC-822 (-0500)
%aZ Indica a zona configurada (por exemplo, BRT), ou nada se nenhuma
foi configurada.
Por default, os campos numricos da data so preenchidos com zeros. A data no
sistema GNU/Linux reconhece as seguintes modificaes entre '%' e uma diretiva
numrica: '-' (hfen), nenhum preenchimento '_' (sublinhado).
Copyright
Copyright 1999 Free Software Foundation, Inc.
Exemplo
Para exibir a data no formato tradicional brasileiro podemos utilizar:
[root@Console /root]# date +%d/%m/%y
27/09/00
94 Linux: Sistema Operacional II

Atravs de scripts pode se fazer uso interessante destes diversos parmetros para o
comando date.
dd
Nome
dd converte interativamente um arquivo.
Resumo
dd [OPES]...
Descrio
Converte e formata interativamente de acordo com as opes.
bs =BYTES Fora ibs=BYTES e obs=BYTES.
cbs =BYTES Converte o total de BYTES informados de cada vez.
conv=KEYWORDS Converte o arquivo considerando os parmetros
(KEYWORDS) separados por vrgulas.
count=BLOCKS Copia apenas a quantidade de blocos especfica em
BLOCKS.
ibs=BYTES L o total de bytes especificado em BYTES.
if=FILE L o arquivo especificado em FILE ao invs de faz-lo pela entra-
da padro (teclado).
obs =BYTES Escreve a quantidade de bytes especificada em BYTES.
of=FILE Escreve para o arquivo especificado em FILE ao invs da sada
padro.
seek=BLOCKS Localiza o total de BLOCKS especificado no parmetro
obs=BYTES, iniciando a partir deste ponto a sada.
skip=BLOCKS Pula o total de blocos especificado em BLOCKS no par-
metro ibs=BYTES iniciando a entrada.
--help Exibe a ajuda e sai.
--version Exibe a verso e sai.
O parmetro BYTES especificado pode utilizar os seguintes sufixos mult i-
plicadores:
O Bash 95

c 1 = 1 byte
w 2 = 2 bytes
b 512 = 512 bytes
kD 1000 = 1000 bytes
k 1024 = 2
10
bytes
MD 1.000.000 = 10
6
bytes
M 1.048.576 = 2
20
bytes
GD 1.000.000.000 = 10
9
bytes
G 1.073.741.824 = 2
30
bytes
TD 1.000.000.000.000 = 10
12
bytes
T 1.099.511.627.776 = 2
40
bytes
PD 1.000.000.000.000.000 = 10
15
bytes
P 1.125.899.906.842.624 = 2
50
bytes
ED 1.000.000.000.000.000.000 = 10
18
bytes
E 1.152.921.504.606.846.976 = 2
60
bytes
O parmetro KEYWORD pode receber as seguintes palavras:
ascii de EBCDIC para ASCII.
ebcdic de ASCII para EBCDIC.
ibm de ASCII para EBCDIC alternativo.
block para cada terminador de linha insere brancos segundo parmetro
cbs=BYTES.
unblock substitui o preenchimento de espaos especificados no parmetro
cbs=BYTES com quebra de linha.
lcase troca todas as letras maisculas por minsculas.
notrunc no trunca do arquivo de sada os caracteres adicionais.
ucase troca todas as letras minsculas para maisculas.
swab troca cada par de bytes entrados.
noerror continua mesmo depois de encontrar erros.
sync preenche cada bloco de entrada com nulos segundo o parmetro
ibs=BYTES.
Autor
Programa escrito por Paul Rubin, David MacKenzie e Stuart Kemp.
96 Linux: Sistema Operacional II

Copyright
Copyright 1999 Free Software Foundation, Inc.
Exemplo
Neste exemplo utiliza-se o editor de textos pico para criar um arquivo simples
chamado teste.

Utilizando agora a tcnica para redirecionamento de entrada e o parmetro
adequado do comando dd, faz-se a converso de todos os caracteres que esto em
letras maisculas (ucase), para minsculas (lcase).

df
Nome
df informa o espao em disco utilizado por um filesystem.
Resumo
df [OPES]... [ARQUIVO]...
O Bash 97

Descrio
O comando df exibe a quantidade de espao disponvel para cada filesystem
montado (mounted). O espao exibido em blocos de 1K por default ao invs de
512 bytes, a menos que a varivel de ambiente POSIXLY_CORRECT esteja
definida.
Esta verso do df no exibe informaes sobre filesystems que no estejam
montados, porque na maioria das vezes os sistemas fazem referncia a estruturas de
filesystem no suportados.
Opes
Mostrar informaes sobre o filesystem no qual cada ARQUIVO reside, ou de todo
o filesystem por default.
-a, --all Inclui filesystems que tenham zero bloco.
--block-size =SIZE Utiliza blocos de SIZE-byte.
-h, --human-readable Exibe tamanhos fceis de ler (1K, 234M, 2G).
-H, --si O mesmo que -H, mas utiliza potncias de 1000 e no de 1024.
-i, --inodes Lista informaes sobre inode ao invs de blocos.
-k, --kilobytes Equivalente a --block-size=1024.
-l, --local Limita a listagem aos filesystems locais.
-m, --megabytes Equivalente a --block-size=1048576.
--no-sync No faz o sync antes de exibir as informaes (default).
-P, --portability Usa o padro POSIX de sada.
--sync Faz o sync antes de exibir as informaes.
-t, --type=TYPE Limita a exibio aos filesystems especificados em TY-
PE.
-x, --exclude-type=TYPE Limita a exibio aos filesystems no especifi-
cados por TYPE.
-v (ignored).
--help Exibe o help e sai.
--version Exibe a verso do df e sai.
Autor
Programa escrito por Torbjorn Granlund, David MacKenzie, Larry McVoy e
Paul Eggert.
98 Linux: Sistema Operacional II

Copyright
Copyright 1999 Free Software Foundation, Inc.
Exemplos
Utilizando o parmetro h o df informa o espao dos filesystem montados
utilizando uma nomenclatura de leitura direta. No /dev/hda1, por exemplo, temos
uma partio de 1.8GB montada dos quais 951MB esto livres.

Utilizando o parmetro k o df informa utilizando quantidades de blocos de 1k
tornando a leitura um pouco mais difcil.

Nos sistemas System V a informao dada em blocos de 512 bytes.

dmesg
Nome
dmesg exibe informaes de configurao do kernel.
Resumo
dmesg [ -c ] [ -n level ] [ -s bufsize ].
Descrio
O dmesg usado para examinar ou controlar o anel central do kernel. O programa
ajuda o usurio a exibir as mensagens dadas no momento do boot.
O Bash 99

Opes
-c Limpa o contedo do buffer depois de imprimir.
-sbufsize Utiliza um tamanho de buffer para recuperar as informaes que
esto no buffer do kernel. O default de 8196 bytes, mas pode variar em ca-
da verso do kernel.
-nlevel Define o nvel no qual o processo de login deve enviar mensagens
para a console. Por exemplo, -n 1 evita o envio de todas as mensagens.
Autor
Programa escrito por Theodore Ts'o.
Exemplo
Ao emitir o comando dmesg, a log do processo de inicializao do Linux que fora
gravada em sua ltima inicializao exibida ao usurio.
Linux version 2.2.14-5.0 (root@porky.devel.console.com) (gcc version egcs -2.91.66
19990314/Linux (egcs-1.1.2 release)) #1 Tue Mar 7 20:53:41 EST 2000
Detected 150642089 Hz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 60.01 BogoMIPS
Memory: 63008k/65536k available (1084k kernel code, 412k reserved, 968k data, 64k init,
0k bigmem)
Dentry hash table entries: 262144 (order 9, 2048k)
Buffer cache hash table entries: 65536 (order 6, 256k)
Page cache hash table entries: 16384 (order 4, 64k)
VFS: Diskquotas version dquot_6.4.0 initialized
CPU: Intel Pentium 75 200 stepping 0c
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.
Intel Pentium with F0 0F bug workaround enabled.
POSIX conformance testing by UNIFIX
PCI: PCI BIOS revision 2.10 entry at 0xfb0d0
PCI: Using configuration type 1
PCI: Probing PCI hardware
LinuxNET4.0 for Linux 2.2
100 Linux: Sistema Operacional II

Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
TCP: Hash tables configured (ehash 65536 bhash 65536)
Initializing RT netlink socket
Starting kswapd v 1.5
Detected PS/2 Mouse Port.
Serial driver version 4.27 with MANY_PORTS MULTIPORT SHARE_IRQ enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
pty: 256 Unix98 ptys configured
apm: BIOS not found.
Real Time Clock Driver v1.09
RAM disk driver initialized: 16 RAM disks of 4096K size
PIIX: IDE controller on PCI bus 00 dev 38
PIIX: not 100% native mode: will probe irqs later
PIIX: neither IDE port enabled (BIOS)
PIIX: IDE controller on PCI bus 00 dev 39
PIIX: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x3000-0x3007, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0x3008-0x300f, BIOS settings: hdc:pio, hdd:pio
hda: QUANTUM Pioneer SG 2.1A, ATA DISK drive
hdb: HITACHI CDR-7730, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: QUANTUM Pioneer SG 2.1A, 2014MB w/40kB Cache, CHS=1023/64/63
hdb: ATAPI 4X CD-ROM drive, 128kB Cache
Uniform CDROM driver Revision: 2.56
Floppy drive(s): fd0 is 1.44M
FDC 0 is an 8272A
md driver 0.90.0 MAX_MD_DEVS=256, MAX_REAL=12
raid5: measuring checksumming speed
8regs : 150.495 MB/sec
32regs : 111.252 MB/sec
using fastest function: 8regs (150.495 MB/sec)
scsi : 0 hosts.
O Bash 101

scsi : detected total.
md.c: sizeof(mdp_super_t) = 4096
Partition check:
hda: hda1 hda2 < hda5 >
autodetecting RAID arrays
autorun ...
... autorun DONE.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 64k freed
Adding Swap: 133016k swap-space (priority -1)
ne2k-pci.c:vpre-1.00e 5/27/99 D. Becker/P. Gortmaker
http://cesdis.gsfc.nasa.gov/linux/drivers/ne2k-pci.html
ne2k-pci.c: PCI NE2000 clone 'RealTek RTL-8029' at I/O 0x6000, IRQ 10.
eth0: RealTek RTL-8029 found at 0x6000, IRQ 10, 00:C0:DF:AA:3B:38.
dnsdomainname
Ver hostname.
doexec
Nome
doexec roda um programa executvel com um argumento argv[0].
Resumo
doexec /path/to/executable argv[0] [argv[1-n]].
Descrio
O comando doexec simplesmente roda um executvel com uma lista de
argumentos. Isto permite que seja especificado um argv[0] outro nome de um
executvel.
Opes
Todas as opes so passadas dentro da lista executvel argv que comea a
ser executada.
102 Linux: Sistema Operacional II

domainname
Ver hostname.
echo
Nome
echo exibe uma linha de texto.
Resumo
echo [OPTION]... [STRING]...
Descrio
Exibe a STRING para a sada padro (standard output).
--help Exibe o help e sai.
--version Exibe a verso e sai.
Copyright
Copyright 1999 Free Software Foundation, Inc.
ed
Nome
ed, red editor de textos.
Resumo
ed [-] [-Gs] [-p string] [file]
red [-] [-Gs] [-p string] [file]
Descrio
O ed um editor orientado a linha. Ele usado para criar, exibir, modificar e outras
manipulaes em arquivo texto. O editor red segue a mesma diretriz sendo um
pouco mais restrito. O red s edita arquivos do diretrio atual e no executa
comandos Shell.
O Bash 103

Se for chamado como argumento na linha de comando um nome de arquivo, o
arquivo ser carregado para o buffer. As mudanas que forem efetuadas no
atingem diretamente o arquivo, mas apenas o buffer. O encerramento do ed sem o
parmetro para gravao 'w' causar a perda do que foi editado.
As edies podem ser feitas de duas formas distintas: comandos e entrada direta.
Quando um comando invocado, o ed l da entrada padro os comandos que
permitem manipular o buffer. Um formato tpico de comando o seguinte:
s/antigo/novo/g, que substituir todas as ocorrncias da string antigo pela string
novo.
Quando um comando de entrada como o 'a' (append), 'i' (insert) ou 'c' (change),
informado, o ed entra em modo de entrada. Este o principal modo de adicionar
texto a um arquivo. Neste modo nenhum comando est disponvel; ao invs disto,
a entrada padro escrita diretamente para o buffer do editor. Linhas consistem de
texto que esto sendo includos como o caractere newline. O modo de entrada
encerrado ao entrar um simples ponto (.) numa linha.
Todos os comandos do ed so operados diretamente na linha e afetam esta linha ou
um intervalo especificado dela. Por exemplo, o comando 'd' deleta linhas, o
comando 'm' move linhas, e assim por diante. Com oed possvel modificar
apenas uma parte da linha atravs da substituio como explicado anteriormente.
Todavia o comando 's' aplica ajustes a todas as linhas do arquivo de uma vez.
Geralmente os comandos do ed consistem de nenhum ou mais endereos de linha,
seguidos por um caractere de comando e possivelmente parmetros adicionais. Por
exemplo, a estrutura geral dos comandos :
[address [,address]]command[parameters]
Os endereos (address) indicam a linha ou intervalo delas, que sero afetadas pelo
comando. Se forem dados menos endereos do que o comando aceita, ento o
endereo default ignorado.
Opes
-G Fora compatibilidade. Afeta os comandos 'G', 'V', 'f', 'l', 'm', 't', e '!!'.
-s No faz interpretao. Deve ser utilizado se for entrado a partir de um
script.
-p string Especifica o prompt de comando. Ele deve ser sozinho e sem o
comando 'P'.
104 Linux: Sistema Operacional II

file Especifica o nome do arquivo que ser lido. Se o nome de arquivo for
precedido por uma exclamao, ento ele ser interpretado como um coman-
do Shell. Neste caso, o que for lido pela sada padro do arquivo ser execu-
tado via Shell.
Para ler um arquivo que comece com exclamao, utilize o prefixo barra in-
vertida (backslash).
Endereando Linhas
Um endereo representa o nmero da linha no buffer do ed. O ed mantm o
endereo atual, o qual geralmente provido pelo comando como um endereo
default quando nada mais especificado. Quando um arquivo lido, o endereo da
linha default aponta para a ltima linha do arquivo.
Um endereo de linha acessado por um dos seguintes controles que combinam
dgitos e operadores. Por exemplo: +, -, ^ e espao em branco. Os endereos so
lidos da esquerda para a direita e os valores so computados relativamente.
Um endereo um intervalo entre duas linhas separado por uma vrgula ou ponto e
vrgula. O valor do primeiro endereo em um intervalo no pode exceder o valor
do segundo.
Se apenas um endereo for dado no intervalo, ento o segundo endereo setado
para o endereo dado. Se um par de endereos for maior que 2, ento o intervalo
correspondente determinado pelo ltimo dos dois endereos do par. Se apenas um
endereo for esperado, ento o ltimo endereo ser usado.
Cada endereo delimitado por vrgulas ser interpretado relativamente ao endereo
atual. Quando o delimitador for ponto e vrgula, o primeiro endereo usado para
setar o endereo atual e o segundo endereo interpretado relativo ao primeiro.
Smbolos reconhecidos para endereos:
. A linha atual no buffer.
$ A ltima linha do buffer.
n A ensima linha no buffer, onde n um nmero entre 0 e $.
- ^ A linha anterior. Equivalente a -1 podendo ser repetida de forma cumu-
lativa.
-n ^n A ensima linha anterior, onde n um nmero positivo.
O Bash 105

+ A prxima linha. Equivale a +1 e pode ser repetido de forma cumulativa.
+n A ensima prxima linha, onde n um nmero positivo.
, % Equivalente ao endereo 1,$.
; Equivalente a .,$.
/re/ A prxima linha que contenha a expresso re. // repete a ltima procu-
ra.
?re? A linha anterior atual que contenha a expresso re. ?? repete a lti-
ma procura.
lc A linha previamente marcada por um comando 'k', onde lc uma letra
minscula.
Expresses Regulares
Expresses regulares so padres utilizados para selecionar texto. Por exemplo, o
comando ed g/string/ imprime todas as linhas que contm a string. Expresses
regulares tambm podem ser utilizadas pelo comando 's' para selecionar textos a
serem substitudos.
Os seguintes smbolos so usados em uma Expresso Regular:
c Qualquer caractere no listado, incluindo '{', '}', '(', ')', '<' and '>'.
\c Uma barra invertida permite indicar os caracteres '{', '}', '(', ')', '<', '>', 'b' ,
'B', 'w', 'W', '+', e '?'.
Para encontrar qualquer outro caractere
[char-class] Encontra caracteres listados em char-class. Para incluir um ']' no
char-class, ele deve ser o primeiro caractere. Um intervalo de caracteres pode ser
especificado separando-se os caracteres do intervalo com um '-', por exemplo, 'a-z'
especifica todas as letras minsculas entre a e z. As literais a seguir podem ser um
char-class:
[:alnum:] [:cntrl:] [:lower:] [:space:]
[:alpha:] [:digit:] [:print:] [:upper:]
[:blank:] [:graph:] [:punct:] [:xdigit:]
Se '-' aparecer como o primeiro ou o ltimo caractere da char-class, ento ele
encontrar o prprio '-'.
106 Linux: Sistema Operacional II

[^char-class] Encontra um caractere que no a linha do char-class.
^ Se '^' for o primeiro caractere da expresso, ento ele encontrar ele mesmo.
$ Se '$' for o primeiro caractere da expresso, ento ele encontrar ele mesmo.
\(re\) Define uma subexpresso re. Subexpresses podem ser aninhadas.
* Encontra um caractere qualquer. Se '*' for o primeiro caractere da expresso,
ento ele encontrar ele mesmo. Este operador pode ser usado para encontrar, por
exemplo, todas as palavras que comecem por b 'b*'.
\{n,m\}
\{n,\}
\{n\} Encontra um simples caractere em uma subexpresso. Por exemplo, a ex-
presso ' \{2\}' encontra a string '{2}'.
Comandos
Todos os comandos ed so caracteres simples, sendo que alguns requerem
parmetros adicionais. Se um comando possui um parmetro que o extende para
diversas linhas, ento cada linha, exceto a ltima, deve ser terminada por uma barra
invertida (\).
Geralmente os comandos so simples, todavia muitos comandos aceitam sufixo
para impresso 'p' (print), 'l' (list), ou 'n' (enumerate), para imprimir a ltima linha
afetada pelo comando.
Para interromper um comando usa-se o (^C) Control + C, que abortar o comando
atual e retornar para a linha de comando do editor.
(.)a Appends Insere texto aps a linha atual.
(.,.)c Changes Muda linhas no buffer.
(.,.)d Deletes Apaga a linha do buffer.
e file Edita o arquivo e seta como arquivo default.
e !command Edita a sada padro de um '!command'.
(1,$)g/re/command-list Aplica a lista de comandos command-list para cada
endereo encontrado.
(1,$)G/re/ Edita interativamente.
O Bash 107

H Imprime os erros em detalhes ao invs de apenas uma ?.
H Mostra detalhes do ltimo erro.
(.)i Insere no buffer antes do endereo atual.
(.,.+1)j Faz uma juno entre os endereos.
(.)klc Marca uma linha com um letra minscula lc.
(.,.)l Imprime o endereo.
(.,.)m(.) Mode linha do buffer.
(.,.)n Imprime as linha do endereo n.
(.,.)p Imprime o endereo da linha.
P Mostra / oculta o prompt de comando (*).
Q Sai do ed.
Q Sai do ed sem salvar.
($)r file L o arquivo aps a linha atual no buffer.
($)r !command Lei para depois do endereo o resultado do comando
'!command'.
(.,.)s/re/replacement/
(.,.)s/re/replacement/g
(.,.)s/re/replacement/n Localiza e substitui.
(.,.)s Repete a ltima substituio.
(.,.)t(.) Copia a linha atual para o endereo.
u Desfaz o ltimo comando.
(1,$)v/re/command-list Aplica a lista de comandos para cada endereo da
lista.
(1,$)V/re/ O mesmo interativamente.
(1,$)w file Escreve o resultado para file.
(1,$)wq file Escreve o resutado para file e sai do ed.
(.)x Copia o contedo do buffer.
!command Executa o comando via shell.
($)= Imprime o nmero da linha.
108 Linux: Sistema Operacional II

egrep
Nome
grep, egrep, fgrep exibe as linhas onde determinada string foi encontrada.
Resumo
grep [-[ABC] NUM] [-EFGHLUVZabchilnqrsuvwxyz] [-e PATTERN | -f
FILE] [-d ACTION] [--directories=ACTION] [--extended- regexp][--fixed-
strings] [--basic-regexp] [--regexp=PATTERN] [--file=FILE] [--ignore-
case] [--word-regexp] [--line-regexp] [--line-regexp] [--no-messages] [-
-invert match] [--version] [--help] [--byte-offset] [--line-number] [--with-
filename] [--no-filename] [--quiet] [--silent] [--text] [--files-without-
match] [--files-with-matches] [--count] [--before-context=NUM] [--after-
context=NUM] [--context[=NUM]] [--binary] [--unix-byte-off-sets] [--
mmap] [--null] [--recursive] [file...]
Descrio
Grep procura pela string informada pela entrada padro, no arquivo ou lista de
ocorrncias passada como parmetro, retornando as linhas onde a string for
encontrada. So trs as principais formas de utilizar o grep:
-G, --basic-regexp Interpreta o padro como uma expresso regular (de-
fault).
-E, --extended-regexp Interpreta o padro como uma expresso estendida
(veja adiante).
-F, --fixed-strings Interpreta o padro como uma lista de strings fixas, se-
paradas por newlines, qualquer que seja o padro.
Adicionalmente, duas variaes do programa grep (egrep e fgrep) esto dis-
ponveis. Egrep o mesmo que grep com o parmetro -E. Fgrep o mesmo
que grep com o parmetro -F.
Todas as variaes do grep aceitam as seguintes opes:
-A NUM, --after-context=NUM Imprime as linhas onde a string foi encon-
trada e NUM linhas aps.
-B NUM, --before-context=NUM Imprime as linhas onde a string foi en-
contrada e NUM linhas antes.
O Bash 109

-V, --version Imprime a verso do programa grep.
-b, --byte-offset Imprime o nmero do byte do arquivo ou lista onde a
string foi encontrada, antes da linha.
-c, --count Imprime somente a quantidade de linhas nas quais a string foi
encontrada.
-f FILE, --file=FILE = Obtm a string que ser procurada a partir de um
arquivo ao invs da entrada padro.
-H, --with-filename Simplesmente imprime a entrada padro antes de cada
linha da ocorrncia encontrada.
-h, --no-filename Imprime somente cada linha com a string encontrada.
-i, --ignore-case No faz distino entre letras maisculas e minsculas.
-n, --line-number Imprime o nmero da linha na qual a string foi encontra-
da.
-s, --no-messages Suprime mensagens de erro.
-a, --text No suprime mensagens de erro no caso de ler arquivos binrios.
-v, --invert-match Imprime as linhas que no possuem a string informada.
-y Obsoleto, trocado por -i.
-U, --binary Trata os arquivos como binrio. Por default, sob MS-DOS e
MS-Windows, grep automaticamente "percebe" o tipo do arquivo e verifica
seu contedo nos primeiros 32KB lidos do arquivo. Se o grep determinar que
o arquivo do tipo texto, ele retira os caracteres CR do arquivo original (pa-
ra tratar corretamente expresses regulares com ^ e $). Detalhando, o par-
metro -U anula o que ele mesmo determinou, fazendo com que todos os ar-
quivos sejam lidos e passados para o mecanismo de procura textualmente
(palavra por palavra); se o arquivo for do tipo texto com pares marcadores de
CR/LF ao final de cada linha, isto far com que a expresso regular falhe.
Expresses Regulares
Uma Expresso Regular um padro que descreve um conjuntos de string. So
construdas de forma anloga a expresses aritmticas, sendo possvel utilizar
vrios operadores e combinar pequenas expresses.
Grep entende duas diferentes verses para sintaxe de expresses regulares: "basic"
e "extended". No GNU grep, no h diferena entre estas duas expresses que
esto disponveis com a mesma funcionalidade. Em outras implementaes, uma
110 Linux: Sistema Operacional II

expresso regular bsica pode ser menos poderosa. A descrio seguinte se aplica a
expresses regulares estendidas.
Um bloco fundamental de construo para expresses regulares composto de
caracteres simples. A maioria dos caracteres, incluindo todas as letras e dgitos, so
expresses regulares para encontrar elas mesmas. Qualquer metacaractere com
significado especial pode ser colocado por procedncia barra invertida.
Uma lista de caracteres entre colchetes combina-se com os demais que estejam fora
da lista; se o primeiro caractere da lista for ^ ento ser encontrado qualquer
caractere, que combinado com os demais, no esteja na lista. Por exemplo, a
expresso regular [0123456789] encontrar qualquer um dos dgitos. Um intervalo
de caracteres ASCII pode ser especificado informando-se o primeiro e o ltimo
separando-os por um hfen. Finalmente certos nomes de classes de caracteres so
predefinidos. Seu contedo auto-explicativo, e so os seguintes:
[:alnum:]
[:alpha:]
[:cntrl:]
[:digit:]
[:graph:]
[:lower:]
[:print:]
[:punct:]
[:space:]
[:upper:]
[:xdigit:]
Por exemplo, [[:alnum:]] significa [0-9A-Za-z], excetuando-se as letras que
necessitem de codificao e no sejam portveis ( e vogais acentuadas). (Observe
que ao utilizar expresses predefinidas os nomes simblicos devem estar entre dois
pontos. Alguns metacaracteres perdem o seu significado especial dentro da lista.
Para incluir o literal ] (fecha colchetes) coloque-o como primeiro da lista. Da
mesma forma, para procurar o caractere ^ (cincunflexo) e (hfen). Para encontrar
o . (ponto) proceda como qualquer outro caractere.
O smbolo \w sinnimo para [[:alnum:]] e \W sinnimo para [^[:alnum]].
Os caracteres ^ (circunflexo) e $ (dlar) so metacaracteres que encontram
respectivamente uma string vazia no comeo e no fim de uma linha.
O Bash 111

Os simbolos \< e \> respectivamente encontram uma string vazia no comeo e no
final de uma palavra. O smbolo \b encontra uma string vazia na extremidade de
uma palavra.
Uma expresso regular pode utilizar os seguintes operadores:
? Substitui qualquer caractere mas apenas uma vez.
* O item precedente ser encontrado nenhuma ou mais vezes.
+ O item precedente ser encontrado uma ou mais vezes.
{n} O item precedente procurado exatamente n vezes.
{n,} O item precedente procurado n ou mais vezes.
{n,m} O item precedente procurado pelo menos n, mas no mais do que
m vezes.
Duas expresses regulares podem ser concatenadas; o resultado da procura por
uma expresso regular ser formada por uma expresso regular, concatenada com
as duas substrings onde respectivamente os resultados ocorrem.
Duas expresses regulares podem ser juntadas pelo operador |; o resultado desta
expresso ser uma expresso regular que encontra qualquer string na subex-
presso.
Repetio tem precedncia sobre a concatenao, que tem precedncia sobre a
alternao. Um conjunto de subexpresses podem ser colocadas entre parnteses
para mudar estas regras de precedncia.
O break \n, onde o n apenas um simples dgito, encontrar a ensima substring
precedida por parnteses numa subexpresso.
Na expresses regulares os metacaracteres ?, +, {, |, (, e ) perdem o seu
significado especial quando combinados com o sinal de barra invertida: \?, \+, \{, \|,
\(, e \).
Tradicionalmente o egrep no suporta o metacaractere {, e algumas implemen-
taes do egrep implementam suporte \{. Desta forma, para criar scripts que sejam
portveis deve-se evitar o uso de { nos padres egrep patterns e deve-se utilizar [{]
para encontrar um literal {.
O GNU egrep tenta suportar o uso tradicional ao assumir que { no um caractere
especial se for colocado no incio de uma especificao de intervalo vlido. Por
exemplo, o comando emitido no shell egrep '{1' procurar por dois caracteres {1
112 Linux: Sistema Operacional II

ao invs de reportar um erro de sintaxe na expresso regular. Scripts portveis (que
devam funcionar em qualquer Unix) devem evitar este tipo de combinao em
expresses regulares.
Diagnstico
Normalmente, o status de sada 0 se ocorrncias forem encontradas e 1 se
nenhuma ocorrncia for encontrada. A opo -v inverte isto para o status de sada.
O status de sada 2 se algum erro de sintaxe for encontrado no padro de busca,
se o arquivo de busca estiver inacessvel ou se algum outro erro de sintaxe for
encontrado.
ex / view
Nome
vim Vi IMproved (vi aperfeioado), um editor de textos.
Resumo
ex
view
Descrio
Vim um editor de textos compatvel funcionalmente ao vi. Ele pode ser utilizado
para editar qualquer arquivo texto ASCII sendo especialmente til para editar
programas.
Vim oferece uma srie de avanos sobre o vi: mltiplos nveis de desfazer (undo),
mltiplas janelas e buffers, realce de sintaxe, edio de linha de comando,
detalhamento sobre o arquivo (nome completo, linhas colunas), help on-line,
seleo de visual, etc. Veja no arquivo ":help vi_diff.txt" um resumo com as
diferenas entre Vim e Vi.
Vim oferece um help que pode procurar por comandos enquanto edita-se um ou
mais arquivos, retornando seu significado e utilizao alm do conjunto de
comandos. Utilize ":help command".
A maneira mais simples de utilizar o vim para editar um arquivo texto: vim
arquivo
O Bash 113

Pode tambm ser utilizado com vim [opes] [lista de arquivos]
Se a lista de arquivos for ilegal o editor iniciado com o buffer vazio. Umas das
quatro maneiras podem ser utilizadas para escolher um ou mais arquivos a serem
editados.
arquivo ... Uma lista de nomes de arquivo. O primerio arquivo da lista ser lido
para o buffer e o cursor posicionado na primeira linha. Para pegar o prximo
arquivo utilize o comando ":next" e o comando ":prev" para pegar o anterior.
Um arquivo editado a partir da entrada padro (stdin).
-t {tag} O arquivo a ser editado e a posio do cursor dependem da "tag". A
{tag} examinada com os arquivos de tag. A associao de arquivos com tags
ocorre no arquivo atual ou quando o comando executado. Geralmente isto
usado por programadores C, em que uma case {tag} pode ser o nome de uma
funo. O efeito do arquivo que contm as funes torna-se o arquivo atual e o
cursor posicionado no incio da funo. Veja mais em ":help tag-commands".
-q [errorfile] Inicia o editor em modo quickFix. O arquivo [errorfile] lido e o
primeiro erro exibido. Se [errorfile] for omitido, o arquivo obtido da opo
defaults "errors.vim". Os erros podem ser pulados com o comando ":cn". Veja
mais em ":help quickfix".
Vim age de forma diferente dependendo do argumetno informado:
Vim a forma "normal" de ativao, sendo o default.
ex ou e Inicia em "Ex mode". Para mudar para o modo "normal" utilize o
comando ":vi" command.
view ou R Inicia em modo "read-only", protegendo desta forma o arquivo
contra alteraes acidentais.
gvim gview ou vim g Verses GUI do vim. Abre uma nova janela no desktop
(KDE, por exemplo).
rvim rview rgvim rgview ou vim Z Da mesma forma que o anterior, porm com
restries. No possvel startar comandos shell ou suspender o vim.
114 Linux: Sistema Operacional II

Opes
As opes podem ser colocadas em qualquer ordem antes ou depois do nome do
arquivo. Opes sem argumento podem ser combinadas depois do dash.
+[num] Para o primeiro arquivo de uma lista, o cursor ser posicionado na linha
"num". Se "num" no existir, o cursor ser posicionado na ltima linha do arquivo.
+/{padro} Para o primeiro arquivo o cursor ser posicionado na primeira
ocorrncia do {padro}. Veja ":help search-pattern" para outros padres
diponveis.
+{command} -c {command} {command} ser executado depois do pr imeiro
arquivo ser lido, sendo interpretado como um comando Ex.: Se {command}
contiver espaos ele deve estar entre aspas duplas (isto depende do shell que voc
usa). Por exemplo: Vim "+set si" main.c
At 10 comandos "+" ou "-c" podem ser utilizados.
-b Modo binrio. Torna possvel editar arquivos executveis.
-C Compatvel. Ativa o vim para que seja mais compatvel com o vi. O arquivo
.vimrc deve existir.
-m Modificao de arquivos desabilitada.
-N Modo no compatvel. Reseta a opo 'compatible'. Far com que vim se
comporte de forma parecida com o vi, mesmo que o arquivo .vimrc no exista.
-n Desliga o swap. Torna a recuperao aps um crash impossvel. Conveniente
se estiver editando um arquivo residente em uma mdia lenta como o disquete.
Pode tambm ser utilizado o argumento ":set uc=0".
-o[N] Abre N janelas. Quando N omitido, abre uma janela para cada arquivo.
-R Abre no mode Read-only. Com esta opo possvel editar o buffer, mas
quando for salvar, um aviso ser emitido que o arquivo read-only. Se voc quiser
sobrescrever o arquivo, uma exclamao deve ser inserida antes do comando
w(rite) ":w!". Para mais informaes veja ":help 'readonly'".
-r Lista os arquivos de swap criados durante a edio com as informaes para
recovery dos mesmos.
O Bash 115

-r {arquivo} Modo recovery. O arquivo de swap usado para recuperao em
caso de crash durante uma sesso de edio. Os arquivos de swap do vim possuem
o mesmo nome do arquivo com a extenso ".swp". Para mais informaes veja
":help recovery".
-V Verbose. Emite mensagens sobre quais arquivos so criados, lidos e escritos
durante o incio da edio.
Help on-line
Digite ":help" no prompt do Vim para obter instrues. Para obter o help de um
tpico especfico digite ":help tpico". Por exemplo: ":help append" para obter o
help sobre o comando "append". Para completar os comandos utilize <Tab> na
linha do help e ele completar o nome do comando existente. Pressione <Tab>
novamente e os comandos com as iniciais informadas sero completados. Veja
":help cmdline-completion".
Arquivos
/usr/share/vim/vim56/doc/*.txt
Para obter a lista completa use ":help doc-file-list".
/usr/share/vim/vim56/doc/tags
Lista de tags utilizadas para encontrar informaes nos arquivos de docu-
mentao.
/usr/share/vim/vim56/syntax/*.vim
Sistema de inicializao de destaques de sintaxe em vrias linguagens.
/usr/share/vim/vim56/filetype.vim
Script para detectar o tipo de arquivo pelo seu nome. Veja ":help 'filetype'"
para mais informao.
Autor
A maior parte do Vim foi feita por Bram Moolenaar, com a ajuda de outros. Veja
":help credits" para detalhes dos colaboradores e em que cada um ajudou. Vim
baseado no Stevie, desenvolvido por: Tim Thompson, Tony Andrews e G.R. (Fred)
Walter. Apesar de ser pouco provvel, algum cdigo original pode ter ficado
remanescente e estar em uso na atual verso do Vim.
116 Linux: Sistema Operacional II

Bugs
Provavelmente. Veja ":help todo" para obter uma lista de bugs conhecidos.
false
Nome
false no faz nada, sem xito.
Resumo
false [linha de comando ignorada]
false OPO
Descrio
Sai com um cdigo de status indicando uma falha.
Estas opes no podem ser abreviadas.
--help Mostra o help e sai
--version Mostra a verso e sai.
Veja tambm
Para documentao completa digite o comando: info false.
Copyright
Copyright 1999 Free Software Foundation, Inc.
exit
Comando Tcl embutido
Nome
exit Finaliza a aplicao.
Resumo
exit ?returnCode?
O Bash 117

Descrio
Termina o processo retornando o returnCode para o sistema como status de sada.
Se o returnCode no for especificado, ento ser usado o default 0.
find
Nome
find procura por arquivos na estrutura de diretrios.
Resumo
find [caminho...] [expresso]
Descrio
Esta descrio abrange a verso GNU do find. find localiza arquivos e diretrios a
partir de um ponto da estrutura de arquivos, segundo parmetros e argumentos
prprios que so avaliados da esquerda para a direita de acordo com suas regras de
precedncia.
O primeiro argumento do find deve comear com "-", "(" , ")", "," ou "!"; Qualquer
argumento antes disto so caminhos de procura e qualquer argumento depois disto
so o resto da expresso. Se nenhum caminho for informado, o diretrio corrente
assumido e se nenhuma expresso for informada a expresso -print utilizada.
Expresses
A expresso feita com opes (as quais afetam todas as operaes antes de processar o
arquivo especfico e sempre retornam o valor verdadeiro), testes (que retornam
verdadeiro ou falso), e aes (que tm efeito complementar e retornam valor verdadeiro
ou falso), todos separados por operadores. -and ser assumido se nenhum operador for
informado. Se a expresso no contiver nenhuma outra ao, -prune assumido, -print
ser feito para todos os arquivos para os quais a expresso for verdadeira.
Opes
Todas as opes sempre retornam verdadeiro. Elas sempre causam efeito, antes de
serem processadas, apenas quando seu lugar na expresso for atingido. Portanto,
para ficar claro, o melhor lugar para colocar uma opo no comeo da expresso.
118 Linux: Sistema Operacional II

-daystart Mede tempos (-amin, -atime, -cmin, -ctime, -mmin, and -
mtime) a partir do incio do today at 24 horas atrs.
-depth Processa o contedo de cada diretrio antes do prprio diretrio.
-follow Desliga as referncia para links simblicos. Implica -noleaf.
-help, --help Imprime um sumrio com as linhas de comando mais utiliza-
das pelo find e sai.
-maxdepth levels Precede a maioria do nveis (o parmetro deve ser um
inteiro no negativo), indicando os nveis de diretrios a serem afetados pe-
los argumentos da linha de comando. "-maxdepth 0" significa que somente
um teste ser feito e que as aes no se aplicam aos argumentos informa-
dos.
-mindepth levels No se aplica qualquer teste ou ao aos nveis (o par-
metro deve ser um inteiro no negativo). "-mindepth 1" significa processar
todos os arquivos exceto os argumentos da linha de comando.
-mount No precede diretrios de outro filesystem. Um nome alternativo
-xdev aceito para manter compatibilidade com outras verses do find.
-noleaf Otimiza ao assumir que o diretrio contm pelo menos 2 subdire-
trios a menos do que os links fsicos indicam. Esta opo necessria
quando a procura no filesystem no seguir as convenes de link do Unix,
como um filesystem de CD-ROM, MS-DOS ou volume NFS. Cada diretrio
de um sistema Unix normal tem pelo menos 2 links fsicos: seu prprio no-
me (.) e da estrutura pai (..). Quando o find examina o diretrio, depois de
constatar as duas entradas padro, ele sabe que as demais entradas so dire-
trios ou arquivos na rvore de diretrios. Se apenas os nomes de arquivo se-
ro examinados, no h necessidade de considerar aqueles dois ento; isto d
um significativo incremento na velocidade de procura.
-version, --version Imprime a verso do find e sai.
-xdev Evita que o find desa aos diretrios de outro filesystem.
Testes
Argumentos numricos podem ser especificados como:
+n maior do que n,
-n menor do que n,
n igual a n.
-amin n Arquivo foi acessado h n minutos atrs.
O Bash 119

-anewer file Arquivo foi acessado mais recentemente do que o arquivo foi
modificado. -anewer afetado por -follow apenas se -follow aparecer antes
de -anewer na linha de comando.
-atime n Arquivo foi acessado h n*24 horas atrs.
-cmin n O status do arquivo foi modificado h n minutos atrs.
-cnewer file O status do arquivo foi alterado mais recentemente do que o
arquivo foi modificado. -anewer afetado por -follow apenas se -follow apa-
recer antes de -anewer na linha de comando.
-ctime n O status do arquivo foi modificado h n*24 horas atrs.
-empty Arquivo est vazio ou um diretrio.
-false Sempre falso.
-fstype type Arquivo est em um filesystem do tipo especificado em type.
Os tipos vlidos de filesystem variam muito com as diferentes verses de
Unix; uma lista incompleta de tipos de filesystem aceitos na maioria dos U-
nix inclui entre outros: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K. Pode-se uti-
lizar -printf com o parmetro %F para ver os tipos de filesystems que exis-
tem em seu Unix.
-gid n Arquivos cujo valor do group ID seja n.
-group gname Arquivos que pertencem ao grupo gname (valores numri-
cos de group ID so permitidos).
-ilname pattern O mesmo que -lname, mas a procura case insensitive.
-iname pattern O mesmo que -name, mas a procura case insensitive. Por
exemplo, o padro 'fo*' e 'F??' localiza arquivos cujos nomes sejam 'Foo',
'FOO', 'foo', 'fOo', etc.
-inum n Arquivos cujo nmero do inode seja n.
-ipath pattern O mesmo que -path, mas a procura case insensitive.
-iregex pattern O mesmo que -regex, mas a procura case insensitive.
-links n Arquivos que tenham n links.
-lname pattern Arquivo um link simblico. Os metacaracteres '/' e espe-
cialmente '.' no so aceitos.
-mmin n Os dados do arquivo foram modificados h n minutos atrs.
-mtime n Os dados do arquivo foram modificados h n*24 horas atrs.
120 Linux: Sistema Operacional II

-newer file Arquivo foi recentemente modificado. -newer afetado por -
follow somente se -follow aparecer antes de -newer na linha de comando.
-nouser Somente arquivos cujo usurio no corresponda a nenhum user ID
numrico vlido.
-nogroup Somente arquivos cujo grupo no corresponda a nenhum group
ID vlido.
-path pattern Arquivos encontrados no padro informado. Os metacarateres
'/' ou '.' no sero tratados; ento, por exemplo:
find . -path './sr*sc'
Esta expresso trar uma entrada para um diretrio chamado './src/misc' (se
algum existir).
Para ignorar a totalidade dos diretrios da rvore, utilize -prune antes de
checar cada arquivo na rvore. Por exemplo, para ignorar o diretrio
'src/emacs' e todos os arquivos e diretrios abaixo dele e imprimir os nomes
dos outros arquivos encontrados, faa apenas isto:
find . -path './src/emacs' -prune -o -print
-regex pattern Arquivos encontrados pela expresso regular informada no
padro. Por exemplo, para encontrar um arquivo chamado './teste3', voc po-
de utilizar a expresso regular '.*ste.' ou '.*t.*3', mas no pode usar 't.*e3'.
-size n[bckw] Arquivos utilizam n unidades de espao. As unidades so
blocos de 512 bytes por default ou se 'b' suceder n. Bytes se 'c' suceder n. Ki-
lobytes se 'k' suceder n. Palavras de 2-byte se 'w' suceder n. O -size no faz
contagem indireta de blocos, mas efetua a contagem de blocos em arquivos
esparsos que no esto atualmente alocados.
-true Sempre true.
-type c Arquivo do tipo c:
b bloco (buferizado) especial
c caractere (no buferizado) especial
d diretrio
p named pipe (FIFO)
f arquivo comum file
O Bash 121

l link simblico
s socket
-uid n Arquivos cujo user ID seja n.
-used n Arquivo teve o ltimo acesso n dias depois que o seu status foi
modificado.
-user uname Arquivo do usurio informado em uname (user ID num-
rico permitido).
Aes
-exec command Executa um comando; True retornado se a execuo ti-
ver status 0.
-fls file Retorna true; da mesma forma que -ls mas escreve para um arqui-
vo como -fprint.
-fprint file Retorna true; imprime o nome completo do arquivo dentro do
file especificado. Se o arquivo no existir, ele ser criado. Se j existir, o ar-
quivo ser sobrescrito.
-fprint0 file Retorna true; da mesma forma que -print0 mas escreve no ar-
quivo como -fprint.
-printf format Retorna true; imprime no formato indicado para a sada
padro sendo '\' o caractere de escape e '%' as diretivas do comando. A largu-
ra dos campos e a preciso dos mesmos podem ser especificadas da mesma
forma que a funo 'printf' da linguagem C.
Ao contrrio do -print, -printf no insere uma nova linha ao final da string.
As diretivas so:
\b Backspace.
\c Pra a impresso no formato e joga para a sada.
\f Form feed.
\n Newline.
\r Carriage return.
\t Tab horizontal.
\v Tab vertical.
\\ Um literal barra invertida ('\').
122 Linux: Sistema Operacional II

%% O literal %.
%a ltimo acesso ao arquivo.
Campos de tempo
H hora (00..23)
I hora (01..12)
k hora ( 0..23)
l hora ( 1..12)
M minuto (00..59)
p acrescenta AM ou PM
r tempo em 12 horas (hh:mm:ss [AP]M)
S segundos (00..61)
T tempo em 24 horas (hh:mm:ss)
X hora no formato (H:M:S)
Z utiliza Time Zone
Campos de data
a nome abreviado do dia da semana (Sun..Sat)
A nome completo do dia da semana (Sunday..Saturday)
b nome abreviado do ms (Jan..Dec)
B nome completo do ms (January..December)
c data e hora no formato (Sat Nov 04 12:02:33 EST 1989)
d dia do ms (01..31)
D data no formato (mm/dd/aa)
h mesmo que b
j dia do ano (001..366)
m nmero do ms (01..12)
w nmero do dia da semana (0..6)
W nmero da semana do ano sendo Segunda-feira o primeiro dia da
semana (00..53)
O Bash 123

x data no formato (mm/dd/aa)
y ltimos dois dgitos do ano (00..99)
Y ano completo (1970...)
Operadores
Em ordem de precedncia:
( expr ), Force precedncia.
! expr, Retorna true se expr for false.
-not expr, O mesmo que ! expr.
expr1 expr2, E lgico; expr2 no considerada se expr1 for falsa.
expr1 -a expr2, O mesmo que expr1 expr2.
expr1 -and expr2, O mesmo que expr1 expr2.
expr1 -o expr2, Ou lgico; expr2 no executada se expr1 for true.
expr1 -or expr2, O mesmo que expr1 -o expr2.
expr1 , expr2, Lista; expr1 e expr2 so sempre avaliadas.
O valor da expr1 descartado; o valor da lista o valor da expr2.
finger
Nome
finger Exibe as informaes dos usurios conectados ao sistema.
Resumo
finger [-lmsp] [user ...] [user@host ...]
Descrio
O finger exibe informaes sobre os usurios do sistema.
Opes
-s O finger exibe nome de login do usurio, nome real, nome do terminal e
escreve o status (com um "*" aps o nome do terminal se houver problemas
124 Linux: Sistema Operacional II

de permisso), tempo de inatividade, tempo de login, localizao do escrit-
rio e nmero do telefone.
O tempo de login exibido como ms, dia, hora e minuto, a menos que o
tempo seja maior do que seis meses, caso em que o ano exibido antes das
horas e minutos.
Dispositivos desconhecidos assim como os inexistentes, em espera (idle) e
tempos de login, so exibidos como asteriscos.
-l Gera uma exibio em formato multi-line com todas as informaes des-
critas pela opo s, assim como o diretrio home dos usurios e outras in-
formaes que tenham sido inseridas no momento da criao de uma conta
de login. (telefone residencial, nome do login, situao do e-mail alm dos
contedos do arquivos ".plan", ".project" e ".forward" do diretrio home).
Nmeros de telefone registrados com onze dgitos so exibidos como "+N-
NNNNNN-NNNN''. Telefones especificados com sete ou dez dgitos so e-
xibidos de maneira apropriada respeitando a string. Telefones especificados
com cinco dgitos so exibidos como "xN-NNNN" e com quatro dgitos
"xNNNN".
Se a permisso de escrita estiver restrita no device acessado, a mensagem "(mes-
sages off)" adicionada linha que contm o nome deste device. Uma entrada
por usurio exibida com a opo -l; se o usurio estivar logado em mltiplos
terminais ou conexes, estas informaes so repetidas para cada login.
A situao do e-mail exibida como "No Mail." se nenhum e-mail estiver na
caixa de entrada do usurio, alm de informaes sobre o acesso aos e-mails
efetuados pelo usurio no formato:
"Mail last read DDD MMM ## HH:MM YYYY (TZ)"
Se o usurio travou a sua caixa postal desde o recebimento de um novo e-
mail, as mensagens "New mail received ...", "Unread since ..." podem ser e-
xibidas.
-p Evita que a opo -l do finger venha exibir o contedos dos arquivos
".plan" e ".project".
-m Evita a procura de nomes de usurio. O usurio geralmente um nome
de login; todavia se algum deles utilizar o nome real como nome de login a
O Bash 125

opo -m automaticamente considerada. Todos os nomes localizados pelo
finger so case insensitive.
Se nenhuma opo for especificada, o finger adota o default -l se operandos
forem inseridos, caso contrrio o estilo -s ser utilizado. Note que os mes-
mos campos podem ser encontrados em qualquer dos formatos se a informa-
o no estiver disponvel para eles.
Caso nenhum argumento seja especificado, finger imprimir uma entrada pa-
ra cada usurio logado no sistema.
Finger pode ser utilizado para verificar os usurios de mquinas remotas. O
formato para especificar este usurio "user@host" ou "@host", onde o
formato default de sada para o comando o -l, e o formato default o estilo
-s. A opo -l a nica opo para verificao de usurio de mquinas remo-
tas.
Se a sada padro for socket, finger emitir um carriage return (^M) antes de
cada linefeed (^J).
Histria
O finger apareceu na verso 3.0 do FreeBSD.
free
Nome
free Exibe a quantidade de memria livre e utilizada no sistema.
Resumo
free [-b | -k | -m] [-o] [-s delay ] [-t] [-V]
Descrio
free exibe a quantidade total de memria fsica livre e utilizada, alm da memria
de swap do sistema como tambm a memria compartilhada e buffers utilizados
pelo kernel.
Opes
-b Exibe as informaes em bytes.
126 Linux: Sistema Operacional II

-k Exibe as informaes em kbytes (default).
-m Exibe as informaes em megabytes.
-t Totaliza as informaes de cada tipo de memria.
-s Ativa um monitor contnuo que atualizar as informaes a cada s se-
gundos.
-V Exibe a verso e sai.
Arquivos
/proc/meminfo, informaes gerais sobre memria em bytes.

Autor
Programa desenvolvido por Brian Edmonds.
gzip
Nome
gzip, gunzip comprime ou expande arquivos
Resumo
gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ... ]
gunzip [ -acfhlLnNrtvV ] [-S suffix] [ name ... ]
zcat [ -fhLV ] [ name ... ]
O Bash 127

Descrio
Reduz o tamanho do arquivo utilizando o algoritmo Lempel-Ziv (LZ77).
Sempre que possvel, cada arquivo especificado na lista renomeado para um que
tenha o mesmo nome mas com a extenso .gz, mantendo-se todavia o dono, grupo
e permisses do arquivo original.
Exemplo:
Na seqncia, o arquivo teste, originalmente com 2924 bytes, foi compactado (gzip
teste) na listagem seguinte o arquivo original teste foi movido para teste.gz agora
com o tamanho de 1673 bytes.

Opes
-a --ascii Ascii text mode: converte os terminadores de fim de linha utili-
zando convenes para cada sistema de arquivos.
Esta opo suportada apenas em alguns sistemas no Unix. Para MSDOS,
CR LF convertido para LF quando compactado, e LF convertido para CR
LF quando descompactado.
-c --stdout --to-stdout Escreve na sada padro; deixando o arquivo original
intacto.
Se diversos arquivos de entrada forem informados, a sada consistir numa
seqncia nica de membros compactados. Para obter a melhor compacta-
o, concatene todos os arquivos antes de compact-los.
128 Linux: Sistema Operacional II

Ateno: Depois de concatenados e compactados a separao dos arquivos
em suas unidades individuais no possvel. Utilize a opo -c apenas quan-
do o arquivo a ser compactado for nico.
Exemplo:
Na seqncia, o arquivo teste, originalmente com 2924 bytes, foi compacta-
do com a opo c (gzip c teste) e a sada do comando foi redirecionada pa-
ra um arquivo chamado compactado.gz 1673 bytes. Note que o arquivo or i-
ginal permaneceu inalterado com seus 2924 bytes.

-d --decompress --uncompress Descompacta o arquivo.
Exemplo:
Partindo agora do arquivo compactado.gz utilizamos o comando gzip d
compactado e o arquivo descompactado para o seu nome aps compacta-
o. Isto acabou gerando dois arquivos idnticos, teste e compactado, ambos
com 2924 bytes.

O Bash 129

-f force Fora a compactao ou descompactao mesmo que o arquivo
tenha mltiplos links ou que os arquivos correspondentes aps compactados
j existam.
Exemplo:
O arquivo teste foi compactado com a opo c (gzip c teste > teste.gz) o
que manteve o arquivo original intacto. Na seqncia a compactao com f
(gzip f teste) sobrescreveu o arquivo existente teste.gz.

-h --help Exibe a tela de ajuda e sai.
-l --list Para cada arquivo compactado lista os seguintes campos:
compressed size: tamanho do arquivo descompactado.
uncompressed size: tamanho do arquivo descompactado.
ratio: taxa de compactao (0.0% se desconhecido).
uncompressed_name: nome do arquivo descompactado.
Exemplo:
Partindo do arquivo compactado teste.gz a opo l exibe informaes sobre
o arquivo.
130 Linux: Sistema Operacional II


-r --recursive Percorre recursivamente a estrutura de diretrios. Qualquer
arquivo especificado na linha de comando que esteja em qualquer dos diret-
rios a partir do local especificado ser compactado.
-t test Test. Verifica a integridade do arquivo compactado. Se houver
qualquer problema de integridade, exibe a seguinte mensagem:
gzip: [nome_do_arquivo].gz: not in gzip format
Exemplo:
Forcei uma situao de erro editando e alterando em apenas um byte o con-
tedo do arquivo teste.gz. Ao testar o arquivo, o erro acusado. Se o arquivo
estiver ntegro, nenhuma mensagem ser exibida.

-v --verbose Exibe o nome e o percentual de reduo de cada arquivo
compactado ou descompactado.
-V --version Exibe a verso do gzip e sai.
hostname
Nome
hostname Mostra ou define o nome do sistema.
domainname Mostra ou define o nome do domnio.
dnsdomainname Mostra o nome DNS do sistema.
nisdomainname Mostra ou define o nome NIS do domnio.
O Bash 131

ypdomainname Mostra ou define o nome NIS/YP do domnio.
nodename Mostra ou define o DECnet node name do sistema.
Resumo
hostname [-v] [-a] [--alias] [-d] [--domain] [-f] [--fqdn]
[-i] [--ip-address] [--long] [-s] [--short] [-y] [--yp]
[--nis] [-n] [--node]
hostname [-v] [-F filename] [--file filename] [hostname]
domainname [-v] [-F filename] [--file filename] [name]
nodename [-v] [-F filename] [--file filename] [name]
hostname [-v] [-h] [--help] [-V] [--version]
dnsdomainname [-v]
nisdomainname [-v]
ypdomainname [-v]
Descrio
Hostname um programa usado para definir ou exibir o nome do host atual.
Estes nomes so usados por muitos programas de rede para identificar a mquina
na rede.
Obtendo o nome
Quando executado sem argumentos, o programa exibe o nome atualmente
definido.
Exemplo:

Definindo o nome
Quando executado com um argumento, os comandos definem o nome do
host.
132 Linux: Sistema Operacional II

Aes
-a, --alias Exibe o alias do host (se utilizado).
-d, --domain Exibe o nome do domnio DNS. No utilize o comando do-
mainname para obter o DNS pois ele mostrar o nome NIS e no o DNS.
-h, --help Exibe a ajuda e sai.
-i, --ip-address Exibe o endereo IP do host.
-V, --version Exibe a verso do programa e sai.
Arquivos
/etc/hosts
Autores
Programa desenvolvido por Peter Tobias, <tobias@et-inf.fho-emden.de>
Bernd Eckenfels, <net-tools@lina.inka.de> (NIS and manpage). Steve
Whitehouse, <SteveW@ACM.org> (DECnet support and manpage).
kill
Nome
kill termina um processo
Resumo
kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
Descrio
Os sistemas multitarefa (e o Linux um deles) so baseados em processos que so
executados quando um servio iniciado. Para cada servio podem existir diversos
processos que ficam carregados na memria e permanecem executando at
terminarem naturalmente. Quando um processo ficar preso e no puder ser
liberado naturalmente, o operador deve entrar em ao identificando e eliminado os
processos. Para identificar os processos utiliza-se o comando ps e para eliminar
processos presos utiliza-se o comando kill.
O Bash 133

O kill envia um sinal especfico para o processo. Se nenhum sinal for especificado
o sinal TERM enviado.
O sinal TERM ir matar o processo que captur-lo. Para outros processos, pode ser
necessrio utilizar o sinal 9. Desde que este sinal possa ser capturado o processo
ser terminado imediatamente.
A maioria dos shell modernos trazem o kill embutido.
Opes
pid ... Especifica uma lista de processos a serem terminados.
-s Especifica o sinal a ser enviado.
-p Especifica que o kill deve apenas imprimir o id do processo (pid) mas
no deve enviar o sinal.
-l Exibe uma lista de nomes de sinais. Eles podem ser encontrados em
/usr/include/linux/signal.h
Exemplo:
O comando os lista os processos bash (que o shell) e o prprio os que foi
emitido pelo usurio. Ao emitir kill e o nmero do processo (kill 9 677) o
processo do bash ser finalizado e, por conseqncia disto, a sesso em cur-
so ser encerrada pois ela sepende do bash.

last
Nome
last, lastb mostra uma listagem dos ltimos logins efetuados pelo usurio,
sua origem e durao em horas:minutos.
Descrio
Last procura as entradas anteriores no arquivo /var/log/wtmp (ou o arquivo
especificado pelo flag -f) e exibe a lista de todas as vezes em que o usurio
esteve logado no sistema desde que o arquivo foi criado.
134 Linux: Sistema Operacional II

Nota
O arquivo wtmp poder no ser encontrado. A log de acesso somente ser
informada caso o arquivo seja encontrado.
Arquivos
/var/log/wtmp
/var/log/btmp
Autor do Programa
Miquel van Smoorenburg.
ln
Nome
ln faz links entre arquivos.
Resumo
ln [OPTION]... TARGET [LINK_NAME]
ln [OPTION]... TARGET... DIRECTORY
ln [OPTION]... --target-directory=DIRECTORY TARGET...
Descrio
Cria um link para um TARGET especificado utilizando opcionalmente um
LINK_NAME.
Se o LINK_NAME for omitido, um link com o mesmo nome do arquivo TARGET
criado no diretrio atual.
Quando for um link fsico, a nica pista de que o arquivo possui um link a
quantidade de ligaes obtida com a listagem longa (ls -l).
Exemplo
Quando for um link simblico, isto claramente especificado ao solicitar a
listagem longa (ls -l).
O Bash 135

Exemplo:
O comando ln teste lteste.lnk criou um link fsico para o arquivo teste. Note que a
quantidade de links para o arquivo mudou de 1 para 2.

No segundo exemplo foi criado um link simblico com o comando ln s teste
teste.lnk. Neste caso, ao listar o arquivo, nota-se claramente a especificao com a
letra l indicando tratar-se de um link simblico e o nome do link apontando para
o arquivo original.

Opes
-b, --backup[=CONTROL] Faz um backup de cada arquivo existente no
destino.
-d, -F, --directory Link fsico de diretrios (apenas super-user).
136 Linux: Sistema Operacional II

-f, --force Remove arquivos existentes no destino.
-i, --interactive Pergunta se deve demover os destinos.
-s, --symbolic Faz link simblico ao invs de link fsico.
--target-directory=DIRECTORY Especifica o DIRECTORY no qual o
link ser criado.
-v, --verbose Exibe o nome de cada arquivo antes de fazer o link.
--help Exibe a ajuda e sai.
--version Exibe informaes sobre a verso e sai.
Autor
Programa escrito por Mike Parker e David MacKenzie.
Copyright
Copyright 1999 Free Software Foundation, Inc.
login
Nome
login acessa o sistema
Resumo
login [ name ]
login -p
login -h hostname
login -f name
Descrio
O login usado quando o usurio j conectado precisar estabelecer uma nova
sesso ao sistema sem fazer a desconexo. A cada login efetuado um novo shell
ativado.
Se nenhum argumento for informado ao sistema, login solicita a digitao do nome
do usurio.
O Bash 137

Se o arquivo /etc/nologin existir, o contedo deste arquivo ser impresso na tela e o
login ser terminado. Isto previne logins quando o sistema est sendo desligado.
Se alguma restrio especial de acesso para os usurios estiver especificada no
arquivo /etc/usertty, uma log de acesso negado ser gerada em arquivo.
Se o usurio for o root, ento o login deve ocorrer em um dos terminais ou
conexes indicadas no arquivo /etc/securetty. Falhas sero registradas.
Aps estas condies terem sido verificadas, a senha ser requisitada e tambm
verificada (se a senha for requerida para aquele usurio). Dez tentativas so
permitidas antes do login ser encerrado. Depois das trs primeiras tentativas a
resposta do login ficar mais lenta. Falhas de login so reportadas via syslog. Esta
facilidade tambm utilizada para reportar qualquer login de sucesso efetuado pelo
usurio root.
Se o arquivo .hushlogin existir, ento um "quiet" login ser executado, ou seja, ele
desabilitar a verificao de mail e as informaes de ltimo login no so
exibidas. Por outro lado se /var/log/lastlog existir, a data, hora e origem do ltimo
login sero exibidos e os dados do login atual so atualizados.
Opes
-p Usado pelo getty(8) para informar que o login no deve destruir as vari-
veis de ambiente.
-f Utilizado para pular a segunda autenticao de login. Especialmente pa-
ra o root, esta opo no gera efeito algum.
-h Usado para acesso a outros servidores.
Restries especiais de acesso
O arquivo /etc/securetty lista os nomes dos terminais a partir dos quais o usurio
root poder estabelecer conexo.
Arquivos relacionados ao login
/var/run/utmp
/var/log/wtmp
/var/log/lastlog
138 Linux: Sistema Operacional II

/usr/spool/mail/*
/etc/motd
/etc/passwd
/etc/nologin
/etc/usertty
.hushlogin
Autores
Programa derivado do BSD login 5.40 (5/9/89) por Michael Glad
(glad@daimi.dk) para HP-UX. Portado para o Linux por Peter Orbaek
(poe@daimi.aau.dk).
ls
Nome
ls lista o contedo do diretrio
Resumo
ls [OPTION]... [FILE]...
Descrio
Lista informaes sobre os arquivos existentes no diretrio atual onde est o
foco do shell.
Opes
-a, --all No oculta arquivos que comeam por . (ponto).
-A, --almost-all No lista as entradas . (foco) e .. (diretrio pai).
-b, --escape Imprime octal escapes para caracteres no grficos.
--block-size =SIZE Utiliza blocos de SIZE-byte.
-B, --ignore-backups No lista arquivos que terminem por ~ (backup).
-d, --directory Lista as entradas do diretrio ao invs do contedo.
--full-time Lista data e hora detalhada.
O Bash 139

-h, --human-readable Imprime os tamanhos dos arquivos de forma mais
legvel (1K 234M 2G).
-i, --inode Imprime o ndice numrico para cada linha.
-k, --kilobytes O mesmo que --block-size=1024.
-l Utiliza formato de listagem longa.
-m Separa os nomes dos arquivos por vrgulas.
-R, --recursive Lista os subdiretrios recursivamente.
-s, --size Imprime o tamanho de cada arquivo em blocos.
-S Classifica os arquivos por tamanho.
-t Classifica os arquivos por hora de alterao.
-X Classifica os arquivos pela sua extenso.
Autores
Programa escrito por Richard Stallman e David MacKenzie.
Copyright
Copyright 1999 Free Software Foundation, Inc.
mkdir
Nome
mkdir cria diretrios
Resumo
mkdir [OPTION] DIRECTORY...
Descrio
Cria um diretrio se ele ainda no existir.
Opes
-m, --mode=MODE Estabelece as permisses (como no chmod), utilizan-
do umask.
-p, --parents Nenhum erro se existente, faz um diretrio pai se necessrio.
140 Linux: Sistema Operacional II

--verbose Imprime uma mensagem para cada diretrio criado.
--help Exibe a ajuda e sai.
--version Exibe a verso e sai.
Autor
Programa escrito por David MacKenzie.
Copyright
Copyright 1999 Free Software Foundation, Inc.
more
Nome
more permite uma leitura na tela de um arquivo longo.
Resumo
more [-dlfpcsu] [-num] [+/ pattern] [+ linenum] [file ...]
Descrio
More um filtro de pginas que exibe uma tela completa de texto de cada vez.
Opes
-num Especifica o tamanho da tela em linhas.
-d Exibe ajuda interativa ao usurio: "[Press space to continue, 'q' to quit.]"
e exibe "[Press 'h' for instructions.]" ao invs de simplesmente informar que
uma tecla ilegal foi pressionada.
-p No faz scroll da tela, ao invs disto limpa a tela e exibe uma nova com
as prximas n linhas de texto.
-c No faz scroll, ao invs disto exibe o contedo a partir do topo da tela
substituindo o contedo atual pelo novo.
/ Abre prompt para localizao de string oculta no buffer.
O Bash 141

Comandos
So teclas interativas baseadas na funcionalidade do vi.
h or ? Help: Exibe um resumo dos comandos.
SPACE (barra de espao) Exibe as n prximas linhas. O valor default pa-
ra n o tamanho da tela.
RETURN Exibe a prxima linha de texto.
q ou Q Interrompe o more.
b or ^B Retorna uma tela cheia.
= Exibe o nmero da linha atual.
/padro Localiza a ensima ocorrncia de uma string. O default 1.
^L Faz um redraw da tela.
. Repete o ltimo comando.
Ambiente
More utiliza as seguintes variveis de ambiente se existirem:
MORE Pode ser definida com a opo preferida do more.
SHELL Shell atualmente em uso. Geralmente shell do login.
TERM Especifica o tipo do terminal.
Autores
Programa criado por Eric Shienbrood, UC Berkeley e complementado por
Geoff Peck, UCB e por John Foderaro para o acrscimo de facilidades.
Histrico
O comando more apareceu inicialmente na verso 3.0 do BSD. A ltima verso
antes desta do Linux foi a 5.19 (Berkeley 6/29/88), na qual a do Linux baseada.
mount
Nome
mount monta um file system
142 Linux: Sistema Operacional II

Resumo
mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
Descrio
Todos os arquivos acessveis nos ambientes Unix e compatveis esto em uma
grande rvore cuja hierarquia determinada pelo ponto raiz. Os arquivos que so
ali exibidos podem estar em diversos disposit ivos e at mquinas diferentes. O
comando mount serve para atachar o sistema de arquivos encontrado em um
dispositivo ao device que mantm a grande rvore de arquivos tornando-a visvel e
acessvel a partir de um nico ponto conhecido por raiz, root directory ou
simplesmente / (barra).
O padro para utilizao do comando : mount -t type device dir
Este domando diz ao kernel para anexar o file system encontrado no device ao
diretrio informado, liberando o acesso aos seus arquivos.
Opes
-h Exibe um resumo das opes.
-V Exibe a verso do mount.
mount Lista todos os file systems montados e disponveis.
-a Monta todos os file systems.
-r Monta o file system read-only.
-w Monta o file system read/write. Opo default.
-t vfstype Especifica o tipo de file system que deve ser montado sendo que
os mais comuns so: adfs, affs, autofs, coda, coherent, devpts, efs, ext, ext2,
hfs, hpfs, iso9660, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, romfs, smbfs,
sysv, udf, ufs, umsdos, vfat, xenix, xiafs.
Arquivos
/etc/fstab tabela do file system
O Bash 143

/etc/mtab tabela dos file systems montados
/etc/mtab~ arquivos travados
/etc/mtab.tmp arquivo temporrio
mv
Nome
mv move (renomeia) arquivos
Resumo
mv [OPTION]... SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... --target-directory=DIRECTORY SOURCE...
Descrio
Renomeia SOURCE patra DEST, ou move SOURCE para DIRECTORY.
-b, --backup[=CONTROL] Faz backup antes de remover.
-f, --force Remove destinos que j existam sem perguntar.
-i, --interactive Pergunta antes de sobrescrever.
--help Exibe o help e sai.
--version Exibe informaes sobre verso e sai.
Autores
Programa escrito por Mike Parker, David MacKenzie e Jim Meyering.
Copyright
Copyright 1999 Free Software Foundation, Inc.
netstat
Nome
netstat exibe as conexes da rede, tabela de rotas, estatstica das interfaces,
conexes mascaradas, mensagens de rede e conexes ativas.
144 Linux: Sistema Operacional II

Resumo
netstat [-venaocs] [--tcp|-t] [--udp|-u] [--raw|-w] [--groups|-g] [--unix|-
x] [--inet|--ip] [--ax25] [--ipx] [--netrom]
netstat [-venc] [--inet] [--ipx] [--netrom] [--ddp] [--ax25] {--route|-r}
netstat [-venpac] {--interfaces|-i} [iface]
netstat [-enc] {--masquerade|-M}
netstat [-cn] {--netlink|-L}
netstat {-V|--version} {-h|--help}
Descrio
Netstat exibe informaes do subsistema de rede do Linux.
(sem opes) Voc pode ver a situao das conexes da rede pela listagem
dos sockets abertos. Esta a operao default: se no for especificada ne-
nhuma famlia de endereos, ento os sockets de todos os endereos configu-
rados sero exibidos. Uma famlia de endereos inet exibir simplesmente
sockets udp e tcp.
-a, --all Exibe informaes sobre todos os sockets, incluindo o listening
server.
-l, --listening Exibe informaes apenas sobre o listening server.
-r, --route Exibe a tabela de rotas no mesmo formato obtido com route -e.
-n, --numeric Mostra o endereo numrico ao invs de determinar o nome
simblico do host.
Netstat possue vrias opes e arquivos complementares. Para saber mais
consulte o manual on-line.
passwd
Nome
passwd atualiza a autenticao do usurio.
O Bash 145

Descrio
Passwd usado para atualizar a autenticao do usurio (senha).
Essencialmente o comando passwd verifica, autentica, criptografa e armazena os
dados de senha de cada usurio do sistema.
Opes
-l Utilizada para bloquear uma conta dexando-a disponvel apenas para o
usurio root.
-d Desabilita a senha para uma conta. Apenas o root pode utilizar esta op-
o.
Proteja sua senha
Jamais escreva sua senha, memorize-a. Em particular no escreva e deixe-a em
qualquer lugar e no a coloque em um arquivo criptografado. Use senhas no
relacionadas ao controle do sistema em empresas diferentes. No divulgue ou
compartilhe sua senha especialmente para efeito de envio do computador a
terceiros para quaisquer servios.
No deixe outras pessoas digitarem sua senha. No digite sua senha em um
computador que voc no confie ou conhea. Use sua senha por tempo limitado
trocando-a periodicamente.
Escolha a senha certa
Previna-se contra a escolha de uma senha realmente ruim, mas no seja bobo, crie
sua senha com sabedoria. No use qualquer coisa que voc encontrou em um
dicionrio (se for linguagem ou jargo).
No use um nome (incluindo da esposa, pais, filhos, cachorro, apelidos, pessoas
famosas e locais) ou qualquer variao do seu prprio nome ou nome de usurio.
No use informes acessveis sobre voc (como nmero do telefone, placas do
carro, CPF, RG) ou do seu meio. No use sua data de aniversrio ou combinaes
de padres (como a data invertida, seguida ou precedida por um dgito). Ao invs
disso, utilize uma mistura de caracteres em letras maisculas e minsculas assim
como nmeros e smbolos de pontuao. Quando escolher uma nova senha, tenha
certeza de que ela no est relacionada a nenhuma senha anteriormente utilizada.
Utilize senhas longas com pelo menos oito caracteres. Pode-se utilizar um par de
146 Linux: Sistema Operacional II

palavras com pontuao inserida, uma frase falsa (combinao sem sentido de uma
seqncia de palavras) ou as letras iniciais de cada palavra de uma frase sem
sentido.
Estes princpios so parcialmente reforados pelo sistema, mas apenas
parcialmente. Vigie e faa a sua parte para que o seu sistema seja mais seguro.
Autor do programa
Cristian Gafton <gafton@console.com>
ping
Nome
ping envia um pacote ICMP ECHO_REQUEST para um host da rede.
Resumo
ping [-dfnqrvR] [-c count] [-i wait] [-l preload] [-p pattern] [-s packetsize]
Changed options: -I <device name> pode ser utilizado para definir a interfa-
ce de sada.
Novas opes
-T [ping only]: envia timestamp.
-T tsonly --- only timesamps
-T tsandaddr --- timestamps & addresses
-T tsprespec host1 [host2 [host3 [host 4]]]
--- timestamp prespecified hops
Melhorias
- compreende as mensagens de erro icmp e reage a elas corretamente.
- verifica a integridade do pacote icmp e reage ao pacote corretamente.
- executa corretamente o ping no loopback.
etc.
O Bash 147

Descrio
Ping utiliza o protocolo ICMP com datagrama ECHO_REQUEST para obter um
ICMP ECHO_RESPONSE a partir de um host ou gateway. Datagramas
ECHO_REQUEST ("pings") possuem um cabealho IP e um ICMP, seguidos por
uma "struct timeval" e ento um nmero arbitrrio de "pad" bytes so usados para
preencher o pacote de sada.
-c count Interrompe o ping aps enviar (e receber) count pacotes
ECHO_RESPONSE.
-s packetsize Especifica o nmero de bytes a ser enviado. O default 56,
equivalente a um total de 64 ICMP data bytes quando combinados aos 8 bytes
necessrios ao header ICMP.
Comentrios adicionais sobre ping podem ser obtidos na documentao on-line.
pwd
Nome
pwd imprime o nome do diretrio atual
Resumo
pwd [OPTION]
Descrio
Imprime o caminho completo do diretrio de trabalho atual.
--help Exibe o help e sai.
--version Exibe a verso e sai.
rm
Nome
rm remove arquivos ou diretrios.
Resumo
rm [OPTION]... FILE...
148 Linux: Sistema Operacional II

Descrio
O rm remove cada arquivo especificado. Por default ele no remove diretrios.
Se o arquivo estiver protegido contra escrita, a opo -f ou --force pode ser usada,
rm perguntar se o arquivo deve ser removido. Se a reposta no comear por y ou
Y, o arquivo no apagado.
Opes
-d, --directory Remove um diretrio mesmo que ele no esteja vazio. Ape-
nas super-user.
-f, --force Remove sem pedir confirmao.
-i, --interactive Pergunta antes de remover.
-r, -R, --recursive Remove o contedo de diretrios recursivamente.
-v, --verbose Exibe o que est sendo feito.
--help Exibe ajuda e sai.
--version Exibe a verso e sai.
Autores
Programa escrito por Paul Rubin, David MacKenzie, Richard Stallman e Jim
Meyering.
Copyright
Copyright 1999 Free Software Foundation, Inc.
rmdir
Nome
rmdir Remove diretrios vazios
Resumo
rmdir [OPTION]... DIRECTORY...
O Bash 149

Descrio
Remove um diretrio se este estiver vazio.
--ignore -fail-on-non-empty Ignora cada falha se o diretrio no estiver
vazio.
-p, --parents Remove DIRECTORY, ento tenta remover cada subdiretrio
(se estes estiverem vazios).
Por exemplo: "rmdir -p a/b/c" o mesmo que "rmdir a/b/c a/b a.
--verbose Exibe um diagnstico para cada diretrio processado.
--help Exibe a ajuda e sai.
--version Exibe a verso e sai.
Autor
Programa escrito por David MacKenzie.
Copyright
Copyright 1999 Free Software Foundation, Inc.
rpm
Nome
rpm gerenciador de pacotes da Red Hat.
Resumo
rpm [options]
Descrio
O rpm um poderoso gerenciador de pacotes, que pode ser utilizado para montar,
instalar, verificar, atualizar e desinstalar pacotes de software.
Um pacote consiste de um conjunto de arquivos e suas respectivas informaes,
incluindo nome, verso e descrio.
Uma das seguintes formas podem ser utilizadas para operar pacotes rpm:
Initialize Database, Rebuild Database, Build Package, Recompile Package, Build
Package from Tarball, Query, Show Querytags, Install, Freshen, Uninstall, Verify,
150 Linux: Sistema Operacional II

Signature Check, Resign, Add Signature, definir donos e grupos e Show
Configuration.
Database maintenance
rpm -i [--initdb]
rpm -i [--rebuilddb]
Building
rpm [-b|t] [package_spec]+
rpm [--rebuild] [sourcerpm]+
rpm [--tarbuild] [tarredsource]+
Querying
rpm [--query] [queryoptions]
rpm [--querytags]
Maintaining installed packages
rpm [--install] [installoptions] [package_file]+
rpm [--freshen|-F] [installoptions] [package_file]+
rpm [--uninstall|-e] [uninstalloptions] [package]+
rpm [--verify|-V] [verifyoptions] [package]+
Signatures
rpm [--verify|-V] [verifyoptions] [package]+
rpm [--resign] [package_file]+
rpm [--addsign] [package_file]+
Miscellaneous
rpm [--showrc]
rpm [--setperms] [package]+
rpm [--setgids] [package]+
O Bash 151

As opes e documentao detalhadas podem ser conseguidas emitindo o
comando rpm --help.
Arquivos Associados
/usr/lib/rpm/rpmrc
/etc/rpmrc
~/.rpmrc
/usr/lib/rpm/macros
/etc/rpm/macros
~/.rpmmacros
/var/lib/rpm/conflictsindex.rpm
/var/lib/rpm/fileindex.rpm
/var/lib/rpm/groupindex.rpm
/var/lib/rpm/nameindex.rpm
/var/lib/rpm/packages.rpm
/var/lib/rpm/providesindex.rpm
/var/lib/rpm/requiredby.rpm
/var/lib/rpm/triggerindex.rpm
/tmp/rpm*
Autores
Marc Ewing <marc@console.com>
Jeff Johnson <jbj@console.com>
Erik Troan <ewt@console.com>
sed
Nome
sed Um Stream EDitor
152 Linux: Sistema Operacional II

Resumo
sed [-n] [-V] [--quiet] [--silent] [--version] [--help]
[-e script] [--expression=script]
[-f script-file] [--file=script-file]
[script-if-no-other-script]
[file...]
Descrio
Sed um stream editor. Um stream editor utilizado para realizar transformaes
bsicas de uma stream de entrada (que pode ser um arquivo ou uma entrada a partir
de um pipeline). Enquanto em algumas formas de utilizao ele parecido com um
editor que permite a edio de scrips (como o ed), sed trabalha apenas na
composio de etapas a partir das entradas, sendo desta forma mais eficiente. Mas
a principal habilidade do sed a de filtragem de textos entrados por um pipeline o
que o distingue particulamente de outros tipos de editores.
Opes
Sed pode ser invocado com as seguintes opes:
-V --version Imprime a verso e o copyright e sai.
-h --help Imprime o help e sai.
-n --quiet --silent Por default, sed ir exibir um padro de sada com
espaos at o final de cada ciclo atravs do script. Estas opes desabilitam a
impresso automtica e o sed ir produzir sadas explcitas via o comando p.
-e script --expression=script Adiciona um comando ao script para ser se-
tado enquanto as entradas vo sendo processadas.
-f script-file --file=script-file Adiciona comandos contidos em um script-
file para serem definidos como comandos processados enquanto as entradas
so recebidas.
Caso nenhuma expresso -e,-f,--expression, ou --file opo seja informada
na linha de comando, ento o primeiro argumento na linha de comando ser
considerado um script e executado.
Qualquer parmetro da linha de comando restante aps o processamento ser
interpretado como um nome de arquivo a ser processado. Um nome de ar-
O Bash 153

quivo com refere-se entrada padro de um stream. A entrada padro ser
ento processada se nenhum nome de arquivo for especificado.
Os comandos do sed podem ser conseguidos com man sed no prompt de co-
mando. Note que os comandos so parecidos com o ed.
su
Nome
su executa um shell em substituio ao usurio e grupos atuais, com per-
misses de superusurio.
Resumo
su [OPTION]... [-] [USER [ARG]...]
Descrio
Modifica o usurio ativo (user id) e seu grupo (group id) para o novo USER
especificado.
-, -l, --login Solicita a senha do usurio root.
-c, --commmand=COMMAND Passa o COMMAND para o shell.
-m, -p, --preserve-environment No reseta as variveis de ambiente.
-s, --shell=SHELL Executa o SHELL se /etc/shells permitir isto.
--help Exibe a ajuda e sai.
--vers ion Exibe a verso e sai.
Para maiores informaes sobre o su veja info su no prompt do shell.
Copyright
Copyright 1999 Free Software Foundation, Inc.
tar
Nome
tar verso GNU do utilitrios de backup.
154 Linux: Sistema Operacional II

Resumo
tar [ ] A --catenate --concatenate | c --create | d
--diff --compare | r --append | t --list | u --update | x
-extract --get [ --atime-preserve ] [ -b, --block-size N ]
[ -B, --read-full-blocks ] [ -C, --directory DIR ] [
--checkpoint ] [ -f, --file [HOSTNAME:]F ] [ --force-
local ] [ -F, --info-script F --new-volume-script F ] [
-G, --incremental ] [ -g, --listed-incremental F ] [ -h,
--dereference ] [ -i, --ignore-zeros ] [ -I, --bzip ] [
--ignore-failed-read ] [ -k, --keep-old-files ] [ -K,
--starting-file F ] [ -l, --one-file-system ] [ -L,
--tape-length N ] [ -m, --modification-time ] [ -M,
--multi-volume ] [ -N, --after-date DATE, --newer DATE ] [-o, --old-
archive, --portability ] [ -O, --to-stdout ] [
-p, --same-permissions, --preserve-permissions] [ -P,
--absolute-paths ] [ --preserve ] [ -R, --record-num-
ber ] [ --remove-files ] [ -s, --same-order, --preserve-
order ] [ --same-owner ] [ -S, --sparse ] [ -T, --files-
from F ] [ --null ] [ --totals ] [ -v, --verbose ] [
-V, --label NAME ] [ --version ] [ -w, --interactive,
--confirmation ] [ -W, --verify ] [ --exclude FILE ] [
-X, --exclude-from FILE ] [ -Z, --compress, --uncompress]
[ -z, --gzip, --ungzip ] [ --use-compress-program
PROG ] [ --block-compress ] [ -[0-7][lmh] ]

filename1 [ filename2, ... filenameN ]
directory1 [ directory2, ...directoryN ]
O Bash 155

Descrio
O manual detalhado do tar pode ser obtido com o comando man tar ou info tar.
O tar foi projetado para gerar arquivamento e extrao de arquivos para e a partir
de mdias de qualquer tipo (disquete, CD, fitas e arquivos no prprio file system).
vi
Nome
vi editor de textos vi.
Comandos
O vi um editor de textos de tela completa (full screen) que requer para sua
operao a digitao de caracteres de controle. No ambiente Linux, o vi mais
interativo ao exibir na ltima linha da tela o modo no qual ele est operando alm
de mensagens que orientam o usurio.
A tecla ESC utilizada para cancelar o comando atual e entrar no modo de seleo
de novos comandos. O dois pontos (:) acessa a barra de comandos na ltima linha
da tela.
I nsero de texto
i - insere texto antes do cursor.
r - insere texto no incio da linha onde se encontra o cursor.
a insere texto depois do cursor.
A insere texto no fim da linha onde se encontra o cursor.
o adiciona linha abaixo da linha corrente.
O adiciona linha acima da linha corrente.
Ctrl + h apaga ltimo caractere.
Ctrl + w apaga ltima palavra minscula.
Esc passa para o modo comando.
156 Linux: Sistema Operacional II

Movimentao pelo Texto
Ctrl+f passa para a tela seguinte.
Ctrl+b passa para a tela anterior.
H move o cursor para a primeira linha da tela.
M move o cursor para o meio da tela.
L move o cursor para a ltima linha da tela.
h move cursor para caractere esquerda.
j move cursor para linha abaixo.
k move o cursor para linha acima.
l move cursor para caractere direita.
w move cursor para incio da prxima palavra (Ignora pontuao).
W move cursor para incio da prxima palavra (No ignora pontuao).
b move cursor para incio da palavra anterior (Ignora pontuao).
B move cursor para incio da palavra anterior (No ignora pontuao).
0 (zero) move cursor para incio da linha corrente.
^ move cursor para o primeiro caractere no branco da linha.
$ move cursor para o fim da linha corrente.
NG move para a linha n.
G move para a ltima linha do arquivo.
Localizao de Texto
/palavra procura pela palavra ou caractere acima ou abaixo do texto.
?palavra move para a ocorrncia anterior da palavra (para repetir a busca
usar n).
n repete o ltimo / ou ? comando.
N repete o ltimo / ou ? comando na direo reversa.
Ctrl+g mostra o nome do arquivo, o nmero da linha corrente e o total de
linhas.
O Bash 157

Alterao de Texto
x deleta um caractere que est sobre o cursor.
dw deleta a palavra, do incio da posio do cursor ate o fim.
dd deleta a linha inteira onde o cursor estiver.
D deleta a linha a partir da posio do cursor em diante.
rx substitui o caractere sob o cursor pelo especificado x ( opcional indicar
o caractere).
Rtexto substitui o texto corrente pelo texto indicado (opcional indicar o
texto adicionado).
cw substitui a palavra corrente. Pode-se inserir o novo contedo da palavra
automaticamente.
cc substitui a linha corrente. Pode-se inserir o novo contedo da linha au-
tomaticamente.
C substitui restante da linha corrente. Pode-se inserir o texto logo aps o
comando.
u desfaz a ltima modificao.
U desfaz todas as modificaes feitas na linha (se o cursor no mudou de
linha).
J une a linha corrente prxima.
s:/velho/novo substitui a primeira ocorrncia de "velho" por "novo".
Salvar o Texto
:wq salvar as mudanas feitas no arquivo e sai do editor.
:w < nome-arq > salva o arquivo corrente com o nome especificado. Con-
tinua edio normalmente.
:w! < nome-arq > salva (de modo forado) o arquivo corrente no arquivo
especificado.
:q sai do editor. Se mudanas no foram salvas apresentada mensagem de
advertncia.
:q! sai do editor sem salvar as mudanas realizadas.
158 Linux: Sistema Operacional II

umount
Nome
umount desmonta um file system.
Resumo
umount [-hV]
umount -a [-nrv] [-t vfstype]
umount [-nrv] device | dir [...]
Descrio
O comando umount desconecta um file system da rvore hierrquica do Linux.
Note que um file system no poder ser desmontado caso ele esteja ocupado. Por
exemplo, se um CD estiver montado e o foco do shell estiver em um dos seus
diretrios, o umount no funcionar e, ao contrrio, retornar um mensagem que o
dispositivo est ocupado ('busy').
Opes
-V Exibe a verso e sai.
-h Exibe o help e sai.
-v Modo verbose.
-n Faz o unmount sem escrever em /etc/mtab.
-r Em caso do unmount falhar, tenta fazer o remount em modo read-only.
-a Todo o file system descrito em /etc/mtab ser desmontado.
-t vfstype Indica o tipo de file systems no qual o umount atuar.
-f Fora o unmount.
Arquivos associados
/etc/mtab tabela de file systems montados.
O Bash 159

who
Nome
who mostra quem est logado.
Resumo
who [OPTION]... [ FILE | ARG1 ARG2 ]
Descrio
-H, --heading Imprime os cabealhos das colunas
-i, -u, --idle Adiciona os usurios em estado idle (espera) indicando HO-
RAS:MINUTOS, . ou old.
-l, --lookup Tenta canalizar os hostnames via DNS.
-m Apenas hostname e usurios associados com a entrada padro.
-q, --count Todos os login e nmero dos usurios logados.
--help Exibe o help e sai.
--version Exibe a verso e sai.
Copyright
Copyright 1999 Free Software Foundation, Inc.
160

Conforme j explicado anteriormente, no aconselhvel utilizar a conta de supe-
rusurio todo o tempo. Inevitavelmente um erro ser cometido, e a checagem de
acesso que normalmente evita esse tipo de erro no funcionar, uma vez que ao
superusurio permitido fazer qualquer coisa no sistema.
Se no devemos acessar o sistema como superusurio, com que nome devemos
acess-lo ento? Com o seu nome, obviamente. Para isso, preciso saber como
criar contas no Linux.
Contas
Assim que ligado, o sistema oferece diversas formas de criar novas contas. Usare-
mos inicialmente o mtodo mais bsico: o comando useradd.
Logado como superusurio emita o comando:
[root@Console /root] # useradd fulano
[root@Console /root] #
Pronto, o usurio fulano j est criado. Muito simples? Vamos tentar acessar o sis-
tema. No campo de senha do usurio fulano, simplesmente pressione Enter. Note
que a mensagem de login incorrect exibida indicando que falta alguma coisa.
Criao de Contas de Acesso 161

Console Linux 1.0 (Spike)
Kernel 2.2.17-21mdk
login: fulano
Password:
Login incorrect

login:
Senhas
O comando passwd pode ser usado para:
Especificar senhas para contas recm-criadas;
Mudar as senhas de contas existentes;
Mudar a senha de contas com as quais se esteja acessando o sistema.
As primeiras duas situaes so realmente as mesmas; para o comando passwd no
faz diferena entre uma conta que j exista e uma que acabou de ser criada. Deve-
se acessar o sistema como superusurio (root), e ento especificar o nome da conta
cuja senha quer alterar. Usando a conta que acabamos de criar, temos o seguinte
exemplo:
[root@Console /root]# passwd fulano
Changing password for user fulano
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
[root@Console /root]#
A senha no aparece na tela quando informada. Deve-se ainda digitar duas vezes,
para garantir que no houve nenhum engano ao inform-la. Vamos acessar o siste-
ma com a conta recm-criada novamente:
Console Linux 1.0 (Spike)
Kernel 2.2.17-21mdk
login: fulano
Password:
Last login: Thu May 3 21:26:02 from 192.168.0.1
162 Linux: Sistema Operacional II

Para ajuda ou configuraes do sistema, digite `c'
[fulano@console fulano]$
Uma vez no prompt do bash, pode-se alterar a senha da conta que est sendo usada
utilizando-se o comando passwd sem o nome da conta. Neste caso, ser solicitada
a senha atual da conta, seguida do comando de nova senha. Por exemplo, para uma
conta fulano, teremos:
[fulano@Console fulano]$ passwd
Changing password for fulano
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
[fulano@Console fulano]$
Comando su
Na manuteno normal do sistema, pode ser necessrio processar alguns poucos
comandos como outro usurio. normal que administradores de sistemas Unix
tenham esse tipo de demanda. Todo bom administrador utiliza sua conta pessoal e
sem privilgios especiais a maior parte do tempo. Mas caso uma senha de usurio
necessite ser alterada, por exemplo, ou as permisses de um determinado arquivo
precisem ser ajustadas, isso geralmente no possvel com uma conta de usurio
simples.
Tais tarefas no levam mais que um minuto, e incmodo sair e entrar no sistema
diversas vezes, somente para executar pequenas tarefas como superusurio. Uma
abordagem mais simples consiste na utilizao do comando su. Com este comando,
a sesso atual pode transformar-se na sesso do superusurio ou outro usurio.
No exemplo a seguir, o usurio fulano precisa tornar-se superusurio:
[fulano@Console fulano]$ su
Password:
[root@Console fulano]#
Atravs do comando su, o usurio fulano obtm os poderes de superusurio, aps a
informao da senha do root.
Criao de Contas de Acesso 163

Note que depois do comando su ocorreram mudanas no prompt. Alm da identif i-
cao do usurio, o sinal dlar ($), passa a ser sharp (#). Esta a forma tradi-
cional que o ambiente do shell utiliza para identificar que a sesso est sendo exe-
cutada como superusurio.
possvel ainda tornar-se qualquer outro usurio com o comando su e a senha do
root. Por exemplo, se estiver logado como usurio Garcia e quiser mudar para u-
surio fulano, deve-se informar a senha de fulano.
[Garcia@Console Garcia]$ su fulano
Password:
[fulano@Console Garcia]$
Se estiver logado como root e quiser mudar para qualquer outro usurio (Garcia,
por exemplo) basta entrar com o comando su Garcia e nenhuma senha ser solic i-
tada.
[root@Console Garcia]# su Garcia
[Garcia@Console Garcia]$
Para excluir um usurio
Usa-se o comando userdel.
[root@Console sbin]# pwd
/usr/sbin
[root@Console sbin]# ./userdel fulano
[root@Console sbin]#
Somente o superusurio poder remover um usurio.
164

O propsito deste captulo ajudar o leitor a transportar sua prtica DOS/Windows
para o ambiente Linux, alm de apresentar algumas dicas sobre o intercmbio de
arquivos e recursos entre os dois sistemas operacionais.
Eu preciso do Linux?
Voc quer comear com o Linux e conhece um pouquinho de DOS? Boa iniciativa,
pois o Linux tecnicamente superior ao DOS e Windows 9X/NT/2K. Mas cuida-
do! Linux pode no lhe ser til, se voc no for o tipo adequado de usurio.
DOS e Windows so mais usados para jogos e produtividade de escritrio, ao passo
que o Linux d seu melhor em networking, desenvolvimento e computao cient-
fica.
O Linux incrivelmente poderoso, mas aprender como aproveitar esse poder leva
tempo. Assim, se voc precisa principalmente de software comercial, ou se voc
no est disposto a aprender novos comandos e conceitos, melhor procurar outra
coisa.
Tornar o Linux mais fcil de usar um trabalho em andamento, mas no espere
tornar-se proficiente sem ler muita documentao e us-lo por pelo menos um ms.
O Linux no lhe dar resultados instantneos. Apesar destes avisos, eu tenho 100%
Linux para Usurios DOS/ Windows 165

de confiana de que, se voc se encaixa no perfil adequado de usurio, encontrar
no Linux o nirvana para seu computador, e nunca mais vai querer usar DOS ou
Windows novamente. A propsito, Linux + DOS/Win podem coexistir na mesma
mquina sem problemas.
Pr-requisitos
Conhecer os comandos e conceitos bsicos do DOS;
Ter o Linux, preferencialmente com o KDE, corretamente instalado no seu
PC;
Ter como shell o bash.
A menos que seja especificado o contrrio, todas as informaes aqui visam o
DOS. H informaes sobre o Windows aqui e ali, mas tenha em mente que o
Windows e o Linux so totalmente diferentes, ao passo que o DOS uma espcie
de primo pobre do UNIX.
Voc instalou o Linux e os programas de que precisava no seu PC. Voc criou uma
conta para voc mesmo (se no, digite adduser agora!) e o Linux est rodando.
Voc digitou seu nome e sua senha, e agora est olhando para a tela pensando: "E
agora?"
login: Garcia
Password:
Last login: Tue Mar 20 14:58:44 from 192.168.0.2
[Garcia@Console Garcia]$
No se desespere. Voc est quase pronto para fazer as mesmas coisas que costu-
mava fazer com DOS/Win, e muito mais. Se voc estivesse rodando DOS/Win ao
invs de Linux, estaria fazendo alguma das seguintes tarefas:
Executando programas e criando, copiando, visualizando, apagando, im-
primindo e renomeando arquivos;
Mudando, criando e apagando seus diretrios, e listando seu contedo
(com CD, MD, RD, DIR);
Formatando disquetes e copiando arquivos de/para eles;
Personalizando o sistema;
Escrevendo arquivos .BAT e programas na sua linguagem favorita;
O 1% restante.
166 Linux: Sistema Operacional II

Voc ficar feliz em saber que estas tarefas podem ser realizadas no Linux de uma
maneira similar ao DOS. No DOS, o usurio mdio utiliza muito poucos dos mais
de 100 comandos disponveis: o mesmo, at certo ponto, vale tambm para o Li-
nux.
Conceitos Introdutrios
A melhor maneira de aprender algo novo praticando. Voc fortemente estimu-
lado a experimentar e brincar com o Linux: voc no danificar seu sistema assim.
Saindo do Linux com segurana
Se voc estiver numa tela de modo texto, pressione <CTRL-ALT-DEL> ,
espere o sistema reinicializar e desligue o PC. Se voc estiver trabalhando
sob o KDE, pressione <CTRL-ALT-BACKSPACE> primeiro, e depois
<CTRL-ALT-DEL>;
Nunca desligue nem reinicialize o PC diretamente: isto pode danificar o
sistema de arquivos;
Diferentemente do DOS, o Linux tem mecanismos embutidos de seguran-
a. Arquivos e diretrios tm permisses associadas entre si; conseqente-
mente, alguns deles no podem ser acessados pelo usurio normal;
O DOS, ao contrrio, permite que voc apague todo o contedo de seu dis-
co rgido;
H um usurio especial chamado "root": o administrador do sistema, com
poder total de vida e morte sobre a mquina. Se voc trabalha no seu pr-
prio PC, voc ser root tambm. Trabalhar como root perigoso: qualquer
erro pode danificar seriamente ou mesmo destruir o sistema, como no
DOS/Win. No trabalhe como root a menos que seja absolutamente neces-
srio;
Grande parte da complexidade do Linux deve-se sua extrema configura-
bilidade: virtualmente todo recurso e todo aplicativo pode ser personaliza-
do atravs de um ou mais arquivos de configurao. Complexidade o
preo a pagar pelo poder;
Redirecionamento e canalizao so recursos adicionais no DOS, mas mui-
to importantes e muito mais poderosos no Linux. Comandos simples po-
dem ser juntados para realizar tarefas complexas. Eu sugiro fortemente que
voc aprenda a us-los.
Linux para Usurios DOS/ Windows 167

Conseguindo Ajuda
H vrias maneiras de se conseguir ajuda no Linux. As mais importantes so:
Ler a documentao. Isto mesmo! Embora este captulo sirva como uma introduo
ao Linux, e este livro traga algumas digas e diretrizes, h vrios outros livros que
voc realmente deve ler.
O CD que acompanha este livro do Console Linux 1.0. Utilize e leia a documen-
tao on-line disponvel no ambiente do KDE e no site http://www.console.com.br.
Quem quiser se aprimorar mais um pouco no ingls (e isto fundamental para
quem quer utilizar sistemas Unix) utilize as referncias naquele idioma. Tambm
so boas.
Instalao do Console Linux 1.0
http://www.console.com.br/?doc=/doc/livros/instalacao_grafica/
LinuxInstallation and Getting Started
http://www.ibiblio.org/mdw/LDP/gs/gs.html
Guia do Administrador de Redes
http://www.console.com.br/?doc=/doc/livros/gar/gar.html
Guia do Administrador de Sistemas
http://www.console.com.br/?doc=/doc/livros/gar/gas.html
Guia do Servidor Linux
http://www.console.com.br/?doc=/doc/livros/gs/gs.html
Linux Total
http://www.console.com.br/?doc=/doc/livros/total/linuxtotal.html
Sinta-se com a conscincia pesada at que voc tenha lido pelo menos um deles.
A documentao dos pacotes instalados na mquina normalmente encontrada nos
subdiretrios sob /usr/doc/.
Para obter ajuda sobre os "comandos internos" do shell, digite help ou, ainda me-
lhor, man bash ou info bash.
Para obter ajuda sobre um comando, digite man comando, que chamar a pgina
de manual ("man") pertinente ao comando. Alternativamente, digite info comando,
que chamar (se houver) a pgina info pertinente ao comando. Info um sistema
de documentao em hipertexto, talvez no muito intuitivo de incio. Finalmente,
voc pode tentar o comando apropos ou whatis. Com todos esses comandos, pres-
sione q para sair.
168 Linux: Sistema Operacional II

Convenes
Ao longo desta captulo, os exemplos normalmente seguiro o seguinte formato: < ... >
um argumento obrigatrio, ao passo que [...] um argumento opcional. Exemplo:
$ tar -tf <arquivo.tar> [> arquivo_redir]
arquivo.tar deve ser indicado, mas o redirecionamento para arquivo_redir opcional.
LPM significa por favor Leia as Pginas de Manual para mais informaes.
Quando o prompt de um exemplo de comando for #, o comando pode ser execu-
tado apenas pelo root.
Est impaciente para comear?
Quer comear? D uma olhada nesta tabelinha:
DOS Linux Observaes
ATTRIB (+-)atrib file chmod <modo> arquivo Completamente diferente
BACKUP tar -Mcvf device dir/ Idem
CD nomedir\ cd nomedir/ Quase a mesma sintaxe
COPY arq1 arq2 cp arq1 arq2 Idem
DEL arq rm arq Cuidado no h undelete
DELTREE nomedir rm -R nomedir/ Idem
DIR ls Sintaxe um pouco diferente
DIR arq /S find . -name arq Completamente diferente
EDIT arq vi arq Acho que voc no vai gostar
jstar arq Parecido com o EDIT do DOS
FORMAT fdformat , mount, umount Sintaxe bem diferente
HELP comando man comando, info comando Mesma filosofia
MD nomedir mkdir nomedir/ Quase a mesma sintaxe
MOVE arq1 arq2 mv arq1 arq2 Idem
NUL /dev/null Idem
PRINT arq lpr arq Idem
PRN /dev/lp0, /dev/lp1 Idem
RD nomedir rmdir nomedir/ Quase a mesma sintaxe
REN arq1 arq2 mv arq1 arq2 No funciona p/ mltiplos arqs
RESTORE tar Mxpvf device Sintaxe diferente
TYPE arq less arq Muito melhor
WIN startx Da gua para o vinho
Se uma tabela de comandos no suficiente para voc, continue lendo.
Linux para Usurios DOS/ Windows 169

Arquivos e Programas
O Linux tem uma estrutura de diretrios e arquivos similar ao DOS/Win. Arquivos
tm nomes-de-arquivo que obedecem a regras especiais, so gravados em diret-
rios, alguns so executveis, e a maioria destes tem opes de linha de comando.
Alm disso, voc pode usar caracteres curinga, redirecionamento e canalizao.
H apenas algumas pequenas diferenas:
Sob o DOS, os nomes-de-arquivo tm o formato chamado 8.3; por
exemplo, INSUFICI.TXT. No Linux, podemos fazer de um jeito melhor.
Se voc instalou o Linux usando um sistema de arquivos como o ext2 ou
umsdos, voc pode usar nomes-de-arquivo mais longos (at 255
caracteres), e com mais de um ponto.
Por exemplo: este_eh.um.nome_de_arquivo.MUITO.longo.
Observe que foram usados tanto caracteres maisculos como minsculos: de fato...
Letras maisculas e minsculas em nomes-de-arquivo e comandos so di-
ferentes. Portanto, NOMEARQ.tar.gz e nomearq.tar.gz so dois arquivos
diferentes, assim como ls um comando, LS um erro;
Usurios de Windows 9X: cuidado ao usar nomes-de-arquivo longos no Linux.
Se um nome-de-arquivo contiver espaos (no recomendado, mas possvel), voc
deve incluir o nome-de-arquivo entre aspas duplas sempre que fizer referncia a
ele. Por exemplo:
O seguinte comando cria um diretrio chamado "Meus arquivos antigos":
[Garcia@Console Garcia]$ mkdir "Meus arquivos antigos"
[Garcia@Console Garcia]$ ls
Meus arquivos antigos diretorio parms
[Garcia@Console Garcia]$
Alm disso, certos caracteres no devem ser usados: alguns deles so !*$&.
No h extenses obrigatrias, como .COM e .EXE para programas, ou .BAT para
arquivos de lote. Arquivos executveis so marcados com um asterisco `*` ao final
do nome quando voc executa o comando ls -F. Por exemplo:
170 Linux: Sistema Operacional II

[Garcia@Console Garcia]$ ls -F
Meus arquivos antigos/ diretorio/ parms*
[Garcia@Console Garcia]$
O arquivo parms* executvel, isto , "programa". No DOS, nomes de arquivos de
backup terminam em .BAK, enquanto no Linux terminam com um til (~). Alm
disso, um arquivo cujo nome comece com um ponto considerado oculto. Exem-
plo: o arquivo .Eu.sou.um.arquivo.oculto no aparece na sada de um comando ls;
Opes de programas so obtidas atravs de /opo no DOS; no Linux se usa
-opo. Por exemplo: dir /s vira ls -R. Note que muitos programas DOS, como
PKZIP e ARJ, usam opes ao estilo UNIX.
Se voc quiser, pode pular para Traduzindo DOS para o Linux, mas, se eu fosse
voc, continuaria lendo.
Links Simblicos
O UNIX tem um tipo de arquivo que no existe no DOS: o link simblico. Isto po-
de ser considerado como um ponteiro para um arquivo ou diretrio, e pode ser usa-
do ao invs do arquivo para o qual aponta; similar aos atalhos do Windows 9X.
Exemplos de links simblicos so /usr/X11, que aponta para /usr/X11R6;
/dev/modem, que aponta para /dev/cua0 or /dev/cua1.
Para fazer um link simblico:
$ ln -s <arq_ou_dir> <nomedolink>
Por exemplo:
$ ln -s /usr/doc/g77/DOC g77manual.txt
Agora voc pode se referir a g77manual.txt ao invs de /usr/doc/g77/DOC. Os
links aparecem assim em listagens de diretrio:
$ ls -F
g77manual.txt@
$ ls -l
(vrias coisas...) g77manual.txt -> /usr/doc/g77/DOC.p /
Linux para Usurios DOS/ Windows 171

Permisses e Propriedade
No DOS, arquivos e diretrios tm os seguintes atributos: A (arquivo), H (oculto),
R (somente-para-leitura), e S (sistema).
Somente H e R fazem sentido no Linux: arquivos ocultos comeam com um ponto,
e quanto ao atributo R, siga em frente.
No Unix, cada arquivo tem "permisses" e um dono, que por sua vez pertence a um
"grupo". Veja este exemplo:
$ ls -l /bin/ls
-rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls*
O primeiro campo contm as permisses do arquivo /bin/ls, que pertence a root,
grupo bin. Deixando as informaes restantes de lado, lembre-se que -rwxr-xr-x
significa, da esquerda para a direita:
- o tipo de arquivo (- = arquivo normal, d = diretrio, l = link, etc);
- rwx so as permisses para o dono do arquivo ("read, write, execute", i.e.,
"leitura, gravao, execuo");
- r-x so as permisses para o grupo do dono do arquivo (leitura, execuo);
(j explicado anteriormente neste livro);
- r-x so as permisses para todos os outros usurios (leitura, execuo).
O diretrio /bin tem permisses tambm. por isso que voc no pode apagar o
arquivo /bin/ls, a menos que seja root: voc no tem permisso para isso. Para mu-
dar as permisses de um arquivo, o comando :
$ chmod <quemXperm> <arquivo>
Onde quem :
u (usurio, i.e., dono),
g (grupo),
o (outros),
X :
+ ou -,
172 Linux: Sistema Operacional II

perm :
r (leitura),
w (gravao),
x (execuo).
Alguns exemplos do uso de chmod:
$ chmod +x arquivo
Isto define a permisso de execuo do arquivo.
$ chmod go-rw arquivo
Isto remove as permisses de leitura e gravao para todos, exceto o dono.
$ chmod ugo+rwx arquivo
Isto d permisso de leitura, gravao e execuo para todos.
# chmod +s arquivo
Isso faz um arquivo chamado "setuid" ou "suid"- um arquivo que todos podem e-
xecutar com os privilgios do dono. Normalmente, voc encontrar arquivos setuid
root; freqentemente, so programas importantes do sistema, como o servidor X.
Uma maneira mais curta de se referir a permisses com dgitos: rwxr-xr-x pode
ser expresso como 755 (cada letra corresponde a um bit: _- 0,_x 1,-w- 2, -wx
3...). Parece difcil, mas com um pouco de prtica voc entender a idia.
Root, sendo o superusurio, pode mudar as permisses de qualquer arquivo. LPM.
Traduzindo DOS para o Linux
esquerda, os comandos do DOS; direita, sua contrapartida no Linux.
ATTRIB: chmod
COPY: cp
DEL: rm
MOVE: mv
REN: mv
TYPE: more, less, cat
Redir: < > >>
Linux para Usurios DOS/ Windows 173

Curingas: * ?
nul: /dev/null
prn, lpt1: /dev/lp0 ou /dev/lp1; lpr.p /
Exemplos
C:\ >ATTRIB +R ARQUIVO.TXT $ chmod 400 arquivo.txt
C:\ >COPY JOE.TXT JOE.DOC $ cp joe.txt joe.doc
C:\ >COPY *.* TOTAL $ cat * > total
C:\ >COPY FRACTALS.DOC PRN $ lpr fractals.doc
C:\ >DEL TEMP $ rm temp
C:\ >DEL *.BAK $ rm *~
C:\ >MOVE PAPER.TXT TMP\ $ mv paper.txt tmp/
C:\ >REN PAPER.TXT PAPER.ASC $ mv paper.txt paper.asc
C:\ >PRINT LETTER.TXT $ lpr letter.txt
C:\ >TYPE LETTER.TXT $ more letter.txt
C:\ >TYPE LETTER.TXT $ less letter.txt
C:\ >TYPE LETTER.TXT > NUL $ cat letter.txt > /dev/null
n/a $ more *.txt *.asc
n/a $ cat section*.txt | less
Observaes:
O * mais inteligente no Linux: * corresponde a todos os arquivos, exceto
os ocultos;
.* corresponde a todos os arquivos ocultos (mas tambm ao diretrio atual
(ponto) . e ao diretrio pai (ponto ponto) ..: cuidado!);
*.* corresponde apenas aos arquivos que tenham um '.' no meio ou termi-
nem com um ponto;
p*r corresponde tanto a peter como a piper;
*c* corresponde a picked e peck;
Quando usar more, pressione < SPACE > para continuar lendo o arquivo e
q para sair.
O less mais intuitivo, e permite que voc use as teclas de seta;
No h UNDELETE, ento pense duas vezes antes de apagar algo;
Alm de < > >> , o Linux tem 2> para redirecionar mensagens de erro
(stderr); alm disso, 2> &1 redireciona stderr para stdout (sada padro),
enquanto 1 > &2 redireciona stdout para stderr;
174 Linux: Sistema Operacional II

O Linux tem outro curinga: []. Uso: [abc]* corresponde a arquivos que
comecem com a, b, c; *[I-N1-3] corresponde a arquivos que terminem com
I, J, K, L, M, N, 1, 2, 3;
O lpr < arquivo > imprime um arquivo em segundo plano. Para verificar o
estado da fila de impresso, use lpq; para remover um arquivo da fila de
impresso, use lprm;
Use cp -i e mv -i para ser avisado antes que um arquivo seja sobrescrito.
No h RENAME como no DOS; isto , mv *.xxx *.yyy no funciona.
Voc pode tentar este simples script; consulte a Seo para mais detalhes.
#!/bin/sh
# ren: renomeia mltiplos arquivos de acordo com vrias regras
if [ $# -lt 3 ] ; then
echo "uso: ren \"padro\" \"substituio\" arq..."
exit 1
fi
VELHO=$1 ; NOVO=$2 ; shift ; shift
for arquivo in $*
do
novo=`echo ${arquivo} | sed s/${VELHO}/${NOVO}/g`
mv ${arquivo} $novo
done
Cuidado! Este script no se comporta como o REN do DOS, pois usa "expres-
ses regulares", que voc provavelmente ainda no conhece (a menos que tenha
lido sobre expresses regulares no Captulo 6 deste livro). Resumidamente, se
voc quiser simplesmente mudar extenses de arquivos, faa como:
ren "htm$html"*htm. No se esquea do $.
Executando Programas: Multitarefa e Sesses
Para executar um programa, digite seu nome, como faria no DOS. Se o diretrio
onde o programa est armazenado estiver incluso no PATH, o programa ser inic i-
ado. Exceo: diferentemente do DOS, no Linux um programa localizado no dire-
trio atual no executado a menos que seu diretrio seja includo no PATH. Para
contornar isto sendo prog o seu programa, digite ./prog.
A linha de comando tpica parecida com essa:
$ comando [-s1 [-s2] ... [-sn]] [par1 [par2] ... [parn]] [< entrada] [> sada].p /
Linux para Usurios DOS/ Windows 175

Onde:
-s1, ..., -sn so as opes do programa,
par1, ..., parn so os parmetros do programa.
Voc pode dar vrios comandos na mesma linha de comando:
$ comando_1 ; comando_2 ; ... ; comando_n
Isto tudo que h sobre executar programas, mas fcil ir um passo frente.
Um dos principais motivos para usar Linux que um sistema operacional mult i-
tarefa podendo executar vrios programas (daqui em diante, processos) ao mesmo
tempo. Voc pode lanar processos em segundo plano e continuar trabalhando
tranqilamente. Alm disso, o Linux permite que voc abra vrias sesses: como
ter vrios computadores para trabalhar ao mesmo tempo.
Para alternar entre as sesses 1..6 nos consoles virtuais (v.c.), pressione <
ALT-F1 > ... < ALT-F6 >
Para iniciar uma nova sesso no mesmo v.c. sem fechar a atual, digite su
< nomedelogin >. Exemplo: su root. Isto til, por exemplo, quando vo-
c precisa fazer algo que s o root pode fazer.
Para terminar uma sesso, digite exit. Se houver jobs interrompidos, voc
ser avisado.
Para lanar um processo em segundo plano, adicione um '&' ao fim da li-
nha de comando:
$ nomeprog [-opes] [parmetros] [< entrada] [> sada] &
[1] 123
O shell identifica o processo a um nmero de job (p.ex. [1]; veja abaixo), e
a um PID (Process Identification Number, ou Nmero de Identificao de
Processo; 123 no nosso exemplo).
Para ver quantos processos existem atualmente, digite ps -ax. A sada ser
uma lista dos processos sendo executados.
Para matar um processo, digite kill < PID > . Voc pode precisar matar um
processo quando voc no souber como termin-lo da maneira correta. A
menos que voc seja root, voc no pode matar processos de outros usu-
rios.
s vezes, um processo somente pode ser morto atravs de kill -SIGKILL
< PID > . Alm disso, o shell permite que voc termine ou suspenda tem-
porariamente um processo, envie um processo ao segundo plano, e traga
176 Linux: Sistema Operacional II

um processo do segundo para o primeiro plano. Nesse contexto, processos
so chamados "jobs".
Para ver quantos jobs existem, digite jobs. Aqui os jobs so identificados
pelos seus nmeros de job, no pelos seus PIDs.
Para terminar um processo executando em primeiro plano, pressione
< CTRL-C > (no sempre que funciona).
Para suspender um processo executando em primeiro plano, pressione
< CTRL-Z > (idem).
Para mandar um processo suspenso para o segundo plano, digite bg < job >
(ele se torna um job).
Para trazer um job ao primeiro plano, digite fg < job > . Para trazer o lt i-
mo job que foi enviado ao segundo plano, digite simplesmente fg.
Para matar um job, digite kill < %job > onde < job > pode ser 1, 2, 3,...
Usando esses comandos voc pode formatar um disco, zipar um conjunto
de arquivos, compilar um programa e descompactar um arquivo, tudo ao
mesmo tempo, e ainda ter o prompt sua disposio. Tente isso no DOS! E
tente no Windows, apenas para ver a diferena de desempenho (se no tra-
var, claro).
Executando Programas em Computadores
Remotos
Para executar um programa em uma mquina remota cujo endereo IP seja
maquina.remota.edu, digite:
$ telnet maquina.remota.edu
Depois de logar, inicie seu programa favorito. Desnecessrio dizer que vo-
c deve ter uma conta shell na mquina remota.
Se voc tiver X11, voc pode at mesmo executar uma aplicativo X no
computador remoto, exibindo-o na tela do seu X. Seja maquina.remota.edu
o computador remoto e local.linux.box sua mquina Linux. Para executar a
partir de local.linux.box um programa X que resida em
remote.machine.edu, faa o seguinte:
Execute o X11, inicie um xterm ou um emulador de terminal equivalente, e
digite:
$ xhost +maquina.remota.edu
$ telnet maquina.remota.edu
Linux para Usurios DOS/ Windows 177

Depois de logar, digite:
remote:$ DISPLAY=local.linux.box:0.0
remote:$ nomeprog &
Ao invs de DISPLAY..., pode ser que voc tenha que digitar: setenv
DISPLAY local.linux.box:0.0. Depende do seu shell remoto.
E voil! Agora nomeprog rodar em maquina.remota.edu e ser exibido na
sua mquina. Entretanto, no tente isto usando um modem, pois ser lento
demais para ser usvel.
Usando Diretrios
Ns vimos as diferenas entre arquivos no DOS e no Linux. Quanto aos diretrios,
no DOS o raiz n, e no Linux /. Analogamente, diretrios aninhados so separa-
dos por n no DOS, e por / no Linux. Exemplos de caminhos (paths):
DOS: C:\PAPERS\ GEOLOGY\MID_EOC.TEX
Linux: /home/guido/papers/geology/middle_eocene.tex
Como de costume, .. o diretrio pai e . o diretrio atual.
Lembre-se que o sistema no permite que voc faa cd, rd, ou md para onde quiser.
Cada usurio comea no seu diretrio, chamado "home", dado pelo administrador
do sistema.
Por exemplo, no meu PC, meu diretrio home /home/Garcia.
Diretrios tambm tm permisses. O que foi visto em Permisses e Propriedade
tambm se aplica a diretrios (usurio, grupo e outros). Para um diretrio, rx signi-
fica que voc pode dar cd para esse diretrio, e w significa que voc pode apagar
um arquivo nesse diretrio (de acordo com as permisses do arquivo, claro), ou o
prprio diretrio.
Por exemplo, para evitar que outros usurios mexam em /home/Garcia/text:
$ chmod o-rwx /home/Garcia/text
Traduzindo DOS para o Linux diretrios
DIR: ls, find, du
CD: cd, pwd
178 Linux: Sistema Operacional II

MD: mkdir
RD: rmdir
DELTREE: rm -R
MOVE: mv
Exemplos:
C:\ >DIR $ ls
C:\ >DIR ARQUIVO.TXT $ ls arquivo.txt
C:\ >DIR *.H *.C $ ls *.h *.c
C:\ >DIR/P $ ls | more
C:\ >DIR/A $ ls -l
C:\ >DIR *.TMP /S $ find / -name "*.tmp"
C:\ >CD $ pwd
n/a veja observao $ cd
idem $ cd ~
idem $ cd ~/temp
C:\ >CD \OUTRO $ cd /outro
C:\ >CD ..\TEMP\LIXO $ cd ../temp/lixo
C:\ >MD NEWPROGS $ mkdir newprogs
C:\ >MOVE PROG .. $ mv prog ..
C:\ >MD \PROGS\TURBO $ mkdir /progs/turbo
C:\ >DELTREE TEMP\LIXO $ rm -R temp/lixo
C:\ >RD NEWPROGS $ rmdir newprogs
C:\ >RD \PROGS\TURBO $ rmdir /progs/turbo.p /
Observaes:
Para usar rmdir, o diretrio a ser removido deve estar vazio.
Para apagar um diretrio e todo o seu contedo, use rm -R (por sua prpria
conta e risco).
O caractere '~' um atalho para o nome do seu diretrio. Os comandos cd
ou cd ~ mudam para o seu diretrio home; o comando cd ~/tmp muda o di-
retrio para /home/seu_home/tmp.
cd "desfaz"o ltimo cd.
Linux para Usurios DOS/ Windows 179

Disquetes, Discos Rgidos e outras mdias
H duas maneiras de se gerenciar dispositivos no Linux: a maneira do DOS e a do
UNIX.
Maneira do DOS: A maioria das distribuies do Linux inclui o pacote Mtools,
um conjunto de comandos que so equivalentes s suas contrapartidas do DOS,
mas comeam com m. Por exemplo: mformat, mdir, mdel, mmd, e assim por di-
ante. Eles at preservam nomes-de-arquivos longos, mas no as permisses de
arquivos. Se voc configurar Mtools, editando um arquivo chamado
/etc/mtools.conf (um exemplo fornecido com o pacote), poder tambm acessar a
partio DOS/Win, o CD-ROM e o Zip drive.
Entretanto, o comando mformat no funciona para formatar um disquete novo
(nunca formatado). Antes, voc ter que rodar o seguinte comando, como root:
# fdformat /dev/fd0H1440
Nota: Voc no pode acessar arquivos no disquete com um comando como, di-
gamos, less a:arquivo.txt! Esta a desvantagem da maneira DOS de montar
disquetes.
Maneira UNIX lida com dispositivos de uma forma diferente do DOS/Win. No
h volumes separados como A: ou C:; um disco, seja um disquete ou o que quer
que seja, se torna parte do sistema de arquivos local atravs de uma operao cha-
mada "montagem". Quando voc terminar de usar o disco, voc precisa "desmont-
lo"antes de ejet-lo.
Formatar um disco fisicamente uma coisa, fazer um sistema de arquivos nele
outra. O comando FORMAT A: do DOS faz ambas as coisas, mas no Linux h
comandos separados. Para formatar um disquete, veja o exemplo anterior; para cri-
ar um sistema de arquivos:
# mkfs -t ext2 -c /dev/fd0H1440
Voc pode usar minix, vfat, dos ou outros formatos ao invs de ext2. Uma vez que
o disquete esteja preparado, monte-o com o comando:
# mount -t ext2 /dev/fd0 /mnt
Especificando o sistema de arquivos correto se voc no for usar ext2. Agora voc
pode se referir aos arquivos do disquete. Tudo o que voc usava com A: ou B: ago-
ra feito usando /mnt. Exemplos:
180 Linux: Sistema Operacional II

C:\ >DIR A: $ ls /mnt
C:\ >COPY A:*.* $ cp /mnt/* .
C:\ >COPY *.ZIP A: $ cp *.zip /mnt
C:\ >EDIT A:FILE.TXT $ jstar /mnt/file.txt
C:\ >A: $ cd /mnt
A:>_ /mnt/$ _
Quando voc tiver terminado, antes de ejetar o disquete voc deve desmont-lo
com o comando
# umount /mnt
Obviamente, voc precisa executar fdformat e mkfs somente em discos ainda no
formatados. Se voc quiser usar o drive B: use /fd1H1440/ e fd1 ao invs de
fd0H1440 e fd0 nos exemplos anteriores.
Evidentemente, o que se aplica a disquetes se aplica a outros dispositivos. Por e-
xemplo, voc pode querer montar outro disco rgido ou drive de CD-ROM. Eis
como montar o CD-ROM:
# mount -t iso9660 /dev/cdrom /mnt
Esta a maneira "oficial" de montar seus discos, mas h um truque. J que um
pouco aborrecedor ter que ser root para montar um disquete ou CD-ROM, voc
pode permitir que todo usurio os monte assim:
Como root, faa o seguinte:
# mkdir /mnt/a: ; mkdir /mnt/a ; mkdir /mnt/cdrom
# chmod 777 /mnt/a* /mnt/cd*
# # assegura que o dispositivo de CD-ROM est correto
# chmod 666 /dev/hdb ; chmod 666 /dev/fd*
Adicione as seguintes linhas em /etc/fstab:
/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 0
/dev/fd0 /mnt/a: msdos user,noauto 0 0
/dev/fd0 /mnt/a ext2 user,noauto 0 0
Agora, para montar um disquete do DOS, um disquete com sistema de arquivos
ext2, e um CD-ROM:
$ mount /mnt/a:
Linux para Usurios DOS/ Windows 181

$ mount /mnt/a
$ mount /mnt/cdrom
Agora, /mnt/a, /mnt/a:, e/mnt/cdrom podem ser acessados por todos os usurios.
Lembre-se que permitir que todos montem discos dessa maneira um furo de se-
gurana, se voc se importa.
Dois comandos teis so df, que d informao sobre os sistemas de arquivos mon-
tados, e du nomedir, que relata o espao em disco ocupado pelo diretrio.
Fazendo Backup
H vrios pacotes para lhe ajudar, mas o mnimo que voc pode fazer para backup
multi-volume (como root):.# tar -M -cvf /dev/fd0H1440 dir_to_backup/
Assegure-se de ter um disquete formatado no drive, e vrios outros prontos. Para
restaurar suas coisas, insira o primeiro disquete no drive e faa:
# tar -M -xpvf /dev/fd0H1440
E o Windows?
O "equivalente" ao Windows o sistema grfico X Window System, ou X11, ou
KDE para encurtar. Ao contrrio do Windows e Mac, o KDE no foi projetado pa-
ra ser fcil de usar ou ter boa aparncia (apesar de no ser to ruim assim), e sim
para fornecer recursos grficos para estaes de trabalho UNIX.
Consulte o captulo 9 para saber mais sobre o KDE e acompanhe em
http://www.kde.org a evoluo desta excelente interface grfica.
Personalizando o Sistema Arquivos de
Inicializao
Dois arquivos importantes no DOS so AUTOEXEC.BAT e CONFIG.SYS, que
so usados na hora do boot para inicializar o sistema, definir algumas variveis de
ambiente como PATH e FILES, e possivelmente rodar um programa ou arquivo de
lote. No Linux h vrios arquivos de inicializao, alguns dos quais seria melhor
voc no mexer at que saiba exatamente o que est fazendo. De qualquer maneira,
considero que os mais importantes so:
182 Linux: Sistema Operacional II

ARQUIVOS OBSERVAES
/etc/inittab no mexa por enquanto!
/etc/rc.d/* idem
Se tudo o que voc precisa definir o $PATH e outras variveis de ambiente, ou se
voc quer mudar as mensagens de login, ou rodar um programa automaticamente
aps o login, d uma olhada nos seguintes arquivos:
ARQUIVOS OBSERVAES
/etc/issue define a mensagem pr-login
/etc/motd define a mensagem ps-login
/etc/profile define $PATH e outras variveis, etc.
/etc/bashrc define apelidos e funes, etc.
/home/your_home/.bashrc define os seus apelidos e funes
/home/your_home/.bash _profile define ambiente e inicia seus programas
/home/your_home/.profile idem
Se o ltimo arquivo listado existir (observe que um arquivo oculto), ser lido de-
pois do login e os comandos contidos nele sero executados.
Exemplo veja este .bash_profile :
# Isto um comentrio
echo Ambiente:
printenv | less # equivalente ao comando SET do DOS
alias d='ls -l' # fcil entender o que um apelido
alias up='cd ..'.p /
echo "Lembre-se que o path "$PATH
echo "Hoje `date`" # usa a sada do comando 'date'
echo "Tenha um bom dia, "$LOGNAME
# O que segue uma "funo de shell"
ctgz() # Lista o contedo de um arquivo .tar.gz
{
for file in $*
do
gzip -dc ${file} | tar tf -
done
}
# fim de .profile
Linux para Usurios DOS/ Windows 183

$PATH e $LOGNAME, so variveis de ambiente. H muitas outras que podem
ser alteradas; por exemplo, para programas como less ou bash, LPM.
Arquivos de Inicializao de Programas
Sob o Linux, virtualmente tudo pode ser personalizado de acordo com suas neces-
sidades. A maioria dos programas tem um ou mais arquivos de inicializao nos
quais voc pode mexer, normalmente chamados .nomedoprogramarc e localiza-
dos no seu diretrio home. Os primeiros que voc vai querer modificar so:
.inputrc: usado por bash para definir associaes de teclas;
.xinitrc: usado por startx para inicializar o X Window System;
.fvwmrc: usado pelo gerenciador de janelas fvwm;
.joerc: usado pelo editor joe;
.jedrc: usado pelo editor jed;
.pinerc: usado pelo leitor de mail pine;
.Xdefault: usado por vrios programas X.
Para todos esses, e os outros que voc encontrar uma hora ou outra, LPM. Como
uma observao final, sugiro que voc veja:
Configuration HOWTO
http://sunsite.unc.edu/mdw/HOWTO/Config-HOWTO.html
Um pouco de programao
Um Shell Scripts um arquivo .BAT com esterides.
Se voc usava arquivos .BAT para criar atalhos para longas linhas de comando (eu
usei muito), pode fazer isso inserindo linhas de apelido apropriadas (veja exemplo
anterior) em profile ou .profile. Mas, se seus .BATs eram mais complicados, voc
vai adorar a linguagem de script do shell: to poderosa quanto QBasic. Tem vari-
veis, estruturas como while, for, case, if... then... else, e vrios outros recursos:
pode ser uma boa alternativa a uma linguagem de programao "de verdade".
Para escrever um script o equivalente a um arquivo .BAT no DOS tudo o que
voc tem a fazer escrever um arquivo ASCII contendo as instrues, grav-lo, e
torn-lo executvel com o comando chmod +x scriptfile. Para execut-lo, digite o
nome do arquivo.
184 Linux: Sistema Operacional II

Nota: O editor do sistema Unix chama-se vi, e na minha experincia a maioria dos
novos usurios acha-o muito difcil de usar. Veja referncia bsica do vi no Cap-
tulo 6 deste livro. Um bom editor para iniciantes o pico. Veja no Captulo 3.
Escrever scripts do bash um assunto to vasto que preencheria um livro, e no me
aprofundarei mais nesse tpico. S darei um exemplo de script de shell, do qual
voc poder extrair algumas regras bsicas:
#!/bin/sh
# sample.sh
# Isto um comentrio /
# no mude a primeira linha, ela precisa estar l
echo "O sistema : `uname -a`" # usa a sada do comando
echo "Meu nome $0" # variveis embutidas
echo "Voc me deu os seguintes $# parmetros: "$*
echo "O primeiro parmetro: "$1
echo -n "Como voc se chama? " ; read seu_nome
echo note a diferena: "oi $your_name" # quotando com "
echo note a diferena: 'oi $your_name' # quotando com '
DIRS=0 ; ARQS=0
for arquivo in `ls .` ; do
if [ -d ${arquivo} ] ; then # se arquivo for um diretrio
DIRS=`expr $DIRS + 1` # DIRS = DIRS + 1
elif [ -f ${arquivo} ] ; then
ARQS=`expr $ARQS + 1`
fi
case ${arquivo} in
*.gif|*jpg) echo "${arquivo}: arquivo grfico" ;;
*.txt|*.tex) echo "${arquivo}: arquivo texto" ;;
*.c|*.f|*.for) echo "${arquivo}: arquivo fonte" ;;
*) echo "${arquivo}: arquivo genrico" ;;
esac
done
echo "h ${DIRS} diretrios e ${ARQS} arquivos"
ls | grep "ZxY--!!!WKW"
if [ $? != 0 ] ; then # cdigo de sada do ltimo comando
echo "ZxY--!!!WKW no encontrado"
Linux para Usurios DOS/ Windows 185

fi
echo "pront... digite 'man bash' se voc \
quiser mais informaes."
C
No UNIX, a linguagem do sistema C, quer queira, quer no. Muitas outras lin-
guagens (Java, FORTRAN, Pascal, Lisp, Basic, Perl, COBOL, awk...) tambm es-
to disponveis.
Pressupondo que voc conhea C, aqui esto algumas diretrizes para voc que for
"estragado" pelo Turbo C++ ou algum outro do DOS. O compilador C do Linux se
chama gcc, e no tem todas aquelas "frescuras"que normalmente acompanham suas
contrapartidas do DOS: no h IDE (ambiente integrado de desenvolvimento), aju-
da on-line, depurador integrado, etc. apenas um seco compilador de linha de co-
mando, muito poderoso e eficiente. Para compilar seu hello.c padro, voc deve
digitar:
$ gcc hello.c
Isto criar um arquivo executvel chamado a.out. Para dar um nome diferente ao
executvel, faa:
$ gcc -o hola hello.c
Para linkar uma biblioteca ao programa, adicione a opo -l <libname> . Por e-
xemplo, para linkar a biblioteca matemtica:
$ gcc -o progmat progmat.c -lm
(A opo -l <libname> fora o gcc a linkar a biblioteca /usr/lib/lib<libname>.a;
ento -lm linka /usr/lib/libm.a).
At aqui, tudo bem. Mas, se seu programa for composto de vrios arquivos fontes,
voc ter que usar o utilitrio make. Suponha que voc tenha escrito um analisador
de expresses: seu arquivo fonte se chama parser.c e #inclui dois arquivos header,
parser.h e xy.h. Depois voc quer usar rotinas de parser.c em um programa, diga-
mos, calc.c, que por sua vez #inclui parser.h. Que baguna! O que voc tem que
fazer para compilar calc.c?
Voc ter que escrever um arquivo chamado makefile, que diz ao compilador quais
as dependncias entre os arquivos fontes e objetos. No nosso exemplo:
186 Linux: Sistema Operacional II

# Isto um makefile, usado para compilar calc.c
# Pressione a tecla <TAB> onde indicado!
calc: calc.o parser.o
<TAB>gcc -o calc calc.o parser.o -l m
# calc depende de dois arquivos objeto: calc.o e parser.o
calc.o: calc.c parser.h.p /
<TAB>gcc -c calc.c
# calc.o depende de dois arquivos fonte
parser.o: parser.c parser.h xy.h
<TAB>gcc -c parser.c
# parser.o depende de trs arquivos fonte
# fim do makefile.
Salve este arquivo como Makefile e digite make para compilar seu programa; ou sal-
ve como calc.mak, digite make -f calc.mak e, claro, LPM. Voc pode conseguir
ajuda sobre funes C, que so cobertas pelas pginas de manual. Por exemplo:
$ man printf
Para depurar seus programas, use gdb. info gdb para aprender a us-lo. H vrias
bibliotecas disponveis; entre as primeiras que voc vai querer usar esto ncurses,
para lidar com modo texto, e svgalib, para modo grfico. Se voc se sentir corajoso
o suficiente para abordar programao em X11, h bibliotecas como XForms, Qt,
Gtk e muitas outras, que tornam a programao em X11 uma moleza. D uma o-
lhada em http://www.xnet.com/~blatura/linapp6.html.
Muitos editores podem funcionar como um IDE; emacs e jed, por exemplo,
tambm permitem colorao por sintaxe, indentao automtica e assim por
diante. Alternativamente, pegue o pacote rhide de
ftp://sunsite.unc.edu/pub/Linux/devel/debuggers/. um clone do IDE Borland, e
provvel que voc goste.
O (1%) Restante
Mais que 1%, na verdade....
Usando tar & gzip
No UNIX h alguns programas amplamente usados para arquivar e compactar ar-
quivos.
Linux para Usurios DOS/ Windows 187

tar usado para fazer pacotes; como PKZIP mas ele no compacta, apenas em-
pacota. Para fazer um novo pacote:
$ tar -cvf <nome_do_pacote.tar> <file> [file...]
Para extrair arquivos de um pacote:
$ tar -xpvf <nome_do_pacote.tar> [file...]
Para listar o contedo de um pacote:
$ tar -tf <nome_do_pacote.tar> | less
Voc pode compactar arquivos usando compress, que obsoleto e no deve ser
mais usado, ou gzip:
$ compress <file>
$ gzip <file>
gzip cria um arquivo compactado com extenso (compress) ou .gz (gzip). Esses
programas compactam apenas um arquivo de cada vez. Para descompactar, use:
$ compress -d <file.Z>
$ gzip -d <file.gz>
LPM.
Tambm h os utilitrios unarj, zip e unzip (compatvel com PK??ZIP). Arquivos
com extenso .tar.gz ou .tgz (empacotado com tar, depois compactados com gzip)
so to comuns no mundo UNIX como arquivos .ZIP no DOS. Aqui est como
listar o contedo de um archive .tar.gz:
$ tar -ztf <arquivo.tar.gz> | less.p /
Instalando Aplicativos
Primeiro, instalar pacotes trabalho do root. A maioria dos aplicativos do Linux so
distribudos como um archive .tar.gz, ou pacotes RPM que normalmente contm um
diretrio chamado /nomedopacote/ contendo arquivos e/ou subdiretrios. Uma boa
regra instalar esses pacotes a partir do diretrio /usr/local com o comando
# tar -zxf <archive.tar.gz>
e depois ler o arquivo README ou INSTALL. Em muitos casos, o pacote distri-
budo em fonte, que voc ter que compilar para criar os binrios; freqentemente,
188 Linux: Sistema Operacional II

bastar digitar make e depois make install. Obviamente, voc precisar do compi-
lador gcc ou g++.
Outros pacotes devem ser descompactados a partir de /; o caso dos arquivos .tgz
do Slackware. Outros arquivos contm os arquivos, mas no um subdiretrio.
Sempre liste o contedo do pacote antes de instalar.
As distribuies Debian e Red Hat tm seu prprio formato de pacotes; respecti-
vamente, .deb e .rpm. Este est ganhando ampla aceitao. Para instalar um pacote
.rpm, digite:
# rpm -i pacote.rpm
LPM
Dicas Indispensveis
Completamento de comando: pressionar < TAB > quando da emisso de um co-
mando, completar a linha para voc. Exemplo: se voc quer executar gcc es-
te_e_um_nome_longo.c;, basta digitar gcc est < TAB > . (Se voc tiver outros ar-
quivos que comecem com os mesmos caracteres, fornea caracteres suficientes pa-
ra resolver qualquer ambigidade.)
Rolagem de tela: pressionar <SHIFT + PAG UP> lhe permite rolar a tela algumas
pginas para trs, dependendo de quanta memria de vdeo voc tiver.
Inicializando a tela: se acontecer de voc executar more ou cat em um arquivo bi-
nrio, sua tela pode ficar cheia de lixo. Para consertar, digite reset, ou esta seqn-
cia de caracteres:
echo CTRL-V ESC c RETURN.
Colando texto: no console, veja adiante; no X, clique e arraste para selecionar o
texto um janela xterm, e depois clique o boto do meio (ou os dois botes juntos se
voc tiver um mouse de dois botes) para colar. H tambm o xclipboard (alis,
somente para texto); no se confunda pela demora da resposta.
Usando o mouse: se voc instalou o gpm, um driver de mouse para o console, voc
pode clicar e arrastar para selecionar texto, e depois clicar para colar o texto sele-
cionado. Funciona de um VC ("virtual console") para outro.
Mensagens do kernel: d uma olhada em /var/adm/messages ou /var/log/messages
como root para ver o que o kernel tem a lhe dizer, incluindo mensagens de boot. O
comando dmesg tambm til.
Linux para Usurios DOS/ Windows 189

Onde Encontrar Aplicativos
Se voc est pensando se existem aplicativos para substituir os seus antigos do
DOS/Win, eu sugiro que voc consulte os principais repositrios de software para
Linux:
ftp://sunsite.unc.edu/pub/Linux/!INDEX.html
ftp://tsx-11.mit.edu/pub/linux/
ftp://ftp.funet.fi/pub/Linux/
Outro excelente lugar a "Linux Applications and UtilitiesPage" em
http://home.xnet.com/~blatura/linapps.shtml.
Algumas Coisas que Voc no Conseguia Fazer
O Linux pode fazer um monte de coisas que eram chatas, difceis ou impossveis
de se fazer no DOS/Win. Aqui est uma pequena lista que pode aguar seu apetite:
at permite rodar programas em uma hora determinada;
awk uma linguagem, simples mas poderosa, para manipular arquivos de
dados (e mais). Por exemplo, sendo data.dat seu arquivo de dados multi-
campos,
$ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat
imprime os campos 1 e 4 de cada linha de data.dat cujo segundo campo
contenha "abc".
cron til para fazer tarefas periodicamente, em determinadas datas e horas.
Digite man 5 crontab..p /
file < arquivo > diz o que o arquivo (texto ASCII, executvel, pacote,
etc.);
find um dos comandos mais poderosos e mais teis. usado para encon-
trar arquivos que correspondam a vrias caractersticas dadas, e para de-
sempenhar aes sobre esses arquivos. O uso geral de find :
$ find <diretrio> <expresso>
onde < expresso > inclui critrios de busca e aes. Exemplos:
190 Linux: Sistema Operacional II

$ find . -type l -exec ls -l {} \;
encontra todos os arquivos que sejam links simblicos e mostra para o que
cada um aponta.
$ find / -name "*.old" -ok rm {} \;
encontra todos os arquivos que correspondam ao padro e os apaga, pedin-
do sua confirmao antes.
$ find . -perm +111
encontra todos os arquivos cujas permisses correspondam a 111 (execut-
vel).
$ find . -user root
encontra todos os arquivos que pertenam a root. H vrias possibilidades
aqui.
LPM
grep encontra padres de texto em arquivos. Por exemplo,
$ grep -l "geologia" *.tex
lista os arquivos *.tex que contenham a palavra "geology". A variante z-
grep funciona em arquivos gzipados. LPM;
expresses regulares so uma maneira complexa mas muito poderosa de
fazer busca em texto. Por exemplo:
^a[^a-m]Xf4,gtxt$ corresponde a uma linha que comea com a, seguida
por qualquer caractere exceto os que esto no intervalo a-m, seguido por 4
ou mais X, e termina com txt.
Expresses regulares so usadas em editores avanados, less, e muitos ou-
tros programas. Digite man grep para uma introduo.
script <arquivo_script> copia o contedo da tela em arquivo_script at que
voc digite o comando exit. til para depurao;
uname -a d informaes sobre o seu sistema;
Os seguintes comandos freqentemente so teis: bc, cal, chsh, cmp, cut,
fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac, tail, tee, tou-
ch, uniq, w, wall, wc, whereis, write, xargs, znew. LPM.
Linux para Usurios DOS/ Windows 191

Extenses Comuns e Programas Relacionados
Voc pode se deparar com vrias extenses de arquivos. Excluindo as mais exti-
cas (i.e. fontes, etc.), aqui est uma lista de quem o que:
1 ... 8: man pages. No caso improvvel de voc ainda no ter, pegue o man.
arj: pacote feito com o arj.
dvi: arquivo de sada produzido pelo T E X. xdvi para visualiz-lo; dvips
para transform-lo em arquivo PostScript .ps.
gz: pacote feito com gzip.
info: arquivo info (tipo de alternativa s man pages). Pegue o info.
lsm: arquivo do Linux Software Map. um arquivo ASCII contendo a
descrio de um pacote.
ps: arquivo PostScript. Para visualiz-lo ou imprimi-lo pegue gs e, opcio-
nalmente, ghostview ou gv.
rpm: pacote Red Hat. Voc pode instal-lo em qualquer sistema usando o
gerenciador de pacotes rpm.
taz, tar.Z: pacote feito com o tar e compactado com compress.
tgz, tar.gz: pacote feito com o tar e compactado com gzip..p /
tex: arquivo texto a ser submetido ao T E X, um poderoso sistema de com-
posio. Pegue o pacote tex, disponvel em vrias distribuies; mas cui-
dado com o NTeX, que tem fontes corrompidas e includo em algumas
verses do Slackware.
texi: arquivo texinfo, que pode produzir tanto arquivos T E X como info
(qv. info). Pegue o texinfo.
xbm, xpm, xwd: arquivo grfico. Pegue o xpaint.
Z: pacote feito com compress.
Convertendo Arquivos
Se voc precisar intercambiar arquivos texto entre DOS/Win e Linux, cuidado com
o problema do "fim de linha". No DOS, cada linha termina com CR/LF ("carriage
return"e "line feed"), enquanto no Linux termina com LF. Se voc tentar editar um
arquivo texto do DOS no Linux, cada linha provavelmente terminar com um
estranho caractere M; um texto do Linux sob o DOS aparecer como uma nica e
quilomtrica linha, sem pargrafos. H um par de ferramentas, dos2unix e
unix2dos, para converter os arquivos. H tambm o todos, e o utilitrio tr. Se seus
arquivos contiverem caracteres acentuados, assegure-se de que eles tenham sido
feitos no Windows (com o Write ou Notepad, digamos) e no sob oDOS; caso
contrrio, todos os caracteres acentuados ficaro bagunados.
192 Linux: Sistema Operacional II

Para converter arquivos Word ou WordPerfect para texto puro, a soluo um
pouco mais difcil, mas possvel. Voc precisar de uma das ferramentas que po-
dem ser encontradas nos sites CTAN; uma delas ftp://ftp.tex.ac.uk.
Pegue o pacote word2x do diretrio /pub/tex/tools/, ou tente um dos pacotes dispo-
nveis no diretrio /pub/tex/support/. Eu s experimentei word2x, e funciona muito
bem.
Concluso
Parabns! Voc aprendeu um pouquinho de UNIX e est pronto para comear a
trabalhar. Lembre-se de que seu conhecimento do sistema ainda limitado, e que
espera-se que voc pratique mais com o Linux para us-lo confortavelmente. Mas
se tudo o que voc precisa fazer pegar uma poro de aplicativos e comear a
trabalhar neles, o que eu inclu aqui suficiente.
Tenho certeza de que voc gostar de usar Linux e continuar aprendendo mais
sobre ele com todo mundo assim.
Copyright
Este captulo uma traduo livre, atualizada e adaptada do Linux HOWTO obtido
na sunsite.unc.edu via e-mail.
193

O KDE foi desenvolvido exclusivamente para trabalhar em ambiente Linux e ofe-
rece ao usurio:
Um ambiente de janelas parecido com o Windows;
Um gerenciador de arquivos poderoso e de uso simplificado;
Configurao simples e centralizada.
Escolhi colocar aqui um tutorial rpido sobre a verso internacional do KDE 1.1.2
por ser muito comum na maioria das distribuies (incluindo Mandrake, Conectiva,
RedHat, Console e outras) e por ser base para todas elas. Desta forma, pequenas
diferenas visuais no comprometem o entendimento das verses mais novas em
funo apenas do visual e do idioma, uma vez que coloquei os comandos em ingls
e sua traduo em portugus, o que j ajuda tambm a ambientar-se com os princi-
pais significados do ingls para o portugus.
Operaes do mouse
O KDE foi desenvolvido para ser utilizado com o mouse, o qual move um ponteiro
pela tela. O ponteiro do mouse utilizado para ter acesso e selecionar menus, ma-
nusear textos, mover janelas, alterar o seu tamanho, iniciar e fechar aplicaes.
194 Linux: Sistema Operacional II

H cinco operaes bsicas do mouse:
AO DO MOUSE PROCEDIMENTO
[clique] Pressione o boto esquerdo rapidamente e solte-o. Esta opo utiliza-
da para selecionar janelas, selecionar opes e iniciar aplicaes.
[clique direito] Pressione o boto direito rapidamente e solte-o. Esta opo utilizada
para at ivar menus de atalho.
[duplo clique] Pressione o boto esquerdo duas vezes rapidamente.
[arrastar] Mantenha pressionado o boto esquerdo e mova o mouse. Ao ser solto
completa-se a ao. Esta ao utilizada para alterar o tamanho de ja-
nelas e selecionar textos.
[arrastar direito] Mantenha pressionado o boto direito ao mover o mouse. Ao ser solto
completa-se a ao.
Formatos do ponteiro
O formato do ponteiro do mouse varia dependendo da sua posio na tela e da ao
que est sendo executada. No KDE, o ponteiro do mouse pode assumir os seguintes
formatos:
FORMATO DO
PONTEIRO
NOME OBJETIVO
Ponteiro em forma de
"X"
Formato padro quando o ponteiro estiver sobre o
fundo da tela do KDE. Indica que n o existe, naquele
ponto da tela, nenhum objeto que possa ser clicado.
Ponteiro em forma de
seta esquerda
Formato padro quando o ponteiro do mouse esti-
ver dentro de uma janela. Indica, na maioria das
vezes, que existe, naquele ponto da tela, um objeto
que possa ser clicado.
Relgio "Espere". O relgio informa ao usurio que a ope-
rao selecionada pode demorar at ser completada.
Ponteiro em forma de
cruz com setas
Estando com o ponteiro sobre a barra de ttulo de
uma janela e mantendo pressionado o boto esquer-
do do mouse, o ponteiro assume esta forma e indica
que a janela ser movida.
Redimensionar l ados Quando o ponteiro se aproxima de uma das laterais
de uma janela, assume esta forma e indica que a
janela ser redimensionada naquele lado.
Sobre o KDE 195

FORMATO DO
PONTEIRO
NOME OBJETIVO
Redimensionar cantos Quando o ponteiro se aproxima de um dos cantos
de uma janela, assume esta forma e indica que a
janela ser redimensionada nos dois lados que fa-
zem parte daquele canto.
Redimensionar painis Quando o ponteiro posicionado sobre uma barra
separadora de painis de uma mesma janela, assu-
me esta forma e indica que aquela barra separadora
ser movida.
Ponteiro em forma de
"I"
Ponto de insero utilizado na edio de textos.
[clique] em meio a um texto para colocar o ponto
de insero na posio do ponteiro em forma de I.
Em alguns aplicativos, podem ser observados outros formatos. Aqueles aqui apre-
sentados so os mais comuns do KDE.
Iniciando uma sesso de trabalho
KDE (login)
Se a instalao do Console Linux foi feita conforme a recomendao do incio do
livro, a ativao do KDE ser feita de forma diferente da descrita a seguir.
Aps ligar o computador, uma srie de informaes so exibidas indicando que o
Linux est sendo iniciado e lido para a memria. Ao final, ser exibida uma tela
com o ttulo K Desktop Environment [localhost].
Para iniciar uma sesso de trabalho Linux, usando o ambiente grfico KDE:
Login => Clique com o mouse sobre o nome de usurio ou ento digite-o;
Password => Digite a senha. O cursor permanece parado (sigilo).
Clique o mouse com o ponteiro posicionado sobre o primeiro boto direi-
ta do texto Session Type, escolha a opo kde e clique sobre o boto
Go ( Ir ).
Caso a senha esteja errada, ser exibida, por alguns momentos, a mensagem Login
failed. Aguarde o desaparecimento da mensagem e tente outra vez.
Considere as orientaes descritas antes caso a sua instalao seja com ativao do
login pelo ambiente grfico KDE. Caso seu login seja no formato texto, faa o lo-
196 Linux: Sistema Operacional II

gin como root e no prompt do shell digite o comando startx e aguarde o KDE ser
carregado. Neste caso no haver solicitao de novo login e senha.
Localizando a sesso KDE
Uma das caractersticas do Linux permitir que se tenha at oito sesses de traba-
lho simultneas. Cada sesso pode executar programas diferentes. Quando o KDE
iniciado, ele se instala numa das oito sesses de trabalho do Linux (normal-
mente na sesso de nmero 7).
Para passar para outra sesso de trabalho, mantenha pressionadas as teclas Ctrl e
Alt e pressionar a tecla F1 (vai para a sesso de nmero 1), ou F2, ou F3, ou F4, ou
F5, ou F6, ou ainda F8. Para retornar para o KDE, mantenha pressionadas as teclas
Ctrl e Alt e pressionar a tecla F7.
Trabalhando com vrios ambientes
Aqui est um diferencial do KDE. a facilidade de se trabalhar vrios ambientes
de trabalho (de 2 at 8) dentro de uma mesma sesso KDE. Em cada um destes
ambientes pode-se abrir qualquer programa. Opcionalmente pode-se personalizar
cada ambiente com um fundo de tela diferenciado.
Para ir de um para outro ambiente de trabalho, clique com o mouse sobre os botes
que identificam os ambientes ou use um dos seguintes comandos:
Ctrl + Tab = Alterna entre as sesses virtuais.
Ctrl + F... (onde o nmero do ambiente de 2 a 7);
Ctrl + Esc = Abre uma janela com as sesses e tarefas ativas.

Figura 9.1
Encerrando uma sesso KDE (logout)
Antes de desligar o computador, o KDE deve ser encerrado em um processo seme-
lhante ao shutdown no modo comando. Para isto:
Clique no boto K do Painel KDE;
Escolha a opo Sair (Logout);
Sobre o KDE 197

Quando solicitado, confirme o encerramento da sesso.

Figura 9.2
Finalizando o Linux (Shutdown)
Aps encerrar o KDE, a tela K Desktop Environment [localhost] exibida. A
partir desta tela a sesso KDE pode ser encerrada, reiniciada por outro usurio em
uma nova sesso KDE ou ento preparar o computador para ser desligado.
Para desligar, clique no boto Shutdown, escolha a opo Shutdown e clique o boto
OK. Este boto inicia as rotinas de encerramento completo do Linux para que o com-
putador possa ser desligado com segurana. Aps alguns instantes e vrias linhas de
comando, ser exibida a mensagem "Power down". Desligue o computador.
Caso o KDE tenha sido iniciado pelo comando startx, o processo de enceramento
feito diretamente pelo prompt do shell conforme j mostrado no Captulo 2, no i-
tem Desligando corretamente o Console Linux.
Para encerrar o KDE iniciado a partir do prompt do shell pressione as tecla Ctrl +
Alt + Backspace.
rea de Trabalho do KDE
A rea de trabalho do KDE inclui todos os objetos exibidos na tela, sendo a grande
maioria deles sensvel ao clique do mouse.
Os principais objetos da tela de uma interface grfica so:
cones;
Janelas;
Botes;
Barras de botes;
Barras de menus.
198 Linux: Sistema Operacional II

A figura 9.3 representa a tela inicial do KDE onde encontramos cones e uma gran-
de barra de botes chamada painel KDE.

Figura 9.3
cones
So pequenas ilustraes, sensveis ao clique do mouse, que simbolizam o coman-
do para iniciar um programa aplicativo ou utilitrio. Ao invs de digitarmos uma
linha de comando para iniciar um programa, basta clicar sobre o cone correspon-
dente. Alguns cones so criados automaticamente quando da instalao do KDE
(cones comuns) e outros podem ser criados pelo usurio. Existe tambm a possibi-
lidade de alterar a imagem exibida em um cone.
cones comuns
Lixo, Modelos e Auto-Incio (Trash, Templates e AutoStart). Estes cones so con-
siderados comuns pelo fato de serem criados automaticamente ao final da insta-
lao do KDE.

Figura 9.4
Sobre o KDE 199

Adicionando e removendo cones
Podem-se criar cones para facilitar o acesso aos programas mais utilizados. Estes
cones podem ser colocados diretamente sobre o fundo de tela do KDE ou ainda
dentro do Painel KDE.
Painel KDE
O Painel KDE inicialmente exibido no rodap da tela e rene o conjunto de co-
nes e botes mais utilizados. possvel alterar a posio do painel KDE para qual-
quer uma das quatro extremidades da tela.

Figura 9.5
O Painel KDE pode ser exibido ou oculto ao clicar sobre um dos dois botes em
forma de seta que existem na sua extremidade.

Figura 9.6
O Painel KDE apresenta a Barra de Tarefas, o boto K (equivalente ao Iniciar do
MS-Windows), os botes para alternar para os diversos Ambientes de Trabalho,
200 Linux: Sistema Operacional II

informao de data e hora, alm de botes para acionar o Centro de Controle, a
Ajuda KDE, a Lista de Janelas, Utilitrios, Travar Tela, Sair, Histrico da rea de
Transferncia e KwikDisk. Voc pode adaptar o Painel KDE s suas preferncias:
Adicionando cones para ter acesso rpido aos programas que mais usa;
Movendo componentes para uma nova posio;
Removendo componentes;
Fazendo outras configuraes.
Barra de Tarefas
A Barra de Tarefas o elemento superior do Painel KDE. Pode ser exibida ou ocul-
ta, dependendo de sua preferncia. A Barra de Tarefas apresenta um boto para
cada um dos programas que estiver carregado no Ambiente de Trabalho atualmente
selecionado. Clicar em um destes botes far com que o programa correspondente
torne-se o programa ativo.
O boto "K"
O boto K, localizado na extremidade esquerda do painel equivale ao boto Iniciar
do MS-Windows e serve para abrir o menu principal do KDE.

Figura 9.7
Sobre o KDE 201

Opes do boto "K"
O menu principal do KDE, exibido ao clicar no boto K d acesso aos programas e
outras funes necessrias ao trabalho, tais como Aplicativos, Jogos, Grficos, In-
ternet, Multimdia, Configuraes, Sistema, Utilitrios , Ajuda KDE, Centro de
Controle KDE, Diretrio Usurio, Lixo, Procurar Arquivo, Redesenhar rea de
Trabalho, Pessoal, Navegador de Disco, Painel, Trava de Tela e Sair.
Outros elementos do Painel KDE
Utilitrios
O conjunto de programas utilitrios (Relgio, Formatar Disquete, Criar Livro de
Endereos, Calculadora, etc.) pode ser acessado diretamente pelo boto Utilitrios
do Painel KDE e tambm pelo menu principal do boto K.
Lista de J anelas
Existe um boto no painel KDE chamado Lista de Janelas. Existe tambm uma op-
o correspondente no menu principal do boto K. Qualquer um dos dois, quando
clicado, exibe a lista dos programas atualmente carregados dentro de cada um dos
ambientes de trabalho. Clicar em qualquer item desta lista, faz com que o programa
selecionado passe a ser o programa ativo. A combinao Alt + Tab serve para listar
os aplicativos do ambiente atual, permintindo acesso direto a qualquer um deles.

Figura 9.8
Procurar Arquivos (Find Files)
O boto Procurar Arquivos se encontra no Painel e no menu principal do boto K.
Voc pode localizar um arquivo informando o seu nome ou outros dados relacio-
nados a ele. Pode tambm obter uma lista de todos os arquivos com uma mesma
extenso, etc.
202 Linux: Sistema Operacional II


Figura 9.9
Arquivos Pessoais
Um dos conceitos bsicos do Linux que um usurio somente tem acesso aos ar-
quivos das pastas para as quais possui autorizao. Caso vrios usurios utilizem
um mesmo computador, necessrio criar uma pasta na qual cada um deles ir ar-
mazenar seus arquivos pessoais.

Figura 9.10
Sobre o KDE 203

Para ver uma lista dos seus arquivos pessoais, clique no boto Arquivos Pessoais
no Painel KDE ou escolha a opo correspondente no menu principal do boto K.
Note o cone com o comentrio This folder contains all your personal files.
Centro de Controle
Existe uma srie de adaptaes que podem ser feitas, de modo a obter um KDE
mais prximo das necessidades do usurio (caso seja canhoto, pode inverter os bo-
tes do mouse, por exemplo). Estas adaptaes atingem aparncia de tela, teclado,
mouse, etc. Todas estas adaptaes so feitas atravs do Centro de Controle.

Figura 9.11
Sair
No Painel KDE (ao lado esquerdo dos botes Ambiente de Trabalho) e tambm no
menu principal do boto K, existe a opo Sair, para voc finalizar o KDE.

Travar Tela
Caso necessite abandonar o computador por algum tempo e no queira que ningum te-
nha acesso aos trabalhos que estava fazendo, no necessrio finalizar o KDE. A melhor
opo travar a tela. S poder destrav-la quem conhea a sua senha de usurio.
204 Linux: Sistema Operacional II

Para travar a tela, clique o boto localizado abaixo do boto Sair no Painel KDE ou
escolha a opo correspondente no menu principal do boto K.

Ambientes de Trabalho
Em uma sesso KDE pode-se trabalhar com um nmero varivel de Ambientes de
Trabalho. Uma das opes para ir para um determinado ambiente clicar no boto
que o identifica (de dois a oito botes, localizados no centro do painel, identifica-
dos por One, Two) sendo que essa nomenclatura pode ser alterada assim como
o tamanho dos botes.

Figura 9.12
Esses botes possibilitam alternar entre os ambientes de trabalho e trabalhar com pro-
gramas em qualquer um deles. Veja os botes alterados em seu nome e tamanho.

Figura 9.13
Esta customizao pode ser feita com um clique direito sobre a barra de tarefas e
escolhendo Configure. Isto abrir o KPanel Configuration que intuitivamente per-
mitir os ajustes desejados em alguns aspectos visuais da barra de tarefas como
tamanho dos cones, quantidade de painis, quantos esto visveis, etc.
Atalhos para programas
Pode-se colocar um atalho no painel KDE, ou um cone diretamente sobre o fundo
de tela, para acessar de forma mais rpida os programas que mais usa.
Sobre o KDE 205

Acessando disquetes Linux
No menu K acesse Console -> System -> Disk Management. Uma lista com os devices
ser exibida. Escolha aquele que deseja montar, clicando sobre o boto Mount.

Figura 9.14
rea de Transferncia
Uma das grandes facilidades que temos quando decidimos criar textos, figuras e
planilhas de clculo atravs de computadores a possibilidade de "reutilizao" de
textos e/ou figuras em vrios arquivos. Essa reutilizao bastante facilitada para
quem usa KDE.
O KDE permite que sejam mantidos contedos textos e/ou figuras num local de
armazenamento temporrio, chamado rea de transferncia. Este recurso permite
que textos e figuras sejam copiados ou movidos entre arquivos.
Como o KDE permite manter vrios contedos na rea de transferncia, pode-se
visualizar cada um destes contedos atravs do boto chamado Histrico da rea
de Transferncia.
206 Linux: Sistema Operacional II

Conhecendo a rea de transferncia
O uso da rea de transferncia do KDE bastante similar do MS-Windows. So
possveis duas operaes bsicas: copiar ou mover.
Copiando contedos entre arquivos
Para copiar texto, clulas ou figuras de um arquivo para outro:
Selecionar, no arquivo de origem, aquilo que quer copiar;
Enviar para a rea de transferncia com o comando Copiar;
Clicar no boto Histrico da rea de Transferncia e escolher o conte-
do a ser inserido;
No arquivo de destino, colocar o ponto de insero no local onde deve
ser inserida a cpia e escolher o comando Colar.
Movendo contedos entre arquivos
Para mover texto, clulas ou figuras de um arquivo para outro:
Selecionar, no arquivo de origem, aquilo que quer mover;
Enviar para a rea de transferncia com o comando Cortar;
Clicar no boto Histrico da rea de Transferncia e escolher o conte-
do a ser inserido;
No arquivo de destino, colocar o ponto de insero no local onde deve
ser inserida a cpia e escolher o comando Colar.
Os contedos somente so removidos da rea de transferncia ao finalizar o KDE.
Ao acionar a rea de transferncia, o menu Clipboard History aberto para que o
usurio escolha qual elemento deseja colar.

Figura 9.15
Sobre o KDE 207

Trabalhando com "janelas"
O ambiente grfico do MS-Windows se tornou padro para os ambientes grficos.
Existem clones de ambientes grficos para o Linux que imitam quase perfeio o
Windows 9X. Isto resulta em grande semelhana entre os diversos ambientes grfi-
cos, o que facilita bastante o aprendizado de KDE. Praticamente tudo que vai apa-
recer na sua tela, exceto cones e menus, ser exibido dentro de uma janela.
O que so "janelas"
Uma janela representa um espao da rea de trabalho do KDE dentro do qual ser
exibida a interface (as telas) de um programa utilitrio ou aplicativo. As janelas
podem ser redimensionadas e movidas na tela, de maneira a lhe permitir a melhor
visualizao possvel. Usando o KDE pode-se ter vrias janelas em cada um dos
diversos ambientes de trabalho disponveis.

Figura 9.16
Componentes de uma janela
As janelas do KDE possuem uma srie de componentes comuns, o que facilita a
voc trabalhar com elas.
208 Linux: Sistema Operacional II

Botes comuns
As janelas do KDE possuem, na sua parte superior, uma primeira barra, chamada
"Barra de Ttulo", na qual so exibidos uma srie de botes, nas extremidades es-
querda e direita e, ao centro, o ttulo do programa. Estes botes permitem uma srie
de operaes relacionadas com a janela:
BOTO NOME FINALIDADE

cone
Identifica visualmente o programa que est utilizando a
janela. Quando clicado, oferece uma srie de opes para
manipulao da janela.

Pregar
Despregar
Quando desativado, a janela pode ser acessada somente no
ambiente de trabalho na qual foi aberta. Quando ativado, a
janela pode ser acessada de todos os ambientes de traba-
lho.

Minimizar
Quando clicado, faz com que a janela desaparea da rea
de trabalho, mas sem fechar o programa. Ao utilizar Alt
+Tab, a janela pode ser vista novamente e selecionada.

Maximizar
Restaurar
Quando uma janela ocupa a tela inteira, ela est maximi-
zada. Quando ocupa apenas uma parte da tela, est restau-
rada. Este boto faz com que seja alternada a opo de
exibio da janela, maximizando ou restaurando-a.

Fechar
Este boto faz com que a janela desaparea da rea de tra-
balho e fecha o programa que a estava usando. Caso exis-
tam alteraes a serem salvas no arquivo que estava aberto
por aquele programa, ser exibido um aviso neste sentido.
Menus
Logo abaixo da Barra de Ttulo, a maioria das janelas possui uma barra contendo
uma srie de palavras-chave, tais como "File", "Edit", "Options", "Help" (podendo
apresentar pequenas diferenas em cada aplicativo).
Esta a barra de menus, que abriga os comandos que o programa que ocupa a jane-
la est apto a receber. Cada uma destas palavras-chave o ponto de acesso a um
dos menus da janela. Cada um dos menus abriga uma srie de opes (chamados
itens de menu) relacionadas com a palavra-chave que o identifica.
Sobre o KDE 209

Muitas barras de menus podem ser movidas, removidas, reconfiguradas e reexibi-
das. Estas facilidades dependem de cada aplicativo.

Figura 9.17
Barras de ferramentas
Muitas janelas possuem, alm da barra de menus descrita, uma ou mais barras de
ferramentas, representadas por uma srie de botes alinhados e agrupado em fun-
es do mesmo tipo. Os botes das barras de ferramentas facilitam o acesso aos
principais comandos do programa e repetem alguns dos itens de menu.
Clicar sobre um boto de barra de ferramentas equivale a acionar o mesmo coman-
do a partir da barra de menus. A maioria dos programas fornece uma "dica" (para
qu serve este boto?), quando o ponteiro do mouse fica estacionado sobre cada um
dos botes da barra.

Menus de atalho
Grande parte das janelas possui, alm da barra de menus e barra(s) de ferramenta(s)
descritas, uma srie de outros menus, os quais so exibidos quando clicamos o bo-
to direito do mouse sobre algum dos elementos da janela. Estes, so os chamados
"menus de atalho" ou "menus de contexto".
O contedo destes menus depende de qual tipo de objeto havia sob o ponteiro do
mouse no momento em que voc clicar o boto direito do mouse.
210 Linux: Sistema Operacional II

Note na figura 9.18 um menu de atalho gerado pelo clique direito sobre o objeto
Printer do KDE e outro tambm com clique direito sobre uma seleo feita em um
Text Editor.

Figura 9.18
Caixas de dilogo
Alguns dos itens de menu e tambm alguns dos itens dos menus de atalho execu-
tam comandos diretos (exemplo: EditCopy).
Outros itens de menu e tambm de menu de atalho executam comandos mais com-
plexos e que requerem uma srie de informaes complementares. Estes itens de
menu aparecem sempre com reticncias logo aps o seu nome e, quando acionados,
exibem uma "caixa de dilogo". So exemplos: FileOpen... ; EditFind...; Opti-
onsFont... ;
Uma caixa de dilogo uma janela que surge sobre a janela principal do programa,
na qual deve-se fornecer as informaes adicionais para completar o comando soli-
citado.
Controles das caixas de dilogo
As caixas de dilogo possuem uma srie de controles de aparncia diferente, atra-
vs dos quais deve-se fornecer as informaes necessrias.
A seguir, sero apresentados os controles tpicos de caixas de dilogo e a maneira
de fornecer informaes ou fazer escolhas atravs de cada um deles.
Sobre o KDE 211

APARNCIA NOME FORMA DE PREENCHIMENTO /
ESCOLHA

Guia
Algumas das caixas de dilogo que exigem
muitas informaes agrupam controles den-
tro de guias (como se fossem pginas). Cli-
car sobre a aba de uma guia apenas exibe os
controles integrantes daquela guia.

Boto de Comando
Clicar sobre um boto de comando executa
o comando associado, o qual apresenta-se
descrito na face do boto.

Caixa de texto
Este tipo de controle disponibiliza um espa-
o no qual voc pode digitar texto.

Botes de opo
Do tipo "escolha um". Norma lmente, so
exibidos em grupo e cada um deles repre-
senta uma das opes aceitveis para uma
determinada informao. Quando voc clica
um deles, ele passa a ser a opo escolhida e
todos os demais do grupo passam a estar no
escolhidos.

Caixa de
verificao
Do tipo "liga / desliga". Representa opes
que s aceitam duas alternativas: SIM ou
NO. Quando voc seleciona, est dizendo
SIM.

ou

Caixa giratria
ou
Barra deslizante
Normalmente associada escolha de nme-
ros, apresenta uma seta acima para aumentar
aquele nmero e uma seta abaixo para redu-
zi-lo. Voc pode, na maioria das vezes, digi-
tar o novo valor para aquela opo.

ou

Caixa de listagem
ou
Alternado
Tambm do tipo "escolha um". utilizada
quando a quantidade de opes muito
grande. Possui uma barra de rolagem para
exibir opes acima e abaixo. Clicar sobre
um dos itens da listagem significa escolher
aquela opo. Algumas caixas de listagem
aceitam a escolha de mais de uma opo ao
mesmo tempo.
212 Linux: Sistema Operacional II

Barras de deslocamento
Sempre que o contedo de uma janela for maior que a rea visvel, esta janela apre-
sentar barras de deslocamento (tambm chamadas barras de rolagem), na base
(barra de deslocamento horizontal) e na lateral direita (barra de deslocamento ver-
tical). Com o uso do mouse sobre estas barras, move-se o contedo sem alterar o
tamanho ou a posio da janela.
Existem trs tipos de movimentao possveis:
Clicar sobre as setas existentes nas extremidades das barras Movi-
mentao lenta do contedo no sentido da seta;
Clicar sobre as reas livres da barra, acima ou abaixo do boto "eleva-
dor" Movimentao acelerada do contedo, at que o boto "eleva-
dor" atinja a seta do mouse;
Arrastar o boto "elevador" sobre a barra O contedo ser movido
na direo do arrasto, na mesma velocidade do arrasto.
Administrao de janelas
Existe uma srie de operaes que voc pode fazer no sentido de melhor posic ionar
as janelas dos programas abertos na sua tela. As janelas podem ser movidas, redi-
mensionadas (desde que estejam restauradas), minimizadas, maximizadas e restau-
radas.
Mover janelas
Pode-se mover uma janela com o mouse, arrastando-a pela Barra de Ttulo.
Pode-se fazer o mesmo, da seguinte forma:
Clique no cone que representa o aplicativo;
Clique sobre o item de menu "Mover";
A janela passa a seguir o mouse;
Clique no local de destino, para fixar a janela nesta nova posio.
Redimensionar janelas
Para redimensionar uma janela com o mouse:
Sobre o KDE 213

Aproxime o ponteiro do mouse de uma das bordas ou de um dos cantos
da janela, at que o ponteiro assuma o formato especfico j apresenta-
do;
Nesta situao, trave o boto esquerdo do mouse;
Com o boto travado, arraste a borda ou o canto at o ponto desejado.
Minimizar, maximizar e restaurar
Conforme j apresentado, possvel usar os botes existentes na extremidade direi-
ta da barra de ttulo para:
Minimizar a janela Faz com que a janela desaparea da rea de
trabalho, mas sem fechar o programa. A janela fica reduzida a um bo-
to exibido na barra de tarefas do Painel KDE (quando este boto for
clicado, a janela volta a ser exibida na tela).
Maximizar a janela Faz com que a janela ocupe toda a tela.
Restaurar a janela Qualquer tamanho intermedirio entre minimi-
zado e maximizado. Quando nesta situao, a janela pode ser redimen-
sionada atravs das suas bordas / cantos, conforme j apresentado.
Ajuda do KDE
O KDE fornece um banco de dados completo de ajuda operacional e de configura-
o do ambiente.
Para se ter acesso base de dados da Ajuda clique no cone que se encontra na
barra de tarefas do KDE.

Figura 9.19
A janela da figura 9.20 ser exibida e pode-se ento navegar pelo Help.
Isso quer dizer que ao clicar no Ajuda, uma pgina de Internet ir se abrir para ser
pesquisada.
Se a ajuda no estiver disponvel nos arquivos internos do KDE, o sistema de ajuda ir
tentar uma conexo com a Internetpara obter auxlio em sites externos ao computador.
214 Linux: Sistema Operacional II


Figura 9.20

Figura 9.21
Sobre o KDE 215

Para uma pesquisa mais especfica pode-se acessar:
1. Clique no Menu File.
2. Opo, Search.
3. Digite a palavra chave que deseja pesquisar.
4. Escolha as categorias;
KDE Documento
Online Manual (na Internet necessita conexo)
Informao do Documento
5. Clique no boto Submit Search.
6. Aguarde a resposta.
Pesquisando a ajuda
A organizao do tpicos de ajuda :

Figura 9.22
Pesquisa feita por Hyperlink. Hyperlink Cada palavra que estiver sublinhada
representa uma pesquisa. Basta clicar. Esta palavra um atalho para outra pgina.
216 Linux: Sistema Operacional II

Iniciando programas
O KDE pode executar aplicaes a partir de um menu ou lista, ou a partir de um
cone. O modo mais fcil de executar uma aplicao a partir deste ltimo, caso
esteja disponvel. Se a aplicao no estiver representada por um cone, ela deve
ser executada a partir de Alt + F2 ou da janela de leitura de disco no Menu File ->
Run.

Figura 9.23
Com Alt + F2 abre-se a linha de comando.

Figura 9.24
Pela janela de pastas executa-se clicando uma vez sobre o arquivo desejado ou se-
lecionando o arquivo e escolhendo o menu File -> Run...
Iniciar programas a partir de cones
1. Localize o cone.
O cone da aplicao pode estar no Ambiente de Trabalho ou numa pasta.
2. Faa um clique sobre o cone associado aplicao, que ela ser executada.
Sobre o KDE 217

Iniciar programas a partir do boto "K"
A maioria dos acessrios e aplicaes do KDE esto localizados no menu K (Ini-
ciar). possvel acrescentar outras aplicaes a este menu de modo a facilitar o
seu acesso.
1. Clique no boto K (Iniciar) situado na barra de tarefas.
2. Mova o ponteiro do mouse pelos menus em cascata at selecionar a aplicao
desejada.
3. Clique para iniciar a aplicao.
Iniciar programas com Alt + F2
Se o cone da aplicao no se encontrar disponvel no Ambiente de Trabalho ou
no menu K (Iniciar), pode-se executar a aplicao com o comando Executar. As
aplicaes que no so utilizadas freqentemente podem ser iniciadas especifican-
do o seu nome de arquivo.
1. Se estiver dentro de uma janela de disco,
2. Clique no Menu File situado na barra de Menus.
3. Selecione Run a partir do menu.
4. Introduza o caminho e o comando da aplicao e selecione OK.
Ou
Use a tecla de atalho Alt + F2, assim que ele abrir a caixa escrita Command:

Figura 9.25
Introduza o caminho e o comando da aplicao (Ex.: kcalc), e abrir o aplicativo
calculadora.
Alternando entre programas "abertos"
Usando Alt + Tab
Pode-se passar de uma janela a outra atravs da Barra de Tarefas ou do teclado.
218 Linux: Sistema Operacional II


Figura 9.26
Se uma parte da janela para a qual deseja passar estiver visvel, clique em qualquer
lugar dessa janela ou mantenha pressionada a tecla Alt. Ao pressionar a tecla Tab,
uma lista de aplicativos ser exibida. Como ela uma janela cclica para cada am-
biente, pare sobre o aplicativo desejado e solte as teclas para o aplicativo ser trazi-
do para a frente.
Usando Ctrl + Esc
Quando a tecla de atalho para visualizar os aplicativos que esto nos outros ambi-
entes de trabalho estiver ativa, possvel navegar com as setas direcionais do te-
clado informando em qual aplicativo ou ambiente deseja trabalhar, alm de usar o
ponteiro do mouse clicando em cima da opo desejada.
Usando o boto Lista de Janelas
O boto se localiza no Painel. Para executar esta funo, usa-se o ponteiro do mou-
se em cima do boto, e quando essa opo for executada, sero mostrados os ambi-
entes de trabalho, permitindo o acesso a qualquer um deles e a seus aplicativos.

Figura 9.27
Sobre o KDE 219

Organizando as janelas na tela
Quando vrias aplicaes esto abertas, algumas delas podero sobrepor-se entre si
ou esconder-se por detrs de outras janelas. Neste caso, poder ser necessrio orga-
nizar as janelas que estejam abertas na tela.

Figura 9.28 J anelas sobrepostas

Figura 9.29 J anelas organizadas em cortinas
OPO DESCRIO
Clique Duplo Um simples clique duplo na barra de ttulo de uma janela faz
com que ela trabalhe como uma cortina, que poder ser aberta
outra vez atravs de outro clique duplo.
Clique Direito Para organizar as janelas clique com o boto direito do mouse
no ambiente de trabalho escolhendo Cascade windows ou Un-
clutter windows .
220 Linux: Sistema Operacional II

Fixando aplicativos
Em todas as janelas existe, ao lado direito do cone que representa o programa, ou-
tro cone chamado Pregar.
Como o KDE trabalha com quatro ou mais ambientes de trabalho virtuais, se um
aplicativo for aberto no primeiro ambiente, ele no ir aparecer nos demais. Se o
prego for clicado, a janela do aplicativo ficar fixa mesmo que o ambiente virtual
seja alterado.

Figura 9.30
A figura 9.30 mostra dois aplicativos: o de cima com o prego ativado e o debaixo
com o prego desativado. Ao desativar o prego em outro ambiente de trabalho, o
aplicativo passar a fazer parte do ambiente onde estiver.
Finalizando programas
Com o mouse
Pode-se finalizar um aplicativo clicando no X ou, pelo seu menu. Clicando no co-
ne do canto superior esquerdo, o menu aberto e a opo Close est disponvel.
O boto X se encontra no canto superior direito da janela que estiver aberta. Use o
ponteiro do mouse, com apenas um clique o programa ser finalizado.
No boto K, ao escolher a opo Sair, todos os aplicativos que estiverem abertos
sero finalizados e o KDE encerrado.
Sobre o KDE 221

Com o teclado
Para finalizar um aplicativo pelo teclado utiliza-se Alt + F4.
Administrao de discos
Conceitos gerais

Figura 9.31
As informaes so armazenadas no disco do computador na forma de um arquivo.
Cada arquivo no disco identificado por um nome prprio, o qual pode ser dividi-
do em trs partes:
Unidade de Disco
Pasta
Arquivo
Dentro do KFM fica muito fcil trabalhar com arquivos e pastas, criando, moven-
do, excluindo, copiando.
222 Linux: Sistema Operacional II

Unidade de disco
Essa unidade de disco conhecida como HD (Hard Disk), Winchester ou Disco
Rgido.
Existe a Unidade de Disco Flexvel, conhecida como Drive A: ou Unidade A:, que
utiliza disquetes de pouca capacidade de armazenamento de dados, mas que mui-
to utilizada para levar arquivo de um computador para outro ou para fazer Backup
dos dados mais importantes.
Pastas
Local onde se organizam os arquivos. muito importante que um usurio seja or-
ganizado na hora de salvar o seu arquivo, pois seno perder tempo procurando.
Criar pastas
Podem-se criar novas pastas para organizar o Ambiente de Trabalho ou outras pas-
tas. As informaes relacionadas so normalmente armazenadas em conjunto numa
pasta.
Para criar uma pasta nova:
1. Clique direito onde a nova pasta ser criada.
2. Selecione New, Folder.
3. Digite o nome da pasta e clique OK.
Renomear pastas
Pode-se mudar o nome das pastas para que representem com maior exatido os
seus contedos ou para evitar conflitos entre nomes quando uma pasta movida ou
copiada.
1. Clique direito sobre a pasta cujo nome deseja mudar.
2. Selecione Properties.
3. Digite o novo nome da pasta.
Mover/ copiar pastas
Podem-se mover pastas para o Ambiente de Trabalho, para outra pasta ou para ou-
tra unidade. Quando se move uma pasta, tambm se move todas as subpastas e ar-
quivos para a nova localizao.
Sobre o KDE 223

1. Selecione a(s) pastas(s) que deseja mover/copiar.
2. Arraste com o boto esquerdo sobre a pasta que deseja mover/copiar
para o seu destino.
3. Selecione Move ou Copy.
Excluir pastas
Quando se elimina uma pasta, a mesma e o seu contedo so movidos para a Li-
xeira.
1. Clique direito na pasta.
2. Selecione Delete.
Pode-se tambm mandar para a lixeira atravs da opo Move to Trash.
Arquivos
Nomes de arquivos e extenses
Todos os arquivos tm nome e extenso. A extenso muito importante pois se
no existir, o arquivo no sabe em qual programa abrir. O que separa um arquivo
de uma extenso o Ponto, antes do ponto o nome do arquivo e depois a exten-
so.
Renomear arquivos
1. Clique direito no arquivo cujo nome deseja mudar.
2. Selecione Properties.
3. Digite o novo nome.
Mover/ copiar arquivos
1. Selecione o arquivo que deseja mover/copiar.
2. Arraste como boto esquerdo sobre o arquivo que deseja mover/copiar para o
seu destino.
3. Selecione Move para mover ou Copy para copiar.
224 Linux: Sistema Operacional II

Excluir arquivos
Quando se elimina um arquivo, ele excludo direto ou so movidos para a Lixei-
ra (Trash).
1. Clique direito no arquivo a excluir.
2. Selecione Delete.
A lixeira

Figura 9.32
A Lixeira uma rea de armazenamento temporrio para os arquivos deletados, que
permanecem na Lixeira at que esta seja esvaziada ou at que estes sejam recuperados.
Em circunstncias normais, apagar um arquivo no Linux uma operao sem re-
torno. Mas com o gerenciador de arquivos KDE, voc pode escolher Mover para a
Lixeira ao invs de apagar.
Verifique e esvazie a lixeira periodicamente.
Enviando arquivos para a Lixeira
Pode-se selecionar e enviar vrios arquivos ou pastas de uma vez para a lixeira.
1. Clique direito sobre o que deve ser enviado para lixeira.
2. Ao aparecer o menu de atalho escolha;
3. Move to Trash.
Sobre o KDE 225

Recuperando arquivos da Lixeira
A lixeira funciona como qualquer outra pasta que armazena arquivos. Para recupe-
rar o arquivo, abra as duas janelas (lixeira e a pasta para onde ir restaurar o arqui-
vo) e mova de um lado para outro.
Limpando a Lixeira
Por padro, a Lixeira utiliza 10% do total do disco rgido. A Lixeira deve ser es-
vaziada periodicamente, a fim de criar espao no disco e eliminar arquivos perma-
nentemente.
Selecione o menu File -> Empty Trash Bin
Ver informaes das unidades de
discos
Dentro do KFM, ao acessar o menu Go (Ir para), pode-se ir direto unidade de
disco, opo file:/.
File:/ exibir pastas e arquivo. Caso queira acessar alguma pasta, clique em cima dela.
Opes de configurao do KFM

Figura 9.33
226 Linux: Sistema Operacional II

Dentro do KFM, acesse o menu Option -> Configure File Manager:
Font = Mudar a fonte de letras;
Color = Mudar a cor;
Other = Permite configurao por URL
Viso em rvore segue navegao
Terminal e Editor
Opes de visualizao do KFM
Veja os principais itens do menu View e Options :
Menu View (Ver)
OPO DO
MENU VIEW
SIGNIFICADO
Show Hidden Files
Mostrar Arquivos
Ocultos
Faz com que todos os arquivos que estiverem ocultos sejam
demonstrado. Normalmente so os arquivos de sistema.
Show Tree
Mostrar rvore
Mostra em duas colunas, do lado esquerdo uma estrutura
de pastas e subpastas e do lado direito, o contedo das pas-
tas e subpastas.
Show Thumbnails
Mostrar Marcadores
Os arquivos salvos em GIF tero o seu cone sendo de-
monstrado pelo seu contedo.
Dir info View
Viso do Diretrio
Na barra esquerda aparecem informaes do diretrio
atual.
HTML View
Viso HTML
Destaque para os arquivos HTML.
Icon View
Viso cone
Mostra os cones em tamanho grande, um ao lado do outro.
Text View
Modo texto
Mostra as pastas e arquivos sem cone e suas descries.
Long View
Visualizao Longa
Mostra tudo, o cone e suas descries.
Short View
Viso Curta
Mostras os cones em tamanho pequeno, um ao lado do
outro.
Sobre o KDE 227

Menu Options (Opes)
OPO DO MENU
OPTIONS
SIGNIFICADO
Show Menu Bar
Mostrar Barra de Menu
Barra que dar vrias opes de trabalho. Dentro do
menu existem itens de menu.
Show Status Bar
Mostrar Barra de Status
Descreve algo sobre o arquivo ou pasta sobre a qual
voc coloca o ponteiro do mouse.
Show Toolbar
Mostrar Barra de
Ferramentas
Botes de acesso rpido.
Show Location Bar
Mostrar Barra de
Localizao
Local onde voc pode digitar o caminho da pasta que
deseja.
Usando a barra de ferramentas do KFM
Na Toolbar (Barra de Ferramentas):

Figura 9.34
Acima: Voltar um nvel da pasta que estiver.
Voltar: Volta ao local anterior em que estava.
228 Linux: Sistema Operacional II

Adiante: Depois de voltar uma vez, o adiante fica ativo para que possa avanar o
que voltou.
Diretrio do Usurio: Abre o diretrio principal do usurio (root).
Recarregar: Rel o local que est trabalhando, assim no precisa fechar o KFM e
abrir outra vez.
Copiar: Usa a rea de transferncia para copiar um objeto.
Colar: Cola o que estiver na rea de transferncia dentro do local selecionado.
Ajuda: Ajuda sobre o KFM.
Para: Caso esteja fazendo alguma leitura, cancela.
Localizando arquivos
Para localizar um arquivo no KFM:
1. Clique no Menu File ;
2. Item de Menu Find;

Figura 9.35
Sobre o KDE 229

3. Digite o nome do arquivo em named (utiliza-se * e ?);
4. Escolha a partir de que pasta este arquivo ser localizado (Look in);
5. Ative a opo, Incluir subfolders , para pesquisa recursiva.
6. Clique em Searchou Ctrl + F ou pelo menu File->Start Search.
Selecionando arquivos
Selecionar um s objeto
1. Na tela do KFM escolha Edit -> Select.
2. Digite o nome do arquivo que deseja. OK.
Selecionar vrios objetos
1. Mantenha o Ctrl pressionado enquanto clica sobre os arquivos desejados;
2. Se os objetos que se quer selecionar estiverem em seqncia, mantenha o Shift
pressionado, e com o mouse faa um clique no primeiro e no ltimo objeto.
Selecionar todos os objetos
1. Clique no Menu Edit -> Select All ou Ctrl + A;
Personalizando a rea de trabalho
do KDE
Ambientes de trabalho
Para alterar o nmero de ambientes de trabalho da sesso:
Clique com o boto direito sobre uma rea livre (fora de qualquer bo-
to) do Painel KDE;
Escolha Display Properties. Uma janela exibida, que autoexplicativa
permite mudar as caratersticas do desktop;
230 Linux: Sistema Operacional II


Figura 9.36
cones
Usando o boto direito do mouse no ambiente de trabalho escolha New -> Appli-
cation.

Figura 9.37
Dentro desta caixa de dilogo estar escrito Program.kdelnk. O ponto entre os
dois separa o nome do aplicativo e sua extenso. No lugar de Program, informe o
nome para o aplicativo. Por exemplo, pode-se digitar Calculadora ou Calculado-
ra.kdelnk, das duas maneira ele ir funcionar.
Sobre o KDE 231

Assim que voc der um clique em OK, ir se abrir a propriedade do aplicativo. Es-
colha o guia Execute e informe o nome do aplicativo que ser o executvel. Ex.:
kcalc.

Figura 9.38
Clique em OK e teste o cone que est no ambiente de trabalho.
Organizando
Para organizar os cones na rea de trabalho:
1. Use o ponteiro do mouse com o boto direito;
2. Escolha Arrange Icons . Uma janela pedir a confirmao da ao. Para reor-
ganizar escolha a opo Yes.
Excluindo
1. Clique com o boto direito do mouse em cima do cone;
2. Escolha a opo Delete.
232 Linux: Sistema Operacional II

Painel
Configurando
Pelo Painel, clique com o boto direito em uma rea livre (local em que no exista
boto), escolhendo a opo Configure:

Figura 9.39
Panel: Configura a Localizao, o Estilo e a Barra de Tarefas;
Options: Dicas no Menu, Visuais, Outros;
Desktop: Visveis, Largura;
Disk Navigator: Histrico, Opes.
Adicionando atalhos
Essa opo permite criar, no painel, cones de atalho para agilizar o acesso aos a-
plicativos mais utilizados.
Para adicionar um atalho no painel:
Clique no boto K (iniciar), que se encontra no painel;
Sobre o KDE 233

Selecione Panel -> Add Application;
Ser mostrada um barra de tarefas igual a do boto K (iniciar), essa
barra um como um espelho, que serve para simplificar o trabalho de
adicionar o atalho. Navegue com o ponteiro do mouse pela barra e ao
encontrar o aplicativo que deseja inserir no painel, clique com o pon-
teiro do mouse em cima. Note que no momento do clique, o atalho ir
aparecer no painel.
Removendo atalhos
Para remover um atalho do painel:
Clique com o boto direito em cima do cone que deseja excluir do
painel;
Selecione a opo Remove.
Movendo componentes do painel
Pode-se mover os atalhos do painel facilmente mandando-os para a direita ou para
a esquerda:
Clique com boto direito sobre o cone que deseja mover;
Selecione a opo Move;
Note que o cone ir acompanhar o mouse para a direita e para a esquerda. Po-
sicione o icone na posio desejada e clique novamente para fix-lo.
Configurando as opes do boto "K"
Pelo K voc acesse Panel -> Edit Menus
Na janela exibida altere os menus do painel interativamente, movendo os atalhos
de um menu para outro. Apesar de divertido preciso cuidado para no misturar os
cones em lugares difceis de achar.
234 Linux: Sistema Operacional II


Figura 9.49
Configuraes do Mouse
Pelo K voc acessa Default -> Settings -> Input Devices -> Mouse.

Figura 9.50
Sobre o KDE 235

Configuraes do teclado
Pelo K voc acessa Default -> Settings -> Input Devices -> Keyboard.

Figura 9.51
237

Foi em algum dia de frio na Finlndia, no ano de 1991, que Linus Torvalds, um dos
estudantes da Universidade de Helsinque e vidrado em computadores desde os 11
anos, na poca com apenas 21 anos, resolveu desafiar a si mesmo.
1

Participante ativo dos grupos de discusso da Internet, Linus, em outubro de 1991,
tentou analisar uma pergunta do grupo de discusso: "Lembra-se daquela poca
quando homens escreviam seus prprios drives de dispositivos"? Pergunta que ain-
da incitava a criao dos jovens daquele grupo, que, pelo jeito e pelo nosso conhe-
cimento apenas o Linus conseguiu responder.
Naquela poca, Linus havia adquirido o seu computador baseado em CPU Intel
386, que na poca era o topo de linha, mas queria um sistema operacional capaz de
aproveitar ao mximo as caractersticas da CPU para multitarefa. Os sistemas base-
ados em Unix na poca custavam em torno de US$ 5.000,00 e rodavam em compu-
tadores que custavam por volta de US$ 10.000,00 sendo muito pouco acessveis
para estudantes como ele. Ento Linus tomou a deciso de criar o seu prprio sis-
tema operacional baseado em Unix.

1
Referncia em material on-line no endereo http://www.objects.com.br/pesquisa/linux.html
238 Linux: Sistema Operacional II

Com a inspirao pelo sistema Minix, um humilde sistema operacional Unix de-
senvolvido por Andy Tanembaum, Linus desenvolveu o Kernel (ncleo) do siste-
ma operacional do Linux uma combinao de seu nome com Unix.
Para isso ele convocou outros programadores para embarcar com ele na aventura
de desenvolver coletivamente o programa. Respostas a favor chegaram do mundo
inteiro, e o Linux se tornou um sistema obrigatrio nas universidades. Hoje distri-
budo livremente, ou adquirido em CDROM pela Internet, considerado um dos
melhores sistemas operacionais que existe, ganhando prmios aps prmios.
Depois de escrever o primeiro Kernel, Torvalds concluiu que, sozinho, no avana-
ria muito. Para isso ele resolveu montar uma comunidade, publicando seu apelo na
Internet, e foi luta. Juntamente com a mensagem tipo garrafa jogada no oceano
com um pedao de papel, foi o cdigo fonte do sistema operacional, ou seja, ele
dava de graa o software e ainda revelava o seu funcionamento. A partir da, Linus
comeou a entrar para a histria.
Desde aquela data, desenvolvedores (conhecidos a partir de ento como linuxers)
do mundo inteiro participam da melhoria deste sistema operacional, descobrindo
"bugs" e enviando sua descrio e soluo para o Linus e grupos de discusso ao
redor do mundo.
O Linux est atualmente disponvel para quase todas as plataformas, podendo tam-
bm gerenciar os principais servios existentes na Web.
Linus tornou-se o guru dos hippies cibernticos. Novas atualizaes do Linux po-
dem ser desenvolvidas pelos muitos desenvolvedores ao redor do mundo, mas
somente Linus quem libera as novas verses do ncleo bsico do Linux.
O sistema operacional Linux foi um dos grandes propulsores do conceito de soft-
ware aberto e livre, podendo ser obtido gratuitamente por download em diferentes
sites. Caso deseje adquirir um CDROM (Linux in-a-box, como conhecido), voc
gastar em torno de R$ 90,00.
Embora todos achem que o Linux exclusivamente utilizado nas universidades,
isto tem mudado rapidamente, sendo agora usado por grandes empresas, principal-
mente em aplicaes ligadas Internet. Estima-se que existam vinte e cinco mi-
lhes de computadores rodando Linux no mundo.
Curiosidades 239

O que Linux?
uma sistema operacional Unix, multiusurio, multitarefa e multiprocessado, de
livre distribuio, disponvel para equipamentos x86 (Intel e clones), Motorola
68K, Digital Alpha, Sparc, Mips, Motorola PowerPC e muitos outros. uma im-
plementao aderente ao POSIX Portable Operating System Interface, ou seja
segue as indicaes do IEEE para sistema abertos e portabilidade.
O ncleo do Linux no utiliza cdigo proprietrio de qualquer espcie, sendo a
maior parte de seu desenvolvimento feito sob o projeto GNU da Free Software
Foundation, o que torna obrigatrio que binrios e fontes sejam distribudos con-
juntamente.
Como ele desenvolvido?
Existem centenas de colaboradores pessoais e empresas ao redor do mundo traba-
lhando no seu desenvolvimento. Isso permite o contato direto com os desenvolve-
dores e a atualizao gil de softwares.
O que so distribuies Linux?
Como o Linux e suas aplicaes so desenvolvidos em diversos locais, diversas
empresas, percebendo a sua potencialidade, compilaram, validaram e desenvolve-
ram melhorias para distribuir o Linux e seus aplicativos de uma forma organizada.
Dessa forma surgiram distribuies como Debian, Slackware, Red Hat, Mandrake,
SUSE e, no Brasil, Conectiva e mais recentemente, o Console Linux e outros, cada
um com as suas caractersticas prprias: maior nmero de aplicativos, maior facili-
dade de instalao, nvel de atualizao.
Em que aplicaes pode-se utilizar o Linux?
O Linux pode atuar como: estao de trabalho, servidor de rede, servidor de banco
de dados, servidor de comunicao, servidor de desenvolvimento, gateway, rotea-
dor, servidor Internet, servidor Intranet e muito mais.
Quais as aplicaes disponveis para o Linux?
Em conjunto com o sistema operacional, est disponvel um pacote de softwares de
mais de duas centenas de aplicaes, tais como:
240 Linux: Sistema Operacional II

Servidor Web Seguro;
Servidor FTP/Gopher;
Servidor News;
Servidor E-mail;
Estao de Gerenciamento de Rede;
Estao para discagem ou conexes dedicadas;
Games incluindo servidor Quake;
X Windows;
Servidor de Impresso;
Desenvolvimento C, C++ ou Java;
Servidor NFS;
Virtual Private Network VPN;
Estao de trabalho em rede;
Conectividade e compartilhamento de dados, impresso, recursos de co-
municao com sistemas Windows/Novell/DOS/Unix;
Multimdia.
H outras aplicaes disponveis para o Linux?
Sim, sempre existem diversas aplicaes que esto sendo includas nas novas ver-
ses e distribuies, mas que podem ser obtidas imediatamente pela Internet. Apre-
sentamos a seguir uma relao de alguns itens disponveis para utilizao imediata:
Web and Internet Servers
AOL Server, Apache HTTP Server, Firewall Toolkit, Frontpage Server Extensions,
NCSA httpd Server, Vosaic MediaServer, Stronghold, WN Server, W3C (CERN,
XS-HTTPD 2.3, Zeus Server, Netscape.
Firewalls & Proxies
InvisibleWeb & Offline Proxy, SQUID, ipfwadm, Masqd, Watchguard, WebFilter,
WebTune, SATAN Security Administrator's Tool for Analyzing Networks.
Networking Tools
Big Brother monitor, CFEngine, Clobberd, CVS client/server configuration, Hifs
handy information, IETF Mobile IPv4, IPAcct program/kernel extension to do per
Curiosidades 241

user IP accounting, MPAS, Multi Router Traffic Grapher, net-tools, REGULUS
management for ISPs, Samba.
I nterface Grfica
Accelerated-X, Metro-X, MGR Window System Manager, W96, XFree86.
Mail
BlackMail, cyberPAGE, Elm ELectronic Mail, Exmh X, Ifmail, Ishmail, Major-
domo, MH, ML, Petidomo, Pine, qmail, sendmail, SOMA.
Suites
Angoss SmartWare PLUS , Applixware for Red Hat Applix (processador de textos,
planilha, grfico e mail), Caldera Internet Office Suite Word perfect, Cliq office
suite, Corel Office for Java, CCVS Credit Card Verification System, Goldmedal
UNIX Office, Rendezvous, Star Office, TeamWave Workplace TimeClock.
Database Managers
ADABAS D, Beagle SQL, C/BASE 4GL, CQL++ SQL Database, DBIX, Empress
for Linux, Essentia Data Base, FlagShip, GNU Sql Server, JustLogic/SQL, KE
Texpress commercial high speed client/server database engine, Kubl RDBMS,
LEAP, mSQL, MySQL, Open Client/C, Oracle, Polyhedra, PostgreSQL, QDDB,
Raima Database Manager++, /rdb, Recital, SHORE Project, Solid Server, SQLkit.
Vantagens Por que utilizar o Linux?
Custo
O preo real de uma escolha de plataforma no somente o preo do hardware e do
sistema operacional (onde Linux o claro vencedor), mas o preo do software adi-
cional, servios e suporte requeridos para criar e operar esta estrutura.
Em relao aos softwares adicionais tais como TCP/IP, servidores (web) httpd,
software de administrao de rede, bancos de dados SQL, software de backup, e-
mail, NFS, firewalls, estes podem ser encontrados em verses de livre distribuio,
shareware, freeware ou comerciais.
242 Linux: Sistema Operacional II

Em relao ao suporte, o disponvel na Net para Linux ultrapassa os demais: exis-
tem duas ou trs vezes mais newsgroups para Linux, existe uma grande variedade
de listas de mails para Linux explorando tpicos especiais, como especificamente
vendedores de Linux RAID, Linux X.25 e vendedores de Frame Relay, pacotes de
administrao de redes Linux, tpicos de "misses crticas" para Linux, alertas de
segurana Linux, bancos de dados especficos para vendedores, etc. Alm disso, a
Conectiva mantm as listas em portugus de Linux ISPs e LinuxBR para iniciantes,
alm da lista CRHL Suporte, onde o suporte gratuito para os usurios registrados.
No que se refere aos servios, a Console Linux disponibiliza um rol de treinamen-
tos desde o nvel bsico at o mais avanado, alm de fornecer suporte comercial
na instalao, configurao e operao de servidores baseados no CRHL. Veja
mais informaes em http://www.console.com.br.
Segurana
Tudo em ferramentas bsicas de segurana, como SSL, encriptao RSA, firewalls
alarmes "tentativa-de-quebra", empacotadores TCP, SATAN e COPS, sistemas de
arquivos encriptados, tneis IP, S/Key, Kerberos, etc. aparecem disponveis para
Linux, alm de compatibilidade com os padres Unix de mais de duas dcadas de
utilizao e aperfeioamento.
Escalabilidade e Portabilidade
Linux oferece um claro caminho de escalabilidade: PCs Intel, DEC Alpha, Sparcs,
multiprocessados. Aplicaes desenvolvidas para Linux podem ser portadas com
facilidade de/para diversas plataformas: AIX, UX, Sun-OS, Solaris, Irix, SCO, In-
teractive, Intranetware e mais.
Suporte a Hardware
O Linux oferece uma extensa lista de hardwares suportados, abrangendo interfaces
SCSI, placas multiseriais, motherboards, notebooks, PCMCIA e mais.
Amigabilidade
O Linux oferece diversas opes de interfaces grficas para o administrador, a par-
tir das quais pode ser feita a administrao de usurios, discos, arquivos, rede, apli-
caes. No Console pode-se optar por interfaces padro KDE ou Gnome entre ou-
tras, j disponibilizando o conceito de dados distribudos: de qualquer ponto do
sistema podem-se acessar dados que estejam localizados local ou remotamente.
Curiosidades 243

Sistema de Desenvolvimento Distribudo
Ao optar-se pelo Linux abre-se um leque de opes de distribuies, desenvolvedo-
res e aplicaes, todos sob o sistema de livre distribuio, que garantem ao usurio
a continuidade, o fcil acesso, baixo custo e o suporte ao produto. Linux traz liber-
dade e independncia.
Em assim sendo, no se est ao sabor da poltica interna de determinada empresa
em direcionar os produtos nesta ou naquela direo (vide Java, Netware, OS/2,
etc.)
Quem utiliza Linux?
Ao redor do planeta se estima que tenhamos mais de vinte e cinco milhes de usu-
rios Linux. Como um software de livre distribuio no h uma contagem efetiva.
Dentre esses usurios, citamos alguns mais conhecidos: NASA, Exrcito America-
no, Governo da Itlia, Governo da Califrnia, fbricas de robs na Sucia, hospitais
na Frana, praticamente todas as Universidades e no pra por a.
No Brasil bastante difundido no meio acadmico, em empresas de desenvolvi-
mento de softwares, em empresas como a Cyclades Corporation, Philips do Brasil,
Tibrs, redes de supermercados. Em especial os Provedores Internet (ISPs) utilizam
o Linux.
O futuro do Linux
No futuro do Linux, o presidente da Red Hat, Bob Young, prev dois possveis ce-
nrios. No primeiro, que ele acha ser possvel daqui a cinco anos, "Linux domina
aplicaes cientficas e tcnicas e se torna o sistema operacional preferido para ser-
vidores Web e estaes de trabalho. O mercado de compartilhamento cresce com a
cincia da computao de estudantes graduados de universidades onde Linux pos-
sui 100% de aprovao. Pelas suas vantagens de custo e performance, torna-se o
sistema padro para os computadores desktop.
O segundo cenrio bem mais dramtico. Com o nmero de usurios de Linux
crescendo, a Microsoft e outros desenvolvedores de software admitem a ascenso
nesse mercado e comeam a escrever programas para ele. Logo, a completa vanta-
gem no preo e na performance de Linux movem o sistema para o mercado de
desktops. Ento, talvez em 10 anos, a Microsoft perca o controle do sistema opera-
cional.
244 Linux: Sistema Operacional II

Linux e Outros Sistemas Operacionais Comerciais
As caractersticas retromencionadas j apresentam algumas visveis vantagens do
Linux sobre outros sistemas comerciais, mas ressaltamos em especial: custo, dis-
ponibilidade de novas aplicaes, independncia, sistema aberto, adequao a ati-
vidades corporativas.
Em relao s caractersticas de funcionalidades, seguem quadros comparativos
entre o Linux e Windows NT:
Linux Windows NT 4.0
Padres POSIX Win32
Disco (mnimo) 15MB 50MB
Disco (tpica) 60MB 70MB
Disco (completo) 90MB 100MB
Memria (som.linha de comando) 1 MB -
Inicializao 6 MB 12MB
Tpico 16 Mb 24 Mb
Carga 24 Mb 48 Mb

Linux Windows NT
Multitarefa Sim Sim
Multithreading Sim Sim
Multiprocessamento Sim Sim
Multiusurio Sim No
Curiosidades 245

Portabilidade simples Sim Sim
Cache dinmico Sim Sim
Memria por process. 3 Gb 2 Gb
Protocolo de Rede TCP/IP, IPX TCP/IP, IPX e NETBEUI
Conectividade (nativa) Novell,Win95/NT,
DOS, OS/2, NFS
Novell, Apple, NETBIOS e NETBEUI
Filesystems Suportados
Linux Windows NT
FAT (DOS) Sim Sim
HPFS (OS/2) Sim Sim
NTFS (NT) Sim Sim
EXT2 (Linux) Sim No
ISP9660 (CDROM) Sim Sim
NFS Sim -
SysV,Xenix Sim No
Stacker Sim No
246 Linux: Sistema Operacional II

Aplicaes Suportadas
Linux Windows NT
DOS Sim Sim
Win16 Sim Sim
Win32 No Sim
POSIX Sim Sim
X-Windows Sim No
Custo Aproximado
Linux Win 9x Windows NT
Full (na caixa) 90,00 400,00 1600,00 (5 usurios)
Licena Adicional - 400,00 180,00
Softwares Includos HTTP, FTP, Mail - HTTP, FTP
Softwares Adicionais Firewall, VPN - -
247

H um grande conjunto de linguagens, bibliotecas e ferramentas de desenvolvi-
mento para Linux. O prprio sistema Linux j vem com um ambiente de desenvol-
vimento completo, incluindo compiladores C/C++ e Fortran, ferramentas denomi-
nadas de "toolkits" tais como o Qt e linguagens de script tipo Perl, awk e sed. Co-
mo comparao, um compilador de linguagem C para Windows custa centenas de
dlares.
2

Aplicativos de Programao no-
comerciais recomendados
* GCC utiliza um ambiente de desenvolvimento aberto e possui suporte a muitas
outras plataformas com o intuito de promover um compilador otimizado de padro
mundial. Busca atrair um grupo cada vez maior de desenvolvedores para garantir
que o GCC e o sistema GNU funcionem em mltiplas plataformas e cada vez mais
testar e estender as funcionalidades do GCC.
* GNU C library (glibc) utilizado como uma biblioteca C em sistemas GNU e
em sistemas mais recentes com o Kernel do Linux.

2
Publicado pelo FirstLinux.com Traduo: Joo Alexandre Lbo Marques
248 Linux: Sistema Operacional II

* Qt consiste em uma ferramenta (toolkit) de software GUI. O Qt simplifica a
tarefa de escrever e manter aplicaes GUI (Graphical User Interface Interface
Grfica de Usurio). Qt escrito em C++ e um sistema completamente orientado
a objeto. Ele possui todas as ferramentas necessrias para criar aplicaes GUI pro-
fissionais e de uma forma rpida e prtica. Possui um design modular e seu foco
fortemente voltado para a reutilizao de componentes. Prov o conceito de "sig-
nal/slots", que uma alternativa para os "callbacks" e ao mesmo tempo permite que
os objetos cooperem entre si sem necessariamente ter conhecimento dos outros.
Um toolkit GUI multi-plataforma oferece todas as funcionalidades necessrias para
criar as aplicaes. Existem cerca de 250 classes C++ na API do Qt.
* GDB o propsito de um debugger como o GDB permitir que o desenvolvedor
acompanhe o que est acontecendo na execuo de um programa ou mesmo o
que outro programa estava fazendo em um momento de um determinado problema
ou erro ("crash").
* GTK+ consiste de um toolkit GUI de cdigo aberto e livre, primeiramente de-
senvolvido para uso com o sistema X Window. O GTK+ um conjunto de biblio-
tecas utilizadas para criar interfaces grficas de usurio. Funciona em diversas pla-
taformas chamadas Unix-like (ou "estilo Unix"). O GTK+ possui uma arquitetura
orientada a objeto baseada na linguagem C que permite uma grande flexibilidade
no desenvolvimento de aplicaes. Pacotes para outras linguagens foram escritos,
incluindo C++, Objective-C, Guile/Scheme, Perl, Python, TOM, Ada95, Free Pas-
cal e Eiffel.
Aplicativos de Programao
comerciais recomendados
* VisualWorks consiste de um ambiente de desenvolvimento de aplicaes orien-
tado a objetos bastante poderoso para a construo de solues de alta qualidade.
Inclui conectividade a bancos de dados, conectividade a bibliotecas C compartilha-
das, uma sute com servidor e desenvolvimento para a Web, interface CORBA e
muito mais. Est disponvel em verses comercial e no-comercial, no havendo li-
mitaes para a verso no-comercial, que est inclusive disponvel para download.
* SNiFF+ um avanado Ambiente de Desenvolvimento de Aplicaes para
projetos ditos "embedded" ou "non-embedded" ao sistema. O SNiFF+ prov:
funcionalidades de gerenciamento de equipes flexvel e escalonvel, um poderoso
suporte construo de aplicativo e ferramentas de anlise de cdigo fonte de
primeira linha. SNiFF+ est disponvel em uma ampla variedade de opes para
O Que H no Linux 249

C/C++, Java, ADA, Fortran e outras linguagens e tambm integrado a
ferramentas SCM.
* WipeOut um ambiente de desenvolvimento multi-usurio e multi-plataforma
para C++, Java, Eiffel e Fortran que roda sobre o Linux e outros sistemas Unix.
Consiste de diversos componentes, os quais provem interfaces para ferramentas j
existentes tais como o CVS, GDB ou o MAKE. O WipeOut suporta todas as tarefas
de engenharia de cdigo fonte tais como gerao, parsing, teste, gerenciamento e
anlise em um ambiente de programao uniforme com uma interface simples de
se utilizar e altamente customizvel.
A seguir, a terminologia utilizada neste Apndice.
Open Development Model (Modelo de Desenvolvimento Aberto) um modelo
de estilo de desenvolvimento no qual "snapshots" criadas so tornadas pblicas
para quem quiser tentar utiliz-las.
Debug termo tambm utilizado em portugus, significando encontrar erros (bugs)
de software ou hardware.
Orientado a Objeto (object-oriented) um mtodo de desenvolvimento de soft-
ware que agrupa dados e funes relacionadas em mdulos ou caixas reutilizveis,
chamados objetos.
250

Usurios do Windows geralmente possuem uma ou mais parties totalmente to-
madas pelas unidades FAT. Para instalar o Linux em um HD, voc precisa de um
espao livre (sem parties) no HD para que possa criar as parties do Linux (pelo
menos o / (raiz) e Swap). A melhor maneira de criar esse espao livre usando o
fips.
3

O fips se encontra no diretrio dosutils no CD1 do Console Linux 1.0 (que acom-
panha este livro). Esse programa pega a tabela de parties atual do seu HD e cria
novas parties a partir do espao disponvel nas parties j criadas.
Nota: Antes de realizar o procedimento a seguir, esteja de certo que voc possui
backup de todos os dados importantes do seu HD, pois qualquer erro no proce-
dimento pode causar perda de todos os dados de seu HD.
Para executar o fips, voc precisa de um disco de boot de DOS com reconhecimen-
to de CD.

3
texto escrito por: Spike D em Domingo, 29 de Abril de 2001 | 12:55:24 e disponvel em
http://www.console.com.br
Instalando o Console Linux em um HD j com o Windows Instalado 251

Para criar esse disco no Windows, chame "Meu Computador", clique com boto
direito no cone Disco Flexvel de 3 (A:) e selecione "Formatar..." e formate o
disco copiando os arquivos de sistema (crie um disco de boot)
4
.
Faa o boot a partir desse disco e digite:
d:
cd dosutils
fips
Ao executar o fips, ele ir checar sua tabela de parties, pedir para teclar qual-
quer tecla para continuar (Press any Key).
Aps isso ele ir checar sua partio FAT e perguntar se quer fazer um backup do
setor raiz e setor de boot antes de continuar:
Do you want to make a backup copy of your root and boot sec-
tor before proceeding (y/n)?
Tecle "n" (no).
Agora voc vai escolher o espao em disco que deseja para a nova partio (onde
voc vai instalar o Linux).
No exemplo estou usando um HD de 3 Gb e irei criar uma partio de 2 Gb para o
Linux.
Com isso, usando as setas do teclado eu deixei 1 Gb para o Windows e redirecionei
2 Gb para a nova partio (Linux).
Old partition | New Partition
1031.6 Mb | 2067.2 Mb
Pressione Enter.
O fips ir mostrar a nova tabela de parties, agora j com a nova partio onde
ser instalado o Linux e perguntar se voc quer continuar ou reeditar a tabela de
parties.

4
Este disco tambm pode ser criado pelo Adicionar ou Remover Programas que est no Painel de Controle, em
sua guia Disco de Inicializao.
252 Linux: Sistema Operacional II

Opte por continuar, tecle "c".
Aps isso, ele pergunta se pode escrever a nova tabela de parties.
Se voc est certo de que deseja efetuar as modificaes, tecle "y".
Agora vamos para o segundo estgio: instalar o Console Linux na partio que o
fips criou com o espao livre.
Insira o CD do Console Linux 1.0 no seu drive de CD e d um boot pelo CD-ROM
ou inicie a instalao usando o disco de boot do Console Linux
5
.
Aps iniciar a instalao voc optar por partio manual, selecionando instalao
personalizada ou optando por partio manual ao selecionar Estao de Trabalho
ou Servidor.
Ao entrar no particionamento manual, voc notar que h duas parties:
No exemplo que estou usando est assim:
hda1 | 1031Mb | 1031Mb | Win95 FAT32
hda2 | 2067Mb | 2067Mb | Win95 FAT32
A primeira partio (hda1) onde est o Windows e a segunda, apesar de estar com
o tipo de Win95 FAT32, ser apagada e criada as parties do Linux, ento para
isso:
Delete a segunda partio (selecione e clique em apagar).
Com isso, sobraro 2067Mb livres. Ento vamos criar as parties Linux.
Clique em Adicionar e crie uma partio /boot com 40Mb e tipo Linux Native.
Clique em Adicionar e crie uma partio SWAP com o dobro da sua memria
RAM e tipo Linux Swap.
Clique em Adicionar e crie uma partio / com o tipo Linux Native e selecione
"Crescer at encher o disco?" ou "Grow to fill disk".

5
Voc pode tambm utilizar o disco de boot gerado pelo Adicionar ou Remover Programas do Painel de Controle
na sua guia Disco de Inicializao e escolher o boot com suporte a CD e depois rodar no diretrio dosutils do CD
o bat autoboot.
Instalando o Console Linux em um HD j com o Windows Instalado 253

Voc tambm pode selecionar um ponto de montagem para sua partio do Win-
dows, por exemplo, /windows, para que a partio Windows sempre esteja dispo-
nvel no Linux nessa partio.
CUIDADO: Lembre-se de que o LILO que ir gerenciar o boot ser instalado no
Master Boot Record (hda) de seu HD, apagando assim qualquer outro gerencia-
dor de boot anteriormente instalado.
Aps isso, prossiga com a instalao normalmente at que ela termine.
O LILO (Linux Loader) ir gerenciar o boot e decidir se ir chamar o Windows ou
o Linux.
Ao reiniciar voc ver:
Lilo boot:
tecle a tecla TAB, que sero mostradas as opes:
linux dos
Se voc digitar dos e der Enter, ir entrar o Windows.
Se voc apenas der Enter, ir entrar o Console Linux.
Se voc demorar muito, o Linux entra :)
Para mudar essas opes, voc precisa configurar o LILO pelo arquivo
/etc/lilo.conf.
Aps realizar as mudanas no lilo.conf, no esquea de digitar lilo.
Faa um disco de boot do Linux (usando o 'c') e uma cpia do lilo.conf antes de
efetuar qualquer modificao no lilo.conf, pois se ocorrer algum problema, voc
pode entrar no sistema usando esse disco e assim restaurar o lilo.conf original.
254

Saber reconhecer os drives e parties no Linux essencial para as pessoas inician-
tes no sistema, por isso este apndice ir ajudar a voc que est comeando a entrar
no mundo maravilhoso do LINUX.
6

Para criar parties manualmente no Linux voc poder usar o fdisk do Linux, mas
muitas distribuies atualmente as criam automaticamente para voc. Em ambas as
maneiras, voc deve conhecer as seguintes informaes sobre as parties e nomes
de dispositivos no Linux.
No Linux os drives e parties recebem nomes diferentes de seus correspondentes
em outros sistemas operacionais, como por exemplo o MS-DOS.
Os drives dos dispositivos so encontrados no diretrio /dev e so usados para a
comunicao com os dispositivos em seu sistema Linux.
Aqui vai uma lista dos nomes dos drives dos dispositivos:
Primeiro disquete (A:) /dev/fd0

6
Drives e Parties no Linux texto escrito por Linuxer em Sexta, 20 de Outubro de 2000 | 12:57:23 e disponvel
em http://www.console.com.br
Drives e Parties no Linux 255

Segundo disquete (se algum ainda usa isso), (B:) /dev/fd1
Primeiro disco rgido (todo o drive) /dev/hda
Primeiro disco rgido, partio primria 1 /dev/hda1
Primeiro disco rgido, partio primria 2 /dev/hda2
Primeiro disco rgido, partio primria 3 /dev/hda3
Primeiro disco rgido, partio primria 4 /dev/hda4
Primeiro disco rgido, partio lgica 1 /dev/hda5
Primeiro disco rgido, partio lgica 2 /dev/hda6
Segundo disco rgido (todo drive) /dev/hdb
Segundo disco rgido, partio primria /dev/hdb1 ,etc.
Primeiro disco rgido SCSI (todo drive) /dev/sda , etc.
Primeiro disco rgido SCSI, partio primria 1 /dev/sda1, etc.
Segundo disco rgido SCSI, (todo drive) /dev/sdb
Segundo disco rgido SCSI, partio primria 1 /dev/sdb1, etc.
Estes so os dispositivos e as parties no Linux.
256

O que GNU?
GNU um projeto que comeou em 1984 com o objetivo de desenvolver um sis-
tema operacional compatvel com os de padro Unix conhecidos como UNIX-like
e no qual o Linux est includo (veja mais detalhes no Captulo 5).
7

O Linux em si s um Kernel (ncleo do sistema operacional). O estudante Li-
nus Torvalds, no seu comeo, em 1991, estava escrevendo o fonte do Kernel em
sua graduao de Cincia da Computao na Finlndia e comeou a usar os pro-
gramas da GNU para fazer seu sistema. Resolveu deixar seu Kernel dentro da
mesma licena, de que falaremos a seguir. Ele postou uma nota em um newsgroup
(grupo de discusses) falando:
``...As I mentioned a month ago, I'm working on a free ver-
sion of a Minix-look-alike for AT-386 computers. It has fi-
nally reached the stage where it's even usable (though may
not be, depending on what you want), and I am willing to put
out the sources for wider distribution. It is just version

7
Baseado no artigo original de Elias Bareinboim disponvel em http://www.uol.com.br/olinux
Porque o Linux Gratuito 257

0.02...but I've successfully run bash, gcc, gnu-makee, gnu-
sed, compress, etc. under it.'' comp.os.minux Linus Torvalds
Essa a parte final, quando j estava pronto. Isso mostra, basicamente, que o Ker-
nel do Linux o que d seu nome, mas na verdade devemos cham-lo de
GNU/Linux, pois ele usa vrios aplicativos GNU (conforme visto no Captulo 5).
As pessoas, em geral, acham que isto tudo. O Kernel por si s no usvel. O
Kernel uma parte importantssima (eu disse parte) do Sistema Operacional (ele
faz a interface, serve como comunicador, com a mquina em si). O Linux, como
um todo, uma combinao do sistema operacional GNU. O sistema basicamente
da GNU e o Linux funcionando como seu Kernel.
Existem diversas variantes dos sistemas GNU que usam o Kernel do Linux. Essas
variantes so amplamente difundidas no mundo inteiro e, em geral, so todas co-
nhecidas como Linux, mas idealmente deveriam ser chamadas de Sistemas
GNU/Linux.
Em geral, cria-se uma confuso a respeito disso. O que o Linux ento? O que
GNU? O que o sistema inteiro? Vrias pessoas esto usando em seu computador
verses modificadas dos sistemas GNU. Sem saber disso, acham que simples-
mente o Linux.
Quem realmente programador sabe que Linux o Kernel. Quando, em geral, ou-
ve-se que todos esto usando o Linux por a, eles lembram da histria e voltam na
poca em que Linus desenvolveu o Kernel. Naquela poca, ele fez o Kernel e jun-
tou com vrios programas GNU para fazer o sistema como um todo. Mas todos os
programas estavam prontos do nada? Todos? Claro que no, a GNU funciona h
anos desenvolvendo programas para serem livres/abertos e os programas existiam
por causa disso. Por isso, lembre-se: o ideal chamar de GNU/LINUX.
Exemplos de programas GNU que so usados com o GNU/Linux desde o comeo e no
tm relao com sua criao (foram desenvolvidos com propsitos especficos) so:
Donald Knuth desenvolveu a linguagem de formatao TEX, que usada por todos
os matemticos hoje em dia.
Bob Shceifler desenvolveu o sistema de janelas X11, Xwindow ou X, como co-
nhecido e usado hoje em dia.
notvel que esse tipo de programa tenha contribudo em muito para o sucesso do
GNU/Linux.
258 Linux: Sistema Operacional II

Em geral, o projeto GNU deve ser conhecido como o grande responsvel pelo su-
cesso do Linux. Lgico que muitos fatores so relevantes, mas o GNU tem papel
fundamental (evidentemente que o Linus tambm tem).
Possuir um assemblador, um link editor e uma biblioteca padro C so essenciais
para um sistema operacional completo. No a tarefa das mais simples e agrad-
veis para um programador, mas essencial. E o GNU faz isso.
Basicamente, chegamos concluso de que no mnimo justo chamar o Linux de
GNU/Linux! (veja mais detalhes no Captulo 5)
S para constar: existem outras variantes em Sistemas Operacionais compatveis
com Unix conhecidas como famlia BSD, que foram desenvolvidas pela Universi-
dade de Berkeley e que tambm merecem destaque.
Cdigo Aberto
Fonte de um programa o cdigo dele, o que escrito em uma linguagem de pro-
gramao. Todo programa deve ter um fonte. Ele passa por um programa que o
traduz para linguagem de mquina, a qual o computador entende. Mediante este
conhecimento, prossigamos.
Cdigo aberto (ou Open Source, em ingls) quer dizer que o fonte disponvel pa-
ra quem deseja usar. Como isso pode? Funciona? Todos podem mexer? E se eles
fizerem coisa errada? So algumas perguntas que surgem na cabea de quem no
tem a convivncia com esse tipo de filosofia.
Bem, cdigo aberto quer dizer que o fonte est disponvel. Eu posso v-lo, edit-lo,
fazer o que bem entender. Por exemplo:
bash:/usr/src/ 1 /arch/ 1 /kernel$ ls
Makefile head.o ioport.o mca.c setup.o time.o
apm.c i386_ksyms.c irq.c mtrr.c signal.c trampoline.S
bios32.c i386_ksyms.o irq.h process.c signal.o traps.c
bios32.o init_task.c irq.o process.o smp.c traps.o
entry.S init_task.o kernel.o ptrace.c sys_i386.c visws_apic.c
entry.o io_apic.c ldt.c pt race.o sys_i386.o vm86.c
head.S ioport.c ldt.o setup.c time.c vm86.o
Neste diretrio listado esto todos os arquivos com as funes bsicas do Kernel.
Eu posso mexer vontade, mudar, fazer o que bem entender. S que isso no inter-
Porque o Linux Gratuito 259

fere no Kernel que voc usa em sua mquina. Qualquer um pode alter-lo em seu
respectivo computador! Caso voc seja um programador experiente e tenha dom-
nio em programao de Sistemas Operacionais pode contribuir. Basta voc mudar
o que bem entender e submeter aos responsveis.
Cada parte do Kernel tem responsveis diretos. Linus Torvalds est melhorando a
gerncia de memria, por exemplo, para ficar mais rpida. Caso voc queira man-
dar um novo mtodo que tenha descoberto, envie um e-mail para ele com as suges-
tes e os fontes. Ele far uma anlise e, se for realmente til, colocar em prtica
na prxima verso.
Caso o Alan Cox tenha feito alguma correo no Kernel e voc tenha descoberto
uma forma melhor de faz-lo, s propor. Se realmente for superior, voc ter seu
patch (correo) incorporado a ele (Linus Torvalds e Alan Cox so os dois maiores
nomes do Kernel do Linux atualmente, superacessveis como seres humanos mor-
tais).
Isso tudo funciona para coisas que so novas, que provavelmente vo para uma
verso de testes do Linux, que no so liberadas rapidamente. Caso seja alguma
correo de algo j existente, que j tenha sido implementado (codificado), ser
testado e colocado na prxima verso estvel.
Ou seja, esse problema de qualquer um que est aprendendo C, hoje, ir diretamente
alterando o sistema operacional que voc usa, no verdadeira.
Isso funciona para todos os programas GNU. O exemplo do Kernel foi a ttulo di-
dtico, mas funciona da mesma forma para todos.
Os fontes so seguros?
Realmente uma questo a se discutir em relao segurana dos fontes. No h o
que temer: todos os programadores so altamente experientes e alm do mais os
fontes passam na mo de uma imensa comunidade cientfica, gente que vive s de
estudar Sistemas Operacionais, alm de voc prprio poder fazer, ou contratar al-
gum que o faa. O cdigo como um todo visto por milhares de pessoas todo dia
e altamente confivel e estvel. Alm disso, existe o que citei antes, de verso
estvel e de testes.
No caso do Kernel (acontece isso em geral com a maioria dos programas GNU), a
verso estvel aquela que j foi bem testada, est madura para o uso, no tem
problemas e no trava em condies normais. Ela demora para sair algum tempo.
260 Linux: Sistema Operacional II

Ela designada pelo nmero par do 2.2.13, por exemplo. O segundo 2 quer dizer
que estvel, o 13 a verso (release). A prxima a sair a 2.2.14, e assim por
diante.
E como isso pode funcionar? Qual a garantia de que isso tudo continuar assim?
Bem, existe uma licena conhecida como GPL (do GNU) que garante isso. Nela
est escrito:
1) Todo programa GNU tem que vir com seu cdigo fonte. Ou seja, no se pode
distribuir simplesmente o binrio (ou executvel, como queira).
2) Sempre que for usado o fonte, o autor original deve ser mencionado obrigator i-
amente.
3) Se voc alterar o fonte do programa, ter que mant-lo na licena GPL, ou seja,
o cdigo fonte deve ser liberado tambm.
Nota-se que esses pontos garantem a continuidade do processo, a longevidade da
vida do sistema. No tem como uma empresa chegar, pegar o fonte e fech-lo.
Sempre que for alterado ter que ser mantido sob a licena GPL. Isso garante a e-
voluo e a continuidade.
Software Livre
Software (programa) Livre (conhecido como Free Software, em ingls) o ato de
disponibilizar o software sem cobrar por ele. um ato de liberdade, no de preo.
Podemos fazer uma comparao ao direito de voz de imprensa. Todos podem falar.
No se deve traar uma analogia com o direito de beber um refrigerante de graa e
sim de poder falar o que se bem entender, sem censura.
Deve-se entender como direito do usurio: rodar o programa, copiar, distribuir, es-
tudar, mudar e melhor-lo. Tirado da Fundao de Sotfware Livre:
liberdade de rodar o programa, com qualquer objetivo.
liberdade de estudar o funcionamento do programa, e adapt-lo para suas
necessidades.
liberdade de distribuir o programa para ajudar quem voc acha pertinente.
liberdade de melhor-lo e distribu-lo para o pblico, dando sua contribui-
o para a comunidade que lhe deu esta oportunidade.
Todo GNU/Linux (lembre-se de que mais elegante chamar de GNU/Linux) pode
ser obtido comprando-se um CD por preo quase de custo. Alm disso, quem dis-
Porque o Linux Gratuito 261

ponibilizou a venda do CD obrigado a disponibilizar um FTP, em algum lugar,
para que voc possa baixar. Ele lhe d a oportunidade de escolha. Voc compra ou
baixa via rede, pois o software livre.
Concluses
O GNU/Linux um Sistema Operacional (SO) livre e aberto. Os problemas que
existem em relao a esse fato esto em nossas cabeas! Nossa formao cultural
diz que temos que pagar o software ou ento piratear. Qualquer coisa que foge dis-
so, "no existe" ou "esto querendo nos passar para trs".
Agora temos uma alternativa real, completa e vivel a qualquer SO do mercado,
seja ele um UNIX parrudo de alto custo, um Mac bonitinho ou qualquer outro tipo
de SO existente. Tudo gratuito. Por que no aproveitar esta oportunidade?
Temos editores de texto, planilhas, programas de apresentao, gerenciamento de
contas, fluxogramas, som, imagem, editorao 2d, 3d, tudo, quase todos gratuitos,
e por que disperdiamos essa maravilha? Noventa porcento (90%) dos programas
para GNU/Linux so GPL.
Outra questo a ser colocada como as pessoas que trabalham com Softwares Gra-
tuitos/Livres sobrevivem. Como qualquer outra, trabalhando. Trabalham com cus-
tomizaes, suporte, documentao e tudo que adicional ao sistema tradicional.
Tal mo de obra altamente especializada e chamada em situaes extremas, ca-
so voc no queira ou no possa botar a mo na massa. Essa situao comum em
empresas, para projetos de grande porte e situaes especficas.
262

O Kernel 2.4 ainda no estava pronto em novembro de 2000 e os trabalhos
pareciam estar com um ano de atraso. Os distribuidores e desenvolvedores de
distribuies Linux se depararam com uma dvida sobre criar produtos baseados
no Kernel antigo (2.2) ou na verso beta do novo (2.4).
8

Depois de muitas conversas, a Red Hat decidiu lanar a verso beta do Red Hat
Linux 7.0 baseada no Kernel antigo chamado de Pinstripe.
A RedHat tomou suas providncias para no ficar para trs quando o 2.4 ficasse
pronto. Em declarao dada imprensa por ocasio do lanamento da verso 7.0
beta do RedHat, Doug Ledford, gerente do departamento de desenvolvimento do
Kernel da Red Hat disse: "O Pinstripe foi projetado para rodar o 2.2 e o 2.4.". A
empresa vai lanar a verso final do 7.0 com o Kernel antigo e quando o novo ficar
pronto, a empresa garantiu que ir prover o 2.4 que poder rodar no topo do
Pinstripe 2.2. Isto foi no final de 2000, e em maio de 2001 j estava disponvel a
verso 7.1 do RedHat com Kernel 2.4 j homologado para rodar na distribuio
servidor daquela empresa.

8
Apndice com dados compilados a partir dos artigos originais disponveis em http://www.conso-
le.com.br/ver_artigo.htm?id=67, http://www.console.com.br/ver_artigo.htm?id=48 e http://www.conso-
le.com.br/ver_artigo.htm?id=34.
O Kernel 2.4 do Anncio ao Lanamento 263

A Caldera adotou uma outra postura. Na ltima semana de agosto de 2000 a
Caldera j fornecia uma nova tecnologia de desenvolvimento de seus produtos
Linux. O "preview" daquele lanamento inclua uma teste do novo Kernel (2.4),
inclusive a beta do Java 2 para Linux e modelos das mquinas virtuais HotSpot da
Sun para clientes e servidores.
Com a palavra o Sr. Linus Torvalds
No incio de 2000 parecia que o desenvolvimento do Linux 2.4 estava correndo um
ano atrs do calendrio. "Existiram algumas barreiras, mas o trabalho j foi
retomado. Tivemos que resolver questes de logstica," explicou Linus Torvalds.
"Todas as questes bsicas foram resolvidas, o que um timo avano. Isto no
significa que o Linux 2.4 ser lanado amanh", concluiu Torvalds.
Finalmente o Kernel 2.4 foi lanado no dia 4 de janeiro, sem muito alarde. A nova
verso do Linux j estava sendo esperada ansiosamente, gerando at alguns
descontentamentos com a demora. Mas, segundo a filosofia Open Source, o cdigo
s foi liberado quando Linus Torvalds achou que estava tudo em ordem.
Como este foi um lanamento de grande importncia para o emprego do Linux nas
corporaes, os desenvolvedores aproveitaram o tempo para refinar as interfaces de
programao (API) de aplicaes j existentes na verso 2.2 e criaram estruturas
que tornaram o sistema mais coeso.
Sendo o Kernel uma pequena parte de um sistema operacional (mas imprescindvel
ao seu perfeito funcionamento), as grandes distribuies de Linux devem liberar o
mais rpido possvel suas distribuies j atualizadas.
O Kernel 2.4 roda em trs novas arquiteturas: ia64 (Itanium), S/390 (mainframe da
IBM) e SuperH. Tambm esto dentro os novos processadores MIPS de 64 bits,
lembrando que algumas plataformas sero mais eficientes que outras.
Quando Torvalds recebeu perguntas sobre detalhes do novo Kernel, no quis
responder no momento, devido exausto e disse com muito bom humor: "No me
perturbem com informaes sobre bugs nos prximos dias".
Como se controlam as verses?
O nmero da verso do Kernel NO est ligado diretamente ao nmero da verso
das distribuies de Linux. Assim temos:
264 Linux: Sistema Operacional II

Red Hat 7.1 => kernel 2.4
Red Hat 6.0 => kernel 2.2.12
SuSE Linux 6.2 => kernel 2.2.10
Console Linux 1.0 => kernel 2.2.17.
O desenvolvimento do Kernel do Linux costuma ocorrer em duas sries separadas:
uma delas a de produo, ou estvel, cujo segundo nmero sempre zero ou par:
2.0.x, 2.2.x, 2.4.x, etc. A outra srie a de desenvolvimento, que no garantida
para ser utilizada em sistemas em produo, e tem o segundo nmero sempre
mpar: 2.1.x, 2.3.x, etc. Quando a srie de desenvolvimento atinge a maturidade,
ela muda de numerao e se transforma na nova srie de produo, e uma nova
srie de desenvolvimento tem incio.
Tradicionalmente no se marcam datas para o lanamento das novas verses.
A palavra Kernel significa ncleo ou cerne, e essas palavras expressam muito bem
o que ele : a parte central do sistema operacional, capaz de manter as aplicaes,
dispositivos e conexes funcionando e comunicando-se entre si.
Qual a importncia do 2.4?
As novidades da verso 2.4, muitas delas j presentes (mas no necessariamente
prontas) na atual srie 2.3 de desenvolvimento, so de interesse restrito aos
tcnicos em informtica. Outras, como as relacionadas ao suporte de novos
dispositivos, interessam a todos os usurios.
Aspectos internos
O Kernel o ncleo do sistema operacional, mas ele em si tem tambm o seu pr-
prio ncleo, que so as rotinas capazes de integrar os gerenciadores de dispositivos,
oferecendo o agendamento e o seqenciamento de tarefas, controlando a alocao
de recursos, gerenciando os sistemas de arquivos e a memria, e muito mais.
Nestes aspectos internos, uma grande mudana da verso 2.4 est relacionada
nova implementao do gerenciamento de recursos de hardware como as IRQs e os
endereos de E/S. Isso ir facilitar a tarefa de quem desenvolve gerenciadores de
dispositivos, e em ltima anlise aumenta bastante a possibilidade de suporte a
ainda mais hardware pelo Linux. Alm disso, essa remodelagem facilitou o suporte
a placas ISA PnP como veremos posteriormente.
O VFS (Virtual FileSystem layer ou camada de sistema de arquivos virtual)
tambm sofreu profundas modificaes. A antiga estrutura com um buffer de
O Kernel 2.4 do Anncio ao Lanamento 265

leitura e outro de gravao foi abandonada, e agora h um nico buffer para as duas
operaes, mais uma vez simplificando em muito o desenvolvimento de mais
gerenciadores de dispositivos. Alm disso, o sistema ganha em eficincia e passa a
usar menos memria.
O antigo limite mximo de 1024 processos em operao simultaneamente foi
extinto, e com o Kernel 2.4 o limite passa a ser a memria. Esse limite de 1024
processos s era sentido em mquinas poderosas, j que o Pentium nosso de cada
dia no tem tanta capacidade, mas agora uma mquina com 512 MB de RAM
poder rodar facilmente 16000 processos ao mesmo tempo.
Por falar em mquinas poderosas, o limite mximo de memria em sistemas Intel
avanou bastante agora voc pode ter at 4 gigabytes de RAM sendo gerenciados
pelo Linux. E se voc um usurio domstico que ainda conta a memria em
dezenas de megabytes, saiba que o Kernel 2.4 no ocupa mais memria do que o
2.2.
O Linux 2.4 tambm vai ser ainda mais compatvel com padres de mercado,
incluindo o suporte a clocks e timers do padro POSIX, NFS verso 3 (veremos
mais sobre ele no item sobre sistemas de arquivo), e alguma compatibilizao em
outras reas como, por exemplo, o esquema de threads adotado.
Tipos binrios
Desde a verso 2.2 o Kernel do Linux suporta um tipo binrio chamado de "misc.",
que permite associar determinados tipos de binrios a aplicaes auxiliares. Assim,
voc pode, por exemplo, instruir o Kernel para que, se solicitado a rodar um
arquivo .EXE (executvel do Windows), ele carregue previamente (e transparente-
mente) um emulador adequado, o que sob o ponto de vista do usurio e do desen-
volvedor de aplicaes a mesma coisa que se o programa estivesse sendo
executado nativamente pelo Kernel (naturalmente isso no verdadeiro em
aspectos como a portabilidade, suporte a algumas funes especficas, estabilidade
e performance da aplicao sendo executada).
O Linux 2.2 e o 2.0 incluam tambm um sistema semelhante mas exclusivo para
aplicaes em Java, que permitia que o Kernel rodasse de forma aparentemente
nativa os binrios Java. O Linux 2.4 vai deixar de suportar este sistema, e os
usurios tero que portar suas aplicaes para o novo mtodo. Como esta mudana
j estava disponvel e documentada desde a verso 2.2, provvel que poucos
usurios tenham problemas com isso.
266 Linux: Sistema Operacional II

Dispositivos de bloco Discos, RAID, etc.
Os dispositivos IDE, que so a base dos discos rgidos e unidades de CD-ROM
mais comuns no mercado, tm algumas novidades. A primeira delas o aumento
do limite mximo de controladores IDE em uso agora voc pode ter at 10
controladores no mesmo computador, o que equivale a at 20 discos rgidos.
O suporte a DVD e a CD changers foi melhorado, embora esteja longe de estar
pronto. Uma srie de novos controladores SCSI tambm passou a ser suportada
pelo novo Kernel. E os administradores de bancos de dados vo gostar de saber que
o Linux vai passar a oferecer o recurso de raw devices, similar ao existente em
sistemas Unix comerciais.
Sistemas de arquivos
O Linux 2.4 inclui todos os novos sistemas de arquivos apresentados no Linux 2.2,
como por exemplo o FAT/VFAT (para sistemas DOS e Windows 9x), NTFS (do
Windows NT/2000), HFS (do Mac) e muitos (muitos mesmo!) outros. Todos eles
foram reescritos ao menos parcialmente, devido ao novo sistema de cache descrito
anteriormente. Isso far com que todos eles sejam mais eficientes do que seus
equivalentes na verso 2.2.
Usurios de OS/2 vo finalmente poder gravar em suas parties HPFS no Linux.
Usurios de NT j podem ler o NTFS, e se quiserem se arriscar, podem ativar o
suporte experimental para escrita nestas parties.
A antiga opo de compilao que avisava ao Kernel sobre a existncia de
servidores Windows com problemas na exportao de volumes desapareceu, e
agora o Linux capaz de detectar sozinho estes erros de algumas verses
especficas do Windows.
Usurios de NFS ficaro felizes ao saber que agora o Linux suporta a conexo a
servidores NFS verso 3, o que tem sido um pedido freqente dos usurios
corporativos.
Framebuffers
Um framebuffer uma rea de memria cujo contedo se reflete no contedo
exibido na tela. O Linux 2.4 suportar uma srie de novas placas de vdeo atravs
desse recurso. Lembre-se de que os framebuffers no tm nada a ver com a mais
comum das utilizaes do Linux em modo grfico, que o XFree86 (que atua
O Kernel 2.4 do Anncio ao Lanamento 267

como a base em cima da qual operam ambientes como o GNOME, o KDE ou o
WindowMaker).
O Kernel 2.4 inclui vrios novos drivers para placas de vdeo e melhoramentos em
drivers previamente existentes. Mas lembre-se: este um recurso apenas para quem
tem necessidades especficas, e a princpio voc no precisa se preocupar com ele.
Dispositivos de caractere teclado, mouse, console e portas
A grande novidade que o Linux 2.4 ir suportar teclado e mouse conectados a
uma interface USB, como se fossem mouses seriais normais.
Adicionalmente foi includo suporte a mquinas com teclados que precisam de
inicializao extra durante o boot (como aqueles teclados com botes de controle
multimdia), e tambm para mquinas que se comportam de maneira no usual na
ausncia de um teclado (como os equipamentos PC desktop IBM, Compaq, entre
outros).
Pela primeira vez vai ser possvel direcionar o console (normalmente direcionado
para a tela do monitor) para a porta paralela, o que vai permitir a impresso on-line
das mensagens do Kernel, servio til para algumas aplicaes especficas.
O suporte a portas seriais no mudou muito e a maior parte das limitaes do
Kernel 2.2 permanecem. Mas vai ser possvel compartilhar IRQs de placas seriais
PCI previamente isto era possvel apenas com seriais ISA e on-board.
J o suporte a portas paralelas passou por boas reformas. Foi criado um driver
genrico para portas paralelas, o que permite a abstrao na comunicao com
dispositivos "desconhecidos". Isto pode vir a ser usado, por exemplo, pelos drivers
que precisam identificar a presena de um scanner plug and play conectado porta
de impresso do seu micro. Alm disso, o Kernel 2.4 incorpora suporte s caracte-
rsticas mais modernas das portas paralelas, incluindo o uso de DMA o que pode
tornar mais rpidos os nossos servios de impresso (no que eles fossem lentos!).
Suporte a barramentos ISA, PCI, USB, MCA, etc.
O computador no se resume ao seu processador. Outro componente da arquitetura
interna de cada mquina o barramento ou bus, responsvel por transportar os
sinais entre cada um dos componentes do sistema.
A grande novidade do Kernel 2.4 no que tange aos barramentos o suporte
ampliado arquitetura ISA PnP, os famosos dispositivos Plug and Play. Embora o
268 Linux: Sistema Operacional II

Linux j os suporte h algum tempo, finalmente este suporte foi trazido para dentro
do Kernel. Quando os gerenciadores de dispositivos passarem a fazer uso desta
caracterstica, os perifricos PnP passaro a funcionar "automaticamente", sem a
necessidade da utilizao das ferramentas quase msticas que hoje so necessrias
para configurar um simples modem plug and play.
O Universal Serial Bus (USB) tambm passa a ser suportado no Kernel. Esse
barramento, que tpico do iMac, tende a se tornar cada vez mais comum no
futuro, e tem muitas caractersticas tcnicas interessantes. O I2O (Intelligent
Input/Output), que uma extenso do PCI, tambm passa a ser suportado.
Finalmente, para quem utiliza o Linux em notebooks, o suporte a PCMCIA passa a
ser integrado ao kernel padro, e os usurios deste padro no mais precisaro se
submeter a fazer downloads de discos extras para instalao e nem a procedimentos
mais complexos que os comuns.
Multimdia
O Linux est adotando o papel de sistema operacional desktop e como tal dever
apresentar suporte aos dispositivos mais comuns nos ambientes dos usurios:
placas de som, TV e rdio e seus assemelhados. O Kernel 2.4 traz algumas
mudanas nessa rea, incluindo o suporte a full duplex em placas de som que
tenham esta caracterstica.
Algumas mudanas esto presentes tambm na estratgia de alocao de memria,
o que dever tornar mais simples a configurao dos drivers de som (atualmente
esta tarefa pode ser desastrosa).
Suporte a processadores
Na arquitetura Intel, h algumas novidades. Alm de continuar oferecendo o
suporte otimizado a 386, 486, 586 (Pentium, AMD, Cyrix...) e 686 (Pentium Pro,
Pentium II, Pentium III), teremos suporte a hardware adicional. O Linux 2.2 j
inclui suporte aos MTRRs do Pentium, capazes de aumentar a performance na
utilizao de dispositivos de alta largura de banda. A verso 2.4 traz suporte s
verses de MTRR da AMD e Cyrix, e tambm ao IO-APIC, que permite a
distribuio de interrupes entre vrios processadores, em sistemas
multiprocessados.
Os nicos sistemas multiprocessados ainda no completamente suportados pelo
Linux sero alguns antigos, baseados em 486SX e 486DX, devido a problemas
O Kernel 2.4 do Anncio ao Lanamento 269

dessas arquiteturas j ultrapassadas. Mas certamente o nmero de usurios deste
tipo de instalao tende a ser zero com o passar do tempo.
Rede e protocolos
O Linux 2.4 inclui muitas novidades nessa rea, como novos drivers, correo de
falhas e novas funcionalidades para os drivers j existentes.
Em termos de performance de rede, uma caracterstica nova e interessante o
"wake one", que, em termos simplificados, uma estratgia para que, no caso de
servidores que tenham mltiplos processos aguardando por requests dos usurios
(como o caso do servidor web Apache), a cada request apenas um dos processos
seja ativado, sem que seja necessrio ativar a todos e logo em seguida congelar
novamente todos, menos o que realmente for atender ao request.
A camada de rede tambm foi completamente reescrita, tendo em mente a melhor
escalabilidade possvel. Seguindo este mesmo exemplo, boa parte do cdigo do
PPP (o principal interesse dos usurios de internet domsticos) tambm foi refeita,
acrescentando novas caractersticas e melhorando a performance geral.
De resto, o Kernel 2.4 torna as distribuies Linux que o utilizam mais bem
adaptadas ao uso pessoal e mais eficiente aos que atuam como servidores de rede.
271

!INDEX.HTML. gregh@sunsite.unc.edu. SUNSITE.UNC.EDU (SUE).
ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/users-guide/. 1996.
Pgina FTP. Internet Explorer.
-----.-----. Linux HOWTO Index (part 1/1). GREG HANKINS.
http://www.faqs.org/faqs/linux/howto/index/, 1997. Pgina HTML. Internet
Explorer.
-----.-----. Linux INFO-SHEET (part 1/1). MICHAEL K. JOHNSON.
http://www.faqs.org/faqs/linux/info-sheet/, 1997. Pgina HTML. Internet
Explorer.
-----.-----. Livros Guias e Manuais. Conectiva S.A.
http://www.conectiva.com.br/doc/livros/, 2001. Pgina HTML. Internet Explorer.
BASHREF.HTML. Red Hat Linux 6.2. Red Hat. /usr/doc/bash2-doc-2.03/, 2000.
Arquivo HTML. Internet Explorer.
gs.html. Matt Welsh. Specialized Systems Consultants, Inc (SSC).
http://www.ibiblio.org/mdw/LDP/gs/, 1998. Pgina HTML. Internet Explorer.
HOME.PT.HTML. GNU. Free Software Fundation (FSF). http://www.gnu.org/,
2001. Arquivo HTML. Internet Explorer.
INFO. Red Hat Linux 6.2. Red Hat. /usr/bin/, 2000. Arquivo script. bash.
MAN. Red Hat Linux 6.2. Red Hat. /usr/bin/, 2000. Arquivo script. bash.
273

/, 42
/boot, 18
/dev, 18
/dev/hda, 18
/dev/hdb, 18
/dev/ttyS0, 14
/etc, 18, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39,
40, 41, 47, 49, 74, 89, 132, 137, 138, 142,
143, 151, 153, 158, 179, 180, 182
/etc/ftpaccess, 36
/etc/group, 34
/etc/passwd, 33
/home, 18, 26, 33, 34, 43, 44, 45, 46, 47, 48,
49, 52, 83, 84, 89, 177, 178, 182, 189
/tmp/install.log, 19
/usr, 18
/var, 18
A
Maneira do DOS, 179
Maneira UNIX, 179
Acessando disquetes Linux, 205
acesso remoto, 35
Adicionando atalhos, 232
Administrao de discos, 221
Administrao de janelas, 212
Ajuda do KDE, 213
Aliases, 67
Alterando data e hora no Linux, 58
Alt erando dono, 56
Alterando grupo, 56
Alterando permisses, 54
Alternando entre programas, 217
Ambientes de Trabalho, 199, 204
anonymous, 36, 40
aplicaes grficas, 2
arch, 72, 73
rea de Transferncia, 200, 205, 206
Arquivos, 38, 52, 115, 119, 120, 121, 126,
132, 134, 137, 142, 151, 158, 166, 169, 171,
181, 183, 187, 202, 203, 223, 226
Arquivos Pessoais, 202, 203
ash, 73
assncronos, 66
Atalhos para programas, 204
Automatic Partitioning, 17
B
backup, 6, 84, 135, 138, 143, 153, 170, 181
Barra de Tarefas, 199, 200, 217, 232
274 Linux: Sistema Operacional II

Barras de deslocamento, 212
Barras de ferramentas, 209
base operacional, V
bash, 3, 6, 29, 33, 34, 62, 65, 71, 72, 133, 162,
165, 167, 182, 183, 184, 185
Berkeley, 63
BIOS FEATURES SETUP, 13
blocos danificados, 19
boot, 3, 4, 5, 8, 13, 20, 31, 62, 98, 181, 188
BOOT SEQUENCE, 13
Bootdisk, 20
bootp/dhcp, 15
Botes comuns, 208
built -in commands, 66
C
C, 185
Caixas de dilogo, 210
Calculadora, 201, 230
caminho absoluto, 44, 49
caminho relativo, 44, 45, 46, 48, 49
canho para acertar uma mosca, 7
caracteres especiais, 15
Carregamento por demanda, 10
case sensitive, 29
cat, 31, 33, 34, 36, 57, 68, 69, 77, 172, 173,
188
catalog, 31
cd, 55
cdrecord.conf, 31
Centro de Controle, 203
change dir, 30, 43
change mode, 55
change owner, 56
chgrp, 56, 78, 79
chown, 56, 80, 81
clear, 29, 81
COBOL, 10, 11, 185
COM1, 14
comandos internos e externos, 2, 6
Comentrios, 67, 71, 76, 147
Compatibilidade binria, 59
Compatibilidade funcional, 59
Complete, 21
Componentes de uma janela, 207
composio da listagem longa, 52
Conectiva, 63, 64
conectividade, 2, 5, 11, 35
configurao, VI, 2, 3, 4, 6, 7, 8, 10, 15, 20,
30, 32, 33, 36, 98, 166, 213, 226
configurao do KFM, 225
Configuraes do mouse, 234
Configuraes do teclado, 235
configurar, 2, 6, 31, 179
Conseguindo Ajuda, 167
Construtores, 67
container, 5, 85, 86
Contas, 160
contas de acesso, 2, 160
Controle de fluxo, 66
Controle de trabalho, 67
Convertendo Arquivos, 191
Copiando arquivos para uma pasta, 47
Copiando contedos, 206
cpias de segurana, 4
copy, 47
cp, 47, 49, 81, 82, 83, 168, 172, 173, 174, 180
cpio, 84, 85, 86, 87, 88, 89, 90, 91
crash protection, 10
criao de contas, 4
Criando um simples localizador de arquivos,
69
Criar pastas, 222
Cursor, 10
D
Data e hora de sua criao, 57
date, 57, 58, 91, 93, 94, 154, 182
dc, 67, 68, 69, 72, 76, 77, 182
dd, 92, 93, 94, 96, 122, 123, 157
Default gateway, 16
depurar scripts, 6
desconexo do usurio, 26
desenvolver scripts, 6
Desktop, 10, 43, 50, 51, 52, 195, 197, 232
Desligando corretamente o Linux, 27
df, 8, 96, 97, 98, 181
disco rgido, 3, 4, 20, 166, 180, 225
Disquetes, Discos Rgidos e outras mdias, 179
distribuio de Linux, 3
distribuies, 3, 4, 5, 6, 63, 64, 179, 188, 191
dmesg, 98, 99, 188
DNS, 16, 130, 132, 159
dnsdomainname, 101, 130, 131
ndice Remissivo 275

doexec, 101
domainname, 102, 130, 131, 132
DOS, 4, 6, 14, 65, 109, 118, 164, 165, 166,
168, 169, 170, 171, 172, 174, 176, 177, 179,
180, 181, 182, 183, 185, 187, 189, 191
E
echo, 102, 174, 182, 184, 185, 188
ed, 102, 103, 104, 105, 106, 107, 152, 153
Edio da linha de comando, 67
egrep, 108, 111
Encerrando uma sesso KDE, 196
Endereando Linhas, 104
Enviando arquivos para a lixeira, 224
EOF, 58
Estrutura das permisses, 52
estrutura de decises, 71
Eu preciso do Linux?, 164
ex / view, 112
Excluir arquivos, 224
Excluir pastas , 223
excluir um usurio, 163
exit, 26, 116, 174, 175, 190
Expresso regular, 105
expresses regulares, 6, 109, 110, 111, 174, 190
Expresses Regulares, 105, 109
Extenses Comuns, 191
F
false, 33, 34, 116, 119, 123
fdformat , 168, 179, 180
Fechando uma sesso login, 26
ferramentas do KFM, 227
Finalizando programas, 220
find, 66, 69, 70, 85, 90, 91, 117, 118, 120, 168,
177, 178, 189, 190
finger, 123, 124, 125
Fixando aplicativos, 220
formatado, 4, 179, 181
Formatos do ponteiro, 194
FrankPCstain, 11, 12
free, 63, 125
free BSD, 63
Fujitsu, V
full path, 44
Funes, 38, 67
G
Gnome, 5, 14
GNU, 5, 59, 60, 61, 62, 63, 64, 65, 86, 88, 93,
109, 111, 117, 153
GNU C, 63
GNU General Public License, 5
GNU/Linux, 62, 63
grandes colaboradores, 61
gzip, 126, 127, 128, 129, 130, 154, 182, 186,
187, 191
H
hacker, 1
Hardware Added, 21
HD detectados, 18
hierarquia das pastas, 42
Histrico dos comandos, 67
hostname, 15, 88, 101, 102, 130, 131, 136, 159
Hyperlink, 215
I
IBM, V, 59
cone, 10, 208, 226
cones, 197, 198, 230
cones comuns, 198
IEEE, 60
if...fi, 75
imagem de disco, 4
inetd.conf, 31
informtica corporativa, V
Iniciando programas, 216
initlog.conf, 31
instalao, VI, 3, 4, 5, 6, 7, 12, 14, 16, 17, 19,
20, 21, 26, 29, 39, 41, 42, 54, 64, 195, 198
instalar, 6, 11, 12, 14, 17, 62, 187, 188
Instalar o Linux, 3
Install Server System, 15
Installation to begin, 19
interativa, 66
interface, 1, 2, 5, 6, 9, 12, 14, 15, 37, 38, 64,
65, 146, 181, 197, 207
Interface, 9, 60
interface grfica, 3, 5
interface orientada a caractere, 9
Internet, 5, 6, 7, 10, 16, 62, 201, 213, 215
276 Linux: Sistema Operacional II

Internet Intranet e Redes Corporativas, 15
IP vlidos, 16
J
job, 175, 176
K
Kde, 5, 11
KDE, 3, 6, 7, 14, 15, 165, 166, 181, 193, 194,
195, 196, 197, 198, 199, 200, 201, 203, 204,
205, 206, 207, 208, 210, 213, 215, 216, 217,
220, 224, 229
kernel, 4, 10, 11, 18, 21, 32, 60, 62, 64, 98, 99,
101, 125, 142, 188
Keyboard Selection, 13
kill, 66, 132, 133, 175, 176
L
last, 124, 133
lilo, 20, 31, 32, 47, 50
LILO boot, 21
Limpando a lixeira, 225
linguagem de programao embutida, 66
linguagens de programao, 5
linguagens script, 5
Links Simblicos, 170
Linux, V, VI, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12,
14, 15, 16, 17, 19, 20, 21, 26, 29, 30, 31, 32,
33, 35, 36, 38, 39, 40, 41, 42, 43, 54, 57, 58,
59, 60, 61, 62, 63, 64, 65, 72, 76, 91, 93, 99,
100, 138, 141, 144, 155, 158, 160, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 179, 181, 183, 185, 186, 187,
189, 191, 192, 193, 195, 196, 197, 202, 207,
224
Linux Loader, 20
list structure, 30
Lista de Janelas, 200, 201, 218
Lixeira, 224
ln, 134, 135, 170
Localizando arquivos, 228
login, 10, 21, 26, 30, 34, 36, 38, 39, 40, 43, 47,
54, 74, 99, 123, 124, 136, 137, 138, 141,
153, 159, 160, 165, 182, 195
logrotate.conf, 32
ls, 30, 45, 46, 47, 49, 50, 51, 55, 56, 57, 66,
79, 80, 83, 89, 121, 134, 138, 168, 169, 170,
171, 177, 178, 180, 182, 184, 190
M
make dir, 45
Mandrake, 7, 63, 64
Memria virtual, 11
Menus, 208, 217, 233
Menus de atalho, 209
micro kernel, 4, 5
mdias de instalao, 21
mkdir, 45, 49, 50, 139, 168, 169, 178, 180
montador, 62
more, 140, 141, 172, 173, 178, 188
mount, 17, 42, 118, 141, 142, 168, 179, 180,
181
mount point, 42
Mount point, 18
Mouse Selection, 14
Movendo contedos, 206
Mover janelas, 212
Mover/copiar pastas, 222
mtools.conf, 32
Multitarefa, 11, 174
Multitarefa real, 11
mv, 143, 168, 172, 173, 174, 178
MySQL, 11
N
named.conf, 32
no interativa, 66
navegao pelas pastas, 42
Netscape, 11
netstat, 143, 144
Nome do arquivo, 58
nome do dono do arquivo, 55
Nome do grupo deste arquivo, 56
Nomes de arquivos e extenses, 223
nscd.conf, 32
nsswitch.conf, 32
O
O boto "K", 200
o que Linux, 60
ndice Remissivo 277

Opes do boto, 201
operao bsica, 6
Operao do Shell, 67
Operaes do mouse, 193
P
pacotes a serem instalados, 5
padro ethernet, 5
padro Unix, 6
Painel KDE, 198, 199, 200
Para desligar o sistema, 28
Partio de carga, 18
partio de troca, 19
particionamento, 4, 17, 18, 19
parties existentes, 18
pascal, 5
passwd, 33, 34, 36, 138, 144, 145, 161, 162, 190
password, 10, 40, 161, 162
Pastas, 222
path, 30, 34, 44, 47, 101, 119, 120, 182
pbm2ppa.conf, 32
Perl, 11, 185
PERL, 5
Permisses e Propriedade, 171, 177
Personalizando a rea de trabalho, 229
Personalizando o Sistema, 181
Pesquisando a ajuda, 215
phhttpd.conf, 32
PHP, 5, 11
pico, 37, 38, 39, 41, 68, 69, 71, 72, 75, 96, 184
pine.conf, 32
ping, 146, 147
placa de rede, 15
pnm2ppa.conf, 32
Poderes do root, 29
pontos de montagem, 42
Porqu o pingim, 64
POSIX, 11, 59, 60, 85, 86, 87, 88, 97, 99
Primary nameserver, 16
Primeiro login, 26
principais aplicativos, VI, 64
processador 386, 11
processador de macros, 66
processo de instalao, 4, 42
processos, 3, 4, 10, 26, 27, 28, 29, 60, 132,
133, 175, 176
Procurar Arquivos, 201
produtividade, 2, 164
programao, 6, 10, 62, 65, 66, 67, 183, 186
Programas em Computadores Remotos, 176
programas livres, 61
Prompt, 8, 10
prompt do Shell, 8, 26
Protocolo, 10, 11
PS/2, 14
pwd, 43, 44, 45, 46, 47, 48, 49, 55, 66, 147,
163, 177, 178
R
raiz, 42
Reboot, 21
Recuperando arquivos da lixeira, 225
Red Hat 6.2 Standard, 8
rede de computadores, 3
rede empresarial, 16
rede local, 1, 7, 11, 16, 32
Redes TCP/IP, 11
RedHat, 7, 8, 21, 26, 30, 31, 33, 34, 35, 36, 37,
38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 55, 56, 58, 71, 72, 73, 93, 160, 161,
162, 163, 165, 167, 169, 170, 195, 205
Redimensionar janelas, 212
redirection, 66
Regras gerais para ambientes Unix, 29
Removendo atalhos, 233
Removendo um pasta recursivamente, 46
Removendo uma pasta, 46
Renomear arquivos, 223
Renomear pastas, 222
rm, 46, 48, 49, 50, 147, 148, 168, 172, 173,
178, 190
rmdir, 46, 148, 149, 168, 178
root, 3, 4, 5, 8, 16, 17, 18, 26, 28, 29, 30, 31,
33, 34, 35, 36, 37, 38, 39, 40, 41, 47, 48, 49,
50, 51, 52, 55, 56, 58, 71, 72, 73, 83, 84, 89,
93, 99, 101, 137, 142, 145, 153, 160, 161,
162, 163, 166, 168, 171, 172, 175, 179, 180,
181, 187, 188, 190, 196, 228
rpm, 149, 150, 151, 188, 191
rpmfind.conf, 32
S
saber se virar, 8
278 Linux: Sistema Operacional II

Saindo do Linux, 166
Samba, 11
SAVE & EXIT SETUP, 13
scripts, 3, 6, 69, 76, 94, 111, 112, 184
sed, 151, 152, 153, 174
segurana, VI, 48, 49, 166, 181, 197
Selecionando arquivos, 229
Senhas, 161
serial, 14
servidores de banco de dados, 2
shared libraries, 11
Shell, 2, 9, 15, 26, 29, 34, 39, 43, 44, 45, 47,
48, 49, 50, 54, 57, 62, 65, 66, 67, 68, 69, 72,
73, 74, 78, 85, 89, 102, 104, 141, 183
shutdown, 27, 28, 29, 33, 36, 41, 196
Shutdown, 197
sncronos, 66
sistema computacional, 3
sistema livre completo, 62
Sistemas Operacionais, V
smb.conf, 32
Sniffer, 11
StarOffice, 11
su, 153, 162, 163, 175
superusurio, 16, 29, 30, 39, 43, 47, 153, 160,
161, 162, 163, 172
swap, 11, 19, 87, 89, 101, 114, 115, 125
sysctl.conf, 32
syslog.conf, 32
T
tar, 36, 85, 86, 88, 153, 154, 155, 168, 169,
181, 182, 186, 187, 191
time zone, 16
Time Zone Selection, 16
Total de links, 55
Trabalhando com "janelas", 207
Travar Tela , 200, 203
treinamento especfico, 1
U
umount, 158, 168, 180
UNICODE, 11
Unidade de disco, 222
Unisys, V
Unix, V, VI, 5, 6, 8, 9, 10, 11, 14, 17, 29, 30,
35, 52, 55, 59, 60, 61, 62, 65, 66, 73, 86,
100, 112, 118, 119, 127, 142, 167, 171, 184
Usando Diretrios, 177
useradd, 160
usurio ocasional, VI
usurios corporativos, 1
Utilitrios, 200, 201
utilizando a pasta, 46
V
validar login, 10
Variveis, 66
Ver informaes das unidades de discos, 225
Verificando contedo da pasta, 50
vi, 5, 7, 37, 112, 113, 114, 141, 155, 168, 184
vim, 112, 113, 114, 115
visualizao do KFM, 226
W
Web Server Apache, 11
Welcome to Red Hat Linux, 14
who, 159
Windows, 4, 11, 15, 20, 36, 59, 61, 109, 164,
165, 169, 170, 176, 181, 191, 193, 199, 200,
206, 207
wizards, 8
Wordstar, 5
Y
yp.conf, 32
ypserv.conf, 32


1. Observaes Gerais .................................................................................. 1
Utilizao do Linux e deste livro.................................................................... 1
Viso geral sobre instalao do Linux............................................................. 3
O que acontece na instalao....................................................................... 4
O que este livro aborda .................................................................................. 6
Ento para quem serve este livro?................................................................... 6
Instrues para a utilizao deste livro............................................................ 7
Por que o Console Linux?.............................................................................. 7
Por que um Linux em portugus?................................................................... 8
O CD que acompanha este livro..................................................................... 8
Convenes utilizadas neste livro................................................................... 8
2. Interface .................................................................................................... 9
Vocabulrio bsico........................................................................................ 9
rea de trabalho...........................................................................................10
Como o Linux trabalha .................................................................................10
Qual micro aceita o Linux? ........................................................................11
Preparando o micro para receber o Linux.......................................................12
Instalando o Console Linux 1.0.....................................................................12
Etapas para instalao com interface grfica................................................12
Regras gerais para ambientes Unix .............................................................29
X Linux: Sistema Operacional II

3. Configurao do Linux .......................................................................... 30
O que cada arquivo configura........................................................................31
Arquivo /etc/passwd..................................................................................33
Arquivo /etc/group ....................................................................................34
Arquivo /etc/ftpaccess ...............................................................................36
Arquivo /etc/ftpusers .................................................................................41
4. Comandos de Navegao pelas Pastas.................................................. 42
Organizando dados e programas.................................................................42
Criando uma nova pasta.............................................................................45
Removendo uma pasta...............................................................................46
Removendo uma pasta recursivamente........................................................46
5. Universo Unix e o Projeto GNU............................................................ 59
Compatibilidade funcional............................................................................59
Compatibilidade binria................................................................................59
Mas ento o que Linux? .............................................................................60
Onde REALMENTE est o Linux? ...............................................................60
O kernel....................................................................................................60
A confuso..................................................................................................63
Por que o pingim? ......................................................................................64
6. O Bash..................................................................................................... 65
O que um Shell..........................................................................................65
Resumindo................................................................................................66
Operao do Shell .....................................................................................67
Parmetros para scripts ..............................................................................69
Comandos acessveis pelo Shell .................................................................72
7. Criao de Contas de Acesso............................................................... 160
8. Linux para Usurios DOS/Windows .................................................. 164
Eu preciso do Linux?.................................................................................. 164
Pr-requisitos .......................................................................................... 165
Conceitos Introdutrios ............................................................................ 166
E o Windows?......................................................................................... 181
C............................................................................................................ 185
O (1%) Restante...................................................................................... 186
Sumrio XI

9. Sobre o KDE (Verso 1.1.2 em Ingls) ............................................... 193
Operaes do mouse................................................................................... 193
Formatos do ponteiro.................................................................................. 194
Iniciando uma sesso de trabalho KDE (login) ............................................. 195
Localizando a sesso KDE....................................................................... 196
Trabalhando com vrios ambientes........................................................... 196
Encerrando uma sesso KDE (logout)....................................................... 196
Finalizando o Linux (Shutdown) .............................................................. 197
rea de Trabalho do KDE........................................................................ 197
Painel KDE............................................................................................. 199
Barra de Tarefas...................................................................................... 200
Centro de Controle .................................................................................. 203
rea de Transferncia................................................................................. 205
Conhecendo a rea de transferncia .......................................................... 206
Trabalhando com "janelas" ......................................................................... 207
O que so "janelas".................................................................................. 207
Componentes de uma janela ..................................................................... 207
Administrao de janelas............................................................................ 212
Mover janelas ......................................................................................... 212
Redimensionar janelas ............................................................................. 212
Minimizar, maximizar e restaurar............................................................. 213
Ajuda do KDE........................................................................................... 213
Pesquisando a ajuda................................................................................. 215
Iniciando programas................................................................................... 216
Iniciar programas a partir de cones .......................................................... 216
Iniciar programas a partir do boto "K"..................................................... 217
Iniciar programas com Alt + F2................................................................ 217
Alternando entre programas "abertos"....................................................... 217
Fixando aplicativos.................................................................................. 220
Finalizando programas............................................................................. 220
Administrao de discos ............................................................................. 221
Conceitos gerais ...................................................................................... 221
Ver informaes das unidades de discos ...................................................... 225
Opes de configurao do KFM............................................................. 225
Opes de visualizao do KFM.............................................................. 226
Usando a barra de ferramentas do KFM.................................................... 227
Localizando arquivos............................................................................... 228
Selecionando arquivos ............................................................................. 229
Personalizando a rea de trabalho do KDE................................................... 229
XII Linux: Sistema Operacional II

Ambientes de trabalho ............................................................................. 229
cones..................................................................................................... 230
Painel..................................................................................................... 232
Configuraes do Mouse ......................................................................... 234
Configuraes do teclado......................................................................... 235
Apndice A. Curiosidades........................................................................ 237
Apndice B. O Que H no Linux ............................................................ 247
Aplicativos de Programao no-comerciais recomendados .......................... 247
Aplicativos de Programao comerciais recomendados................................. 248
Apndice C. Instalando o Console Linux em um HD j com o
Windows Instalado ............................................................. 250
Apndice D. Drives e Parties no Linux ............................................... 254
Apndice E. Porque o Linux Gratuito................................................. 256
O que GNU?........................................................................................... 256
Cdigo Aberto ........................................................................................... 258
Os fontes so seguros?................................................................................ 259
Software Livre........................................................................................... 260
Concluses ................................................................................................ 261
Apndice F. O Kernel 2.4 do Anncio ao Lanamento ........................ 262
Referncias Bibliogrficas ....................................................................... 271
ndice Remissivo....................................................................................... 273

Potrebbero piacerti anche