Escolar Documentos
Profissional Documentos
Cultura Documentos
3 - Sistema Operacional Linux
3 - Sistema Operacional Linux
Origem e Histrico
Em 1991, um estudante da Universidade de Helsinki, Linus Torvalds, iniciou o
desenvolvimento de um ncleo de sistema operacional semelhante ao UNIX.
O UNIX um Sistema Operacional usado em computadores de grande porte
(MAINFRAMES).
O ncleo Linux considerado o mais importante exemplo moderno de um software livre.
Um fator que se considera essencial para o sucesso do Linux, do ponto de vista do processo de
desenvolvimento, a escolha pela licena GPL, que garantiu aos colaboradores a preservao
do trabalho contribudo.
O sucesso aparente do processo de desenvolvimento utilizado no Linux o levou a ser imitado e
replicado por outros autores interessados em produzir software livre.
Software Livre / GPL Licena Pblica Geral
Segundo a FSF, software Livre oferece ao usurio o direito de usar, estudar, modificar e
redistribu-lo.
A Free Software Foundation (FSF - Fundao para o Software Livre) uma
organizao sem fins lucrativos, fundada em 1985 por Richard Stallman e que
se dedicada eliminao de restries sobre a cpia, redistribuio,
entendimento e modificao de programas de computadores.
Definido em quatro liberdades:
A liberdade de executar o programa, para qualquer propsito;
A liberdade de estudar como o programa funciona, e adapt-lo para as suas necessidades.
Acesso ao cdigo-fonte um pr-requisito para esta liberdade;
A liberdade de redistribuir cpias de modo que voc possa beneficiar o prximo;
A liberdade de aperfeioar o programa, e liberar os seus aperfeioamentos, de modo que toda
a comunidade se beneficie. Acesso ao cdigo-fonte um pr-requisito para esta liberdade.
Ento: O Linux um Software Livre!
Deviso s diversas vantagens que um software livre tem em relao aos
tradicionais programas pagos (como custos, possibilidade de modificao do
programa), a mudana de ares na informtica de empresas pblicas e privadas,
saindo do quase onipresente Windows para o onisciente Linux, inevitvel. Cada
vez mais, os at ento usurios da Microsoft esto se entregando aos prazeres (e
desafios) de utilizar o sistema do pinguim (aluso ao Linux porque seu mascote
ou logomarca um simptico pinguim, chamado Tux).
A Comunidade Linux
Atualmente, mais de 10.000 pessoas no mundo todo do sua contribuio valiosa para a
manuteno e evoluo do Linux, seja criando novos aplicativos e drivers, seja melhorando o
funcionamento do prprio sistema (que trabalho dos programadores) ou at mesmo
traduzindo as interfaces para que o Linux se apresente disponvel nos mais variados idiomas
(portanto, qualquer poliglota pode fazer parte desse grupo, no precisa conhecer a linguagem
C).
Vamos s comparaes : No sistema Windows, qualquer mudana feita pela detentora do
cdigo-fonte, a Microsoft, que disponibiliza a atualizao em seu site Windows Update. Quanto
ao Linux, qualquer usurio conhecedor da linguagem C pode mudar alguma coisa que no
ache satisfatria no sistema, permitindo melhorias imediatas sem a dependncia de uma
suposta fabricante. Isso, claro, porque o usurio o detentor do cdigo-fonte!
Certas mudanas ficam restritas ao computador do usurio que as fez, mas algumas so
enviadas comunidade, que avalia a relevncia da mudana e julga se ela pode ser ou no
adicionada na prxima verso do Linux.
O objetivo da comunidade no somente criar coisas novas (embora faa isso tambm),mas,
tambm, modificar constantemente o centro do sistema Linux, o seu Kernel.
enviadas pela comunidade e, aceitando algumas e rejeitando outras, decidem que a nova
verso est pronta.
Atualmente, estamos na verso 3.6 do Kernel do Linux. Normalmente, as verses do Kernel so
batizadas com trs ou quatro nveis de nmeros, que identificam sua gerao. H algum tempo,
tnhamos a verso 2.4 e todas as mini-verses dentro dela, como 2.4.1, 2.4.15, 2.4.29, etc. Hoje,
a verso mais difundida j a verso 6.6 e toda a sua famlia (2.6.3, 2.6.11, etc.).
A mudana da verso 2.4 para a 2.6 trouxe muitas novidades, especialmente no tocante s
tecnologias que o Kernel novo capaz de suportar (redes sem fio, bluetooth, novos dispositivos,
etc.). Essa mudana da gua para o vinho tambm dever ocorrer quando os gurus lanarem
a verso 2.8 e, da 2.8 para a 2.10... Mas, com certeza dever ser muito mais significativa quando
sairmos da verso 2 para a 3, da 3 para a 4, e assim por diante.
Os mantenedores preferiram criar as verses A.b, fazendo o "b" mpar quando querem indicar
que essa verso no est estvel, ou seja, que existe alguma tecnologia nova que est sendo
testada nessa verso. Exemplo prtico: a verso 2.3 trazia novas tecnologias (instveis...tipo
verso beta, ainda) que, quando foram devidamente testadas e aprovadas, deram origem
verso 2.4. A 2.5 tambm precursora da atual 2.6 e, claro, j se est trabalhando na verso 2.7,
a comunidade j iniciou seu desenvolvimento para que, quando as novidades estiverem
perfeitamente funcionais no Kernel, este possa ser batizado de 2.8 e lanado para o pblico em
geral.
Ento basta possuir o Kernel mais atualizado e j usar o Linux diretamente?
No...O Kernel do Linux em si pequeno e no possui todos os aplicativos, apesar de ser o mais
importante, j que ele o sistema em si! Porm, para que o Linux seja utilizvel, necessrio que
existam outros programas que, junto com o Kernel, fazem o sistema completo e amigvel para
um usurio qualquer.
a que entra o Shell (ambiente onde o usurio pode comandar o sistema atravs de comandos
de texto), as interfaces grficas (ambientes que apresentam cones e janelas, como o Windows),
os aplicativos (para digitar textos, construir planilhas, desenhar e acessar a Internet, por exemplo)
e outros mais.
Muitas empresas e programadores obtm o Kernel do Linux e juntam a ele outros programas que
julgam importantes, como aplicativos de escritrio e desenho e at mesmo jogos. Cada uma
dessas mesmas pessoas ou instituies relana o Linux com seu prprio nome, ou com algum
apelido. Esses variados sabores de Linux so as Distribuies Linux.
convencional, os limites de acesso impostos a voc pelo prprio Linux sero responsveis por
conter os programas destruidores. Ou seja, no banalize a conta de root, apenas faa uso dela
em casos necessrios, tais como:
mudanas de configurao, ajustes do sistema, instalao de programas, etc.
Como o Linux exibe suas unidades de disco
Se voc espera ter, no Linux, cones que ajudem-no a acessar a Unidade C:, D:, E: e outras afins,
tire isso da cabea! Aqui, a nomenclatura para as unidades de armazenamento diferente do
Windows. E isso, confie em mim, pode gerar problemas srios!
Veja, na figura abaixo, uma janela aberta do cone Computador, que comum nos
ambientes grficos atuais que funciona como o manjado Windows Explorer existente no
Windows.
a forma de nomenclatura dos discos por parte do Linux no se parece, em nada, com a do
Windows. Enquanto que no Windows, a estrutura de diretrios (pastas) comea em cada
unidade de disco devidamente nomeada (C:, D:, E:, etc.), no Linux, todos os diretrios so
subordinados a um grande diretrio pai de todos: o diretrio (ou pasta) raiz, ou sistema de
arquivo (nessas novas distribuies, essa nomenclatura tambm tem sido usada).
como se o diretrio raiz representasse, simplesmente, o universo dentro do sistema Linux. Os
demais diretrios esto dentro do sistema de arquivo. Para os mais puristas e para os comandos
usados no sistema Linux, comum ainda fazer referncia a esse diretrio principal como /
(barra), simplesmente.
Ento fica fcil: o Linux no tem unidade C:, nem D:, nem E:... Mas tem um nico e grande
depsito de informaes que armazena todos os arquivos e diretrios contidos nas unidades de
disco (Cds, disquetes, DVDs ainda vo continuar existindo, mas, no Linux, no ganham letras
seguidas de dois pontos). Em outras palavras, o diretrio raiz, ou sistema de arquivo, ou ainda /
(barra) o incio de tudo o que est armazenado no computador e a que o Linux tem acesso:
tudo, no computador, est dentro do diretrio raiz! Logo abaixo, segue um resumo com os
principais diretrios e seus contedos:
programas aplicativos. Em outras palavras, quando voc digita algo em um programa de texto
ou planilha, por exemplo, est criando um Arquivo. Mais precisamente, est criando um Arquivo
de Dados.
Arquivos so divididos em alguns tipos:
Arquivos Comuns: podem ser subdivididos em:
Arquivos de Dados: contm dados de diversos tipos, os maiores exemplos so os arquivos que
manipulamos: textos, documentos, planilhas, figuras, fotos, MP3, etc.
Arquivo de texto ASCII: um tipo especfico de Arquivo de Dados, escritos por programas
editores de texto. So arquivos muito simples e s contm texto (caracteres). Esses arquivos no
admitem outro tipo de dado, como figuras ou tabelas. No so possveis nem mesmo as
formataes normais (negrito, itlico e sublinhado). Um arquivo do Word, no um arquivo de
texto ASCII.
Arquivos de Shell Script: so arquivos escritos como textos ASCII, ou seja, em programas editores
de texto. Seu contedo formado por comandos que o Linux consegue interpretar. Esses
arquivos so como roteiros com vrias instrues que o Linux vai executar.
Arquivos binrios (executveis): so arquivos escritos em linguagem de mquina (zeros e uns)
que podem ser executados pela CPU do computador. Esses arquivos so, na verdade,
chamados de programas ou arquivos executveis. Eles no so escritos para serem lidos pelo
usurio, eles so criados para serem compreendidos pelo Linux e executados por ele. Para criar
tais arquivos, deve-se escrever um programa em alguma linguagem (como C, por exemplo) e
compil-lo a fim de que se transforme no arquivo binrio.
Diretrios: Sim, os diretrios (pastas) so considerados arquivos no Linux. O sistema entende que
um diretrio um arquivo especial, que tem em seu contedo um apontador para todos os
arquivos que se mostram dentro do diretrio. A ideia a mesma de uma pasta no Windows: ou
seja, um diretrio uma gaveta onde colocamos outros arquivos (inclusive outras pastas).
Links (Vnculos): uma ideia similar dos atalhos no Windows. Um link um arquivo que aponta
para um outro arquivo qualquer (de qualquer tipo, inclusive diretrio). Um link pode apontar,
inclusive, para outro link. Exemplo: se h um arquivo chamado teste.doc dentro de
/documentos/antigos, voc poder criar um link para ele na pasta raiz, com o nome de teste.
Quando voc quiser fazer referncia ao arquivo, pode-se informar ao programa /teste ou
/documentos/antigos/teste.doc que vai dar no mesmo!
Conforme ilustra figura acima: os cones Captura de Telas e Documentos so diretrios (pastas);
figura.jpg um arquivo de dados (mais precisamente, uma foto); o arquivo bzip2 um arquivo
executvel (binrio); texto e velox.sh so arquivos ASCII (texto puro), a diferena que o
segundo um Shell Script, ou seja, composto de vrios comandos que sero interpretados pelo
shell do Linux; e, finalmente, o arquivo teste1 um link (atalho).
O que vai acontecer quando cada um for aberto (duplo clique no cone)?
Depende do tipo do arquivo: um arquivo de dados (seja ele ASCII ou no) normalmente,
quando recebe o duplo clique que solicita sua abertura, faz o Linux chamar o programa que
capaz de abri-lo. fcil de entender: no Windows, quando ns damos um clique duplo num
arquivo do Word, ele aberto para poder mostrar o arquivo que o usurio executou!
Quando o arquivo for um binrio, o Linux jogar seu contedo na memria principal e comear
a executar os comandos existentes nele (afinal, um binrio um programa compilado um
executvel em linguagem de mquina).
Se o arquivo for um Shell Script, ou outro script qualquer (existem vrios), o Linux se encarregar
de ler e interpretar seu contedo (lembre-se: scripts so roteiros cheios de comandos).
Finalmente, ao se aplicar duplo clique em um link, ele vai apontar para o arquivo original e o
tipo desse arquivo original que definir o comportamento do Linux aps a execuo.
Observao: se o clique duplo for dado numa pasta, ela ser aberta diretamente pelo
programa gerenciador de arquivos (nesta imagem acima, o konqueror. Tipo o Windows Explorer).
Regras para nomenclatura no Linux
No Linux, realmente no h necessidade obrigatria de extenso para os arquivos (binrios,
dados, links, diretrios) existirem e serem identificados como tal. Um arquivo normalmente
identificado pelo seu contedo, ou seja, mesmo que um arquivo se chame somente texto (como
o arquivo mostrado na figura anterior), ele ser identificado como um arquivo de texto puro
(ASCII): note o cone que foi dado a ele!
No significa em absoluto que no Linux no so usadas extenses, porque elas so usadas sim.
Estou apenas ressaltando que, para diferenciar os tipos de arquivos entre si, o Linux, na maioria
das vezes, no precisa da extenso porque analisa o contedo do arquivo para definir seu tipo.
Imagine dois arquivos de imagem (so arquivos de dados): uma foto JPEG (JPG) e uma imagem
GIF. Mesmo que voc no ponha extenses neles, o Linux ser capaz de identific-los por seus
contedos (porque cada arquivo tem uma espcie de estruturano sistema).
Outra caracterstica interessante sobre os nomes dos arquivos que nem sempre h apenas um
ponto no nome. simples: como no h essa rigidez quanto s extenses, no h
obrigatoriedade de identific-las com um ponto, portanto, o ponto um caractere
perfeitamente utilizvel no nome do arquivo. Claro que a seqncia de caracteres que sucede
o ltimo ponto considerada a extenso oficial do arquivo.
comum encontrar, no Linux, arquivos com esses tipos de nome:
ethereal-0.20.10-i486-4jim.tar.gz
Ooo_1.1.83_LinuxIntel_install.pt-br.rpm
Os nomes de arquivos podem ter at 255 caracteres (igual ao Windows).
So aceitos espaos no nome dos arquivos (igual ao Windows).
Praticamente todos os caracteres podem ser usados em nomes de arquivos (incluindo alguns
dos que o Windows julga proibidos, como *, ?...).
No pode haver dois ou mais arquivos com o mesmo nome dentro da mesma pasta (igual ao
Windows).
O Linux possui um sistema de arquivos Case-Sensitive, ou seja, ele diferencia maisculas de
minsculas. Sendo assim, os arquivos Casa, CASA, casa e cASa possuem nomes diferentes (para
o Windows, no h essa diferena: todos os nomes listados acima so iguais!). Normalmente, no
Linux, prefere-se criar arquivos com letras minsculas apenas.
Arquivos ocultos, no Linux, tm seus nomes iniciados com um . (ponto). Em outras palavras,
todos os arquivos que apresentarem seus nomes comeando com um ponto (como em .profile,
ou .segredos), so considerados ocultos (no aparecem nas janelas comuns do gerenciador de
arquivos).
complexa ao mesmo tempo. Mas tal complexidade no deve ser interpretada como dificuldade
e sim como possibilidade de lidar com uma grande variedade de configuraes, o que permite
criar vrios tipos de proteo a arquivos e diretrios.
Como voc j sabe, somente o superusurio (root) tem aes irrestritas no sistema, justamente
por ser o usurio responsvel pela configurao, administrao e manuteno do Linux. Cabe a
ele, por exemplo, determinar o que cada usurio pode executar, criar, modificar, etc.
Naturalmente, a forma usada para especificar o que cada usurio do sistema pode fazer a
determinao de permisses. Sendo assim, neste artigo voc ver como configurar permisses
de arquivos e diretrios, assim como modific-las.
Entendendo as permisses
drwx------ ... 2 wester ............. 512 Jan ... 29 23:30 .. Arquivos/
-rw-rw-r-- ... 1 wester ....... 280232 Dec .. 16 22:41... notas.txt
As linhas acima representam um comando digitado (ls -l) para listar um diretrio e suas
permisses. O primeiro item que aparece em cada linha (drwx----- e -rw-rw-r-) a forma usada
para mostrar as permisses do diretrio Arquivos e do arquivo notas.txt. esse item, que recebe o
nome de string, que vamos estudar. Um ponto interessante de citar que o Linux trata todos os
diretrios como arquivos tambm, portanto, as permisses se aplicam de igual forma para
ambos. Tais permisses podem ser divididas em quatro partes para indicar: tipo, proprietrio,
grupo e outras permisses. O primeiro caractere da string indica o tipo de arquivo: se for "d"
representa um diretrio, se for "-" equivale a um arquivo. Entretanto, outros caracteres podem
aparecer para indicar outros tipos de arquivos, conforme mostra a tabela abaixo:
d => diretrio
b => arquivo de bloco
c => arquivo especial de caractere
p => canal
s => socket
- => arquivo "normal"
Repare agora que no restante da string ainda h 9 caracteres. Voc j sabe o que significa o
primeiro. Os demais so divididos em trs grupos de trs, cada um representado o proprietrio, o
grupo e todos os demais, respectivamente. Tomando a linha 2 do exemplo (-rw-rw-r-),
desconsiderando o primeiro caractere e dividindo a string restante em 3 partes, ficaria assim:
Se o Linux que voc utiliza entra direto no modo grfico ao ser inicializado, possvel inserir
comandos no sistema atravs de uma aplicao de terminal. Esse recurso facilmente
localizvel em qualquer distribuio.
Se o computador que voc acessa no estiver com o modo grfico ativado, ser possvel digitar
comandos diretamente, bastando se logar. Quando o comando inserido, cabe ao
interpretador de comandos (tambm conhecido como shell) execut-lo. O Linux conta com
mais de um, sendo os mais conhecidos o bash e o sh.
Quando um terminal acessado, uma informao aparece no campo de insero de
comandos. importante saber interpret-la. Para isso, veja os exemplos abaixo:
Exemplo 1: [root@profroberto /root]#
Exemplo 2: [profroberto@prof /]$
Observao: dependendo de sua distribuio e de seu shell, a linha de comandos pode ter um
formato ligeiramente diferente do que mostrado nos exemplos. No Ubuntu Linux, por exemplo,
o segundo exemplo fica na seguinte forma:
profroberto@prof: ~$
Nos exemplos, a palavra existente antes do smbolo @ diz qual o nome do usurio que est
usando o terminal (lembre-se de que no Linux necessrio ter um usurio para utilizar o sistema).
Os nomes que aparecem depois do @ indicam o computador que est sendo acessado seguido
do diretrio.
O caractere que aparece no final indica qual o poder do usurio. Se o smbolo for #, significa
que usurio tem poderes de administrador (root). Por outro lado, se o smbolo for $, significa que
este um usurio comum, incapaz de acessar todos os recursos que um administrador acessa.
Independente de qual seja, depois do caractere que o usurio pode digitar os comandos.
Os comandos bsicos do Linux
Agora que voc j sabe como agir em um terminal, vamos aos comandos do Linux mais comuns.
Para utiliz-los, basta digit-los e pressionar a tecla Enter de seu teclado. importante frisar que,
dependendo de sua distribuio Linux, um ou outro comando pode estar indisponvel. Alm
disso, alguns comandos s podem ser executados por usurios com privilgios de administrador.
A relao a seguir mostra os comandos seguidos de uma descrio:
cal: exibe um calendrio;
cat arquivo: mostra o contedo de um arquivo. Por exemplo, para ver o arquivo concurso.txt,
basta digitar cat concurso.txt;
cd diretrio: abre um diretrio. Por exemplo, para abrir a pasta /mnt, basta digitar cd /mnt. Para ir
ao diretrio raiz a partir de qualquer outro, digite apenas cd;
chmod: comando para alterar as permisses de arquivos e diretrios.
clear: elimina todo o contedo visvel, deixando a linha de comando no topo, como se o sistema
acabasse de ter sido acessado;
cp origem destino: copia um arquivo ou diretrio para outro local. Por exemplo, para copiar o
arquivo concurso.txt com o nome concurso2.txt para /home, basta digitar cp concurso.txt
/home/ concurso 2.txt;
date: mostra a data e a hora atual;
df: mostra as parties usadas;
diff arquivo1 arquivo2: indica as diferenas entre dois arquivos, por exemplo: diff calc.c calc2.c;
du diretrio: mostra o tamanho de um diretrio;
emacs: abre o editor de textos emacs;
file arquivo: mostra informaes de um arquivo;
find diretrio parmetro termo: o comando find serve para localizar informaes. Para isso, devese digitar o comando seguido do diretrio da pesquisa mais um parmetro (ver lista abaixo) e o
termo da busca. Parmetros:
name - busca por nome
type - busca por tipo
size - busca pelo tamanho do arquivo
mtime - busca por data de modificao
Exemplo: find /home name tristania
finger usurio: exibe informaes sobre o usurio indicado;
free: mostra a quantidade de memria RAM disponvel;
halt: desliga o computador;
history: mostra os ltimos comandos inseridos;
id usurio: mostra qual o nmero de identificao do usurio especificado no sistema;
kill: encerra processados em andamento.
ls: lista os arquivos e diretrios da pasta atual;
lpr arquivo: imprime o arquivo especificado;
lpq: mostra o status da fila de impresso;
lprm: remove trabalhos da fila de impresso;
lynx: abre o navegador de internet de mesmo nome;
mv origem destino: tem a mesma funo do comando cp, s que ao invs de copiar, move o
arquivo ou o diretrio para o destino especificado;
mkdir diretrio: cria um diretrio, por exemplo, mkdir concursos cria uma pasta de nome
concurso;
passwd: altera sua senha. Para um administrador mudar a senha de um usurio, basta digitar
passwd seguido do nome deste;
ps: mostra os processos em execuo.
pwd: mostra o diretrio em que voc est;
reboot: reinicia o sistema imediatamente (pouco recomendvel, prefervel shutdown -r now);
rm arquivo: apaga o arquivo especificado;
rmdir diretrio: apaga o diretrio especificado, desde que vazio;
shutdown: desliga ou reinicia o computador, veja:
shutdown -r now: reinicia o computador
shutdown -h now: desliga o computador
O parmetro now pode ser mudado. Por exemplo: digite shutdown -r +10 e o sistema ir reiniciar
daqui a 10 minutos;
su: passa para o usurio administrador, isto , root (perceba que o smbolo $ mudar para #);
tar -xzvf arquivo.tar.gz: extrai um arquivo compactado em tar.gz;
telnet: ativa o servio de Telnet em uma mquina. Para acessar esse computador a partir de
outros por Telnet, basta digitar telnet nomedamquina ou telnet IP. Por exemplo: telnet
192.168.0.10. Aps abrir o Telnet, digite help para conhecer suas funes;
top: exibe a lista dos processos, conforme os recursos de memria consumidos;
uname: mostra informaes do sistema operacional e do computador. Digite uname -a para
obter mais detalhes;
useradd usurio: cria uma nova conta usurio, por exemplo, useradd aluno cria o usurio aluno;
userdel usurio: apaga a conta do usurio especificado;
uptime: mostra a quantas horas seu computador est ligado;
vi: inicia o editor de textos vi.
whereis nome: procura pelo binrio do arquivo indicado, til para conhecer seu diretrio ou se
ele existe no sistema;
w: mostra os usurios logados atualmente no computador (til para servidores);