curso sobre o sistema operacional linux - projeto escolas
TRANSCRIPT
-
Cade
rnos
deIn
form
atic
aCURSO DE CAPACITAO EM INFORMTICA INSTRUMENTAL
CURSO DE MONTAGEM E MANUTENO DE COMPUTADORES
CURSO SOBRE O SISTEMA OPERACIONAL LINUX
CURSO DE PROGRAMAO EM JAVA
CURSO DE INTRODUO A BANCOS DE DADOS
CURSO DE CONSTRUO DE WEB SITES
CURSO DE EDITORAO ELETRNICA
CURSO DE ILUSTRAO DIGITAL
CURSO DE PRODUO FONOGRFICA
CURSO DE COMPUTAO GRFICA 3D
CURSO DE PROJETO AUXILIADO POR COMPUTADOR
CURSO DE MULTIMDIA NA EDUCAO
PROJETO ESCOLAS - REFERNCIACompromisso com a Excelncia na Escola Pblica
-
Cade
rnos
deIn
form
atic
a
CURSO SOBRE OSISTEMA OPERACIONAL
LINUXEdsio Costa e Silva
Coordenador:Carlos Eduardo Hermeto de S Motta
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
4
Cade
rnos
de In
form
tica
-
Cade
rnos
de In
form
tica
5
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
Os computadores que esto sendo instalados pela SEE nas escolas estaduais devero serutilizados para propsitos administrativos e pedaggicos. Para isso, desenvolveu-seum conjunto de cursos destinados a potencializar a utilizao desses equipamentos.So doze cursos que esto sendo disponibilizados para as escolas para enriquecimentodo seu plano curricular. Esses cursos no so profissionalizantes. So cursosintrodutrios, de formao inicial para o trabalho, cujo objetivo ampliar o horizontede conhecimentodos alunos para facilitar a futura escolha de uma profisso.
Todos os cursos foram elaborados para serem realizados em 40 mdulos-aula, cada umdeles podendo ser desenvolvidos em um semestre (com 2 mdulos-aula semanais) ouem 10 semanas (com 4 mdulos-aula semanais). Em 2006, esses cursos devero seroferecidos para os alunos que desejarem curs-los, em carter opcional e horrio extra-turno.
Em 2007, eles cursos devero ser includos na matriz curricular da escola, na srie ousries por ela definida, integrando a Parte Diversificada do currculo.
Esses cursos foram concebidos para dar aos professores, alunos e funcionrios umadimenso do modo como o computador influencia, hoje, o nosso modo de vida e osmeios de produo. Para cada curso selecionado pela escola devero ser indicados pelomenos dois ou, no mximo, trs professores (efetivos, de preferncia) para serem capa-citados pela SEE. Esses professores iro atuar como multiplicadores, ministrando-os aoutros servidores da escola e aos alunos.
CURSO DE CAPACITAO EM INFORMTICA INSTRUMENTAL
Este curso ser implantado obrigatoriamente em todas as escolas estaduais em que forinstalado laboratrio de informtica. Iniciando pelas Escolas-Referncia, todos os pro-fessores e demais servidores sero capacitados para que possam fazer uso adequado eproveitoso desses equipamentos tanto na administrao da escola como nas atividadesdidticas.
um curso voltado para a desmistificao da tecnologia que est sendo implantada. Ouso do computador ainda algo difcil para muitas pessoas que ainda no esto muitofamiliarizadas com essas novas tecnologias que esto ocupando um espao cada vezmaior na escola e na vida de todos. Este curso vai motivar os participantes para umaaproximao com essas tecnologias, favorecendo a transformao dos recursos deinformtica em instrumentos de produo e integrao entre gestores, professores edemais servidores. As caractersticas dos equipamentos e as funcionalidades dos pro-gramas sero apresentadas de maneira gradual e num contexto prtico. Essas.situaesprticas sero apresentadas de maneira que o participante perceba o seu objetivo e ovalor de incorpor-las ao seu trabalho cotidiano. Os participantes sero preparados
APRESENTAO
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
6
Cade
rnos
de In
form
tica
para navegar e pesquisar na internet; enviar, receber e administrar correspondnciaeletrnica, alm de criar e editar documentos (textos, planilhas e apresentaes) deinteresse acadmico e profissional. Esse um curso fundamental, base e pr-requisitopara todos os demais.
CURSO DE MONTAGEM E MANUTENO DE COMPUTADORES
Este curso ser implantado em, pelo menos, uma escola do municpio sede de cadaSuperintendncia Regional de Ensino. A indicao da escola dever ser feita pela pr-pria S.R.E, levando-se em conta as condies de infra-estrutura nas Escolas-Refernciaexistentes no municpio. Nas escolas escolhidas ser montado um laboratrio deinformtica especialmente para a oferta desse curso.
O objetivo deste curso capacitar tecnicamente os alunos de ensino mdio que queiramaprender a montar, fazer a manuteno e configurar microcomputadores. Pode ser ofe-recido para alunos de outras escolas, para professores e demais servidores da escola epara a comunidade, aos finais de semana ou horrios em que o laboratrio esteja dis-ponvel.
Neste curso o participante aprender a funo de cada um dos componentes domicrocomputador. Aprender como montar um computador e como configur-lo, insta-lando o sistema operacional, particionando e formatando discos rgidos, instalando pla-cas de fax/modem, rede, vdeo, som e outros dispositivos. Conhecer, ainda, as tcnicasde avaliao do funcionamento e configurao de microcomputadores que esteja preci-sando de manuteno preventiva ou corretiva, alm de procedimentos para especificaode um computador para atender as necessidades requeridas por um cliente.
Dos cursos que se seguem, as Escolas-Referncia devero escolher pelo menos dois paraimplantar em 2006.
No perodo de 13 a 25 de maro/2006, estar disponvel no stio da SEE(www.educacao.mg.gov.br) um formulrio eletrnico para que cada diretor das Escolas-Referncia possa informar quais os cursos escolhidos pela sua escola e quais os profes-sores que devero ser capacitados. Durante o perodo de capacitao, os professoressero substitudos por professores-designados para que as atividades didticas da es-cola no sejam prejudicadas.
1. CURSO SOBRE O SISTEMA OPERACIONAL LINUX
destinado queles que desejam conhecer ferramentas padro do ambiente Unix. umcurso voltado para a explorao e organizao de contedo. So ferramentas tipica-mente usadas por usurios avanados do sistema operacional. Tem por finalidade apre-sentar alguns dos programas mais simples e comuns do ambiente; mostrar que, mesmocom um conjunto pequeno de programas, possvel resolver problemas reais; explicar
-
Cade
rnos
de In
form
tica
7
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
a comunicao entre programas via rede e estender o ambiente atravs de novos pro-gramas. O texto didtico deste curso apresenta os recursos a serem estudados e propeexerccios. um curso para aqueles que gostam de enfrentar desafios.
Ementa: Histrico e desenvolvimento do Unix e Linux. Descrio dos conceitos de arqui-vo e diretrio. Operaes simples sobre arquivos e diretrios. Sistema de permisses equotas.
Procurando arquivos. Executando e controlando programas. Processamnto de texto.Expresses regulares. Estendendo o ambiente. Trabalho em rede. Sistema de arquivoscomo um Banco de Dados.
2. CURSO DE PROGRAMAO EM JAVA
um curso de programao introdutrio que utiliza a linguagem Java. Essa linguagemse torna, a cada dia, mais popular entre os programadores profissionais. O curso foidesenvolvido em forma de tutorial. O participante vai construir na prtica um aplicativocompleto (um jogo de batalha naval) que utiliza o sistema grfico e que pode ser utili-zado em qualquer sistema operacional. Os elementos de programao so apresentadosem atividades prticas medida em que se fazem necessrios. Aqueles que desejamconhecer os mtodos de produo de programas de computadores tero, nesse curso,uma boa viso do processo.
Ementa: Conceitos de linguagem de programao, edio, compilao, depurao e exe-cuo de programas. Conceitos fundamentais de linguagens de programao orientadaa objetos.
Tipos primitivos da linguagem Java, comandos de atribuio e comandos de repetio.Conceito de herana e programao dirigida por eventos. Tratamento de eventos. Pro-gramao da interface grfica. Arrays. Nmeros aleatrios.
3. CURSO DE INTRODUO AO BANCOS DE DADOS
Este curso mostrar aos participantes os conceitos fundamentais do armazenamento,gerenciamento e pesquisa de dados em computadores. Um banco de dados umrepositrio de informaes que modelam entidades do mundo real. O Sistema Gerenciadordo Banco de Dados permite introduzir, modificar, remover, selecionar e organizar asinformaes armazenadas. O curso mostra como os bancos de dados so criados eestruturados atravs de exemplos prticos. Ao final, apresenta os elementos da lingua-gem SQL (Structured Query Language Linguagem Estruturada de Pesquisa) que umalinguagem universal para gerenciamento de informaes de bancos de dados e os ele-mentos bsicos da administrao desses repositrios de informao..Apesar de ser denvel introdutrio, o curso apresenta todos os tpicos de interesse relacionados rea. um curso voltado para aqueles que desejam conhecer os sistemas que gerenciam volu-
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
8
Cade
rnos
de In
form
tica
mes grandes e variados de informaes, largamente utilizados no mundo empresarial.
Ementa: Modelagem de dados. Normalizao. Linguagem SQL. Mecanismos de consulta.Criao e alterao de tabelas. Manipulao e formatao de dados. Organizao deresultados de pesquisa. Acesso ao servidor de bancos de dados. Contas de usurios.Segurana. Administrao de bancos de dados. Manuteno. Integridade.
4. CURSO DE CONSTRUO DE WEB SITES
Este curso mostrar aos participantes como construir pginas HTML que forma a estru-tura de um site na internet. A primeira parte do curso voltada para a construo depginas; a segunda parte, para a estruturao do conjunto de pginas que formao osite, incluindo elementos de programao. Explicar os conceitos elementares da webe mostrar como que se implementa o conjunto de pginas que forma o site numservidor.
Ementa: Linguagem HTML. Apresentao dos principais navegadors disponveis no mer-cado.
Construo de uma pgina HTML simples respeitando os padres W3C. Recursos deformatao de texto. Recursos de listas, multimdia e navegao. Tabelas e Frames.Folha de Estilo. Elementos de Formulrio. Linguagem Javascript. Interao do Javascriptcom os elementos HTML. Linguagem PHP. Conceitos de Transmisso de Site e critriospara avaliao de servidores.
1. CURSO DE EDITORAO ELETRNICA
Voltado para a produo de documentos fsicos (livros, jornais, revistas) e eletrnicos.Apresenta as ferramentas de produo de texto e as ferramentas de montagem de ele-mentos grficos numa pgina. O texto tratado como elemento de composio grfica,juntamente com a pintura digital, o desenho digital e outros elementos grficos utiliza-dos para promover a integrao dos elementos grficos.
O curso explora de maneira extensiva os conceitos relacionados aparncia do textorelativos aos tipos de impresso (fontes). Mostra diversos mecanismos de produodos mais variados tipos de material impresso, de texto comum s frmulas matemti-cas. Finalmente, discute a metodologia de gerenciamento de documentos.
Ementa: Editor de textos. Formatadores de texto. Tipos e Fontes. Gerenciamento deprojetos.
Publicaes. Programas para editorao. Programas acessrios. Impresso. Desenvolvi-mento de um projeto.
-
Cade
rnos
de In
form
tica
9
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
2. CURSO DE ILUSTRAO DIGITAL
Desenvolvido sobre um nico aplicativo de tratamento de imagens e pintura digital, oGIMP (GNU Image Manipulation Program Programa de Manipulao de Imagens GNU).
Este curso ensina, passo a passo, como utilizar ferramentas do programa para produzirilustraes de qualidade que podem ser utilizadas para qualquer finalidade. A pinturadigital diferente do desenho digital. O desenho se aplica a diagramas e grficos, porexemplo. A pintura tem um escopo muito mais abrangente e uma forma de criaomais livre, do ponto de vista formal. basicamente a diferena que h entre o desenhoartstico e o desenho tcnico. , portanto, um curso voltado para aqueles que tm inte-resses e vocaes artsticas.
Ementa: A imagem digital. Espaos de cores. Digitalizao de imagens. Fotomontagem ecolagem digital. Ferramentas de desenho. Ferramentas de pintura. Finalizao e sada.
3. CURSO DE PRODUO FONOGRFICA
Curso voltado para aqueles que tm interesse na produo musical. Explica, atravs deprogramas, como que se capturam, modificam e agrupam os sons musicais para pro-duzir arranjos musicais. um curso introdutrio com uma boa viso da totalidade dosprocedimentos que levam produo de um disco.
Ementa: O Fenmeno Sonoro. O Ambiente Sonoro. A Linguagem Musical. Pr-Produo.O Padro MIDI. A Gravao. A Edio. Ps-processamento. Mixagem. Finalizao.
4. CURSO DE COMPUTAO GRFICA
Curso introdutrio de modelagem, renderizao e animao de objetos tridimensionais.
Esse curso a base para utilizao de animaes tridimensionais em filmes. Conduzidocomo um tutorial do programa BLENDER, apresenta a interface do programa e suasoperaes elementares. Destinado queles que tm ambies de produzir animaes dealta qualidade para a educao ou para a mdia.
Ementa: Introduo Computao Grfica. Conceitos bsicos 2D e 3D. Interface princi-pal do programa Blender. Espao de trabalho. Navegao em 3D. Modelagem em 3D.Primitivas bsicas. Movimentao de objetos. Edio de objetos. Composio de cenas.Materiais e texturas. Aplicao de materiais. UV Mapping. Luzes e Cmeras. Iluminaode cena. Posicionamento e manipulao de cmera. Renderizao still frame. Formatosde sada. Animao bsica. Movimentao de cmera e objetos. Renderizao da anima-o. Formatos de sada.
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
10
Cade
rnos
de In
form
tica
5. CURSO DE PROJETO AUXILIADO POR COMPUTADOR
Os programas de CAD (Computer Aided Design Projeto Auxiliado por Computador) soutilizados para composio de desenhos tcnicos. Diferentemente dos programas depintura eletrnica (como o GIMP), fornecem ao usurio ferramentas para desenhar compreciso e anotar os desenhos de acordo com as normas tcnicas. Alm de ensinar aousurio a utilizar um programa de CAD (QCad), o curso apresenta elementos bsicos dedesenho tcnico e construes geomtricas diversas visando preparar o participantepara um aprimoramento em reas tpicas das engenharias e da arquitetura..Ementa:Informtica aplicada ao desenho tcnico. Conceitos bsicos: construes geomtricas,escalas, dimensionamento, projees ortogrficas e perspectivas. Sistemas de coorde-nadas cartesiano e polar. Novas entidades geomtricas bsicas: polgonos e crculos.
Operaes geomtricas bsicas. Tipos de unidades de medida. Criao de um padro de
formato. Organizao de um desenho por nveis. Construes geomtricas diversas. Ateoria dos conjuntos aplicada ao desenho. Propriedades dos objetos. Edio do dese-nho.
Movimento, rotao, escalamento e deformao de objetos. Agrupamento de objetosem blocos.
6. CURSO DE MULTIMDIA NA EDUCAO
O curso est dividido em trs partes: a) utilizao da multimdia no contexto educa-cional; b) autoria de apresentaes multimdia; c) projetos de aprendizagem mediadapor tecnologia. Este curso o fundamento para a criao dos cursos de educao adistncia.
Apresenta os elementos que compem os sistemas de multimdia, as comunidades vir-tuais de aprendizagem, o planejamento e a preparao de uma apresentao e de umalio de curso e, finalmente, a tecnologia de objetos de aprendizado multimdia.
Ementa: Introduo Multimdia e seus componentes. Multimdia na Educao. Comu-nidades Virtuais de Aprendizagem. Webquest: Desafios Investigativos baseados naInternet (Web).
Preparao de uma apresentao multimdia.
-
Cade
rnos
de In
form
tica
11
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
SUMRIO
Mdulo 1 ................................................................................... 13
Prembulo .......................................................................................... 13
Onde podemos chegar? ......................................................................... 13
Introduo .......................................................................................... 15
Preliminares ........................................................................................ 16
Shell: Introduo ................................................................................. 20
Sistema de Arquivos ............................................................................. 24
Mdulo 2 ................................................................................... 32
Shell: Bsico ........................................................................................ 32
Arquivos padro ................................................................................... 32
ls ....................................................................................................... 41
find .................................................................................................... 44
ln ....................................................................................................... 46
cp & mv & rm ....................................................................................... 47
chown & chmod ................................................................................... 50
Mdulo 3 ................................................................................... 52
file ..................................................................................................... 52
du & df ............................................................................................... 53
mkdir & rmdir ...................................................................................... 56
cmp .................................................................................................... 58
Sistema de Arquivos - Exerccios ............................................................ 59
Mdulo 4 ................................................................................... 60
Processamento de Textos ...................................................................... 60
echo ................................................................................................... 61
cat ...................................................................................................... 62
head & tail .......................................................................................... 64
sort .................................................................................................... 65
cut ..................................................................................................... 68
uniq ................................................................................................... 70
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
12
Cade
rnos
de In
form
tica
Mdulo 5 ................................................................................... 71
tr ....................................................................................................... 71
wc ...................................................................................................... 73
grep ................................................................................................... 74
sed ..................................................................................................... 79
Mdulo 6 ................................................................................... 81
awk .................................................................................................... 81
more & less ......................................................................................... 83
join .................................................................................................... 84
diff ..................................................................................................... 85
Mdulo 7 ................................................................................... 87
Shell: Avanado ................................................................................... 87
Processamento de Textos - Exerccios ..................................................... 90
Mdulo 8 ................................................................................... 92
Acesso a Rede ...................................................................................... 92
Acesso a Rede - Exerccios ..................................................................... 97
Mdulo 9 ................................................................................... 98
Estendendo o Ambiente ........................................................................ 98
Mdulo 10 ............................................................................... 102
O Sistema de Arquivos como Base de Dados ........................................... 102
Os prximos passos ............................................................................ 106
Glossrio ................................................................................. 108
-
Cade
rnos
de In
form
tica
13
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
MDULO 1
PREMBULO
Bem-vindo ao curso de Introduo ao Sistema Operacional Linux!
O nosso objetivo :
1. Antes de mais nada, interessar voc em computao e desmistificar o acesso aoscomputadores
2. Definir o contexto dos sistemas Unix e Linux em particular
3. Apresentar alguns dos programas mais simples e comuns do ambiente
4. Mostrar que, mesmo com um conjunto pequeno de programas, possvel resolverproblemas reais
5. Explicar a comunicao entre programas via rede
6. Estender o ambiente atravs de novos programas
Todo o material apresentado em um ambiente apenas de texto. Se a interface quevoc dispe grfica, utilizaremos um emulador de terminal.
Tentamos organizar o material como uma apresentao, seguida de exemplos, seguidosde exerccios. Os dois ltimos mdulos deste curso so quase desafios. Neles voc po-der verificar a compreeno do material e resolver novos problemas.
ONDE PODEMOS CHEGAR?
Com o material deste curso, mais curiosidade e um pouco de esforo, voc ser capaz decriar um programa capaz de gerenciar receitas. Veja como ele seria usado:
Procurando receitas usando um ingrediente:
mimbar:~:4> Receitas com ovos
001: Abbora sua 016: Misto quente com cobertura 018: Omelete Bsica 020: Piperade 022: Pudim de abacaxi 025: Rolinhos de Siri 027: Salada Dinamarquesa 034: Torta de Fub mimbar:~:5> Receitas com chuchu
Ingrediente chuchu nao encontrado em nenhuma receita!
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
14
Cade
rnos
de In
form
tica
Procurando receitas de um determinado autor:
mimbar:~:6> Receitas de Felipe
004: Cocada 005: Creme de banana e laranja 008: Frango empanado com queijo parmeso 010: Gelado de Morango 012: Lasanha aos Quatro Queijos 015: Manjar de coco com calda de amora 022: Pudim de abacaxi 023: Pudim de maria-mole enriquecido 024: 026: Salada alem 028: Salada colorida 029: Salada da Copa 030: Salada de macarro com brcolis 032: Sanduche pizza 033: Gelado de Morango
034: Torta de Fub
Listando uma receita especfica:
mimbar:~:7> Receitas lista 024
nome: Quibe Autor: Felipe Miranda Autor: Cssia Rodrigues Tipo: Lanche Ingrediente: 500g de patinho modo Ingrediente: 500g de trigo para quibe Ingrediente: 01 cebola mdia picada Ingrediente: salsinha e folhas de hortel a gosto Ingrediente: sal e pimenta-do-reino e malagueta a gosto Preparo: Colocar o trigo de molho em gua quente por 10 minutos. Preparo: Espremer o trigo entre as mos, retirando o excesso de gua. Preparo: Passar na mquina de moer carne a cebola, a salsinha, o hortel, o trigo e a carne por duas vezes (para a massa ficar bem fina). Preparo: Temperar com o sal e as pimentas e enrole.
Preparo: Fritar em leo quente.
Um programa parecido poderia ser criado para gerenciar livros, discos, CDs, fotografias, etc.
Interessa? Ento, mos a obra!
-
Cade
rnos
de In
form
tica
15
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
INTRODUOConceitos
O sistema operacional o encarregado de gerenciar o hardware (equipamento) edisponibiliza-lo de maneira a ser utilizado pelo usurio e seus programas atravs deabstraes (o sistema operacional cria um ambiente simulado onde podemos enviar umdocumento uma impressora sem precisar saber o tipo, modelo e forma de conexo daimpressora). Ele intermedia os acessos ao hardware e pode prover recursos que no sodiretamente disponveis.
O que hoje chamamos de sistema operacional composto de duas camadas:
kernel esta a parte mais bsica do sistema e, em princpio, a nica que conversacom o hardware. Ele prov diversos servios prxima camada.
utilitrios so os diversos programas fornecidos junto com o kernel atravs do qualo usurio interage com o kernel. No meio deles esto tambm programas de adminis-trao e de uso genrico e freqente. Normalmente so pequenas aplicaes.
Os utilitrios podem ser divididos em duas grandes classes:
os bsicos, comuns a maioria dos sistemas e necessrios administrao do ambienteoperacional. Normalmente so programas mais simples e com uma interface bem defi-nida. Eles podem ser usados como blocos de construo para resolver problemas maiscomplexos.
os de usurios, que so aplicaes mais complexas como ambiente grfico, editor detexto, navegao na internet (browser), jogos, etc.
O nosso enfoque ser nos programas bsicos.
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
16
Cade
rnos
de In
form
tica
Preliminares
Antes de alcanar o nosso objetivo, vamos s preliminares. Nas sesses abaixo temosuma referncia rpida a alguns comandos e seqencia de teclas que sero teis duranteo aprendizado. Quando voc tiver uma dvida, pode voltar aqui para procurar a respos-ta (no que todas as respostas estejam aqui...)
Comandos de teclado
Abaixo algumas sequencias de tecladas teis. Ctrl-n quer dizer: pressione a tecla Ctrl edepois a tecla n. Solte a tecla n e a tecla Ctrl.
Ctrl-CCtrl-CCtrl-CCtrl-CCtrl-C cancelar um comando
Ctrl-DCtrl-DCtrl-DCtrl-DCtrl-D indicar fim de dados
Ctrl-UCtrl-UCtrl-UCtrl-UCtrl-U para apagar a linha corrente
Ctrl-SCtrl-SCtrl-SCtrl-SCtrl-S para suspender a impresso
Ctrl-QCtrl-QCtrl-QCtrl-QCtrl-Q para continuar a impresso
Caminhando na Lista de Comandos
Utilizando as setinhas do teclado possvel caminhar na lista de comandos recente-mente digitados. Use
seta para cimaseta para cimaseta para cimaseta para cimaseta para cima para ver um comando anterior
seta para baixoseta para baixoseta para baixoseta para baixoseta para baixo para ver um comando posterior
seta para a esquerdaseta para a esquerdaseta para a esquerdaseta para a esquerdaseta para a esquerda move o cursor para a esquerda
seta para a direitaseta para a direitaseta para a direitaseta para a direitaseta para a direita move o cursor para a direita
No so todos os programas que aceitam as setinhas. As aes acima valem para oba sh e se seu terminal estiver corretamente configurado.
Comandos para Manipular Diretrios
pwdpwdpwdpwdpwd informa o diretrio corrente
findfindfindfindfind procura um arquivo ou diretrio no sistema de arquivos
cdcdcdcdcd muda de diretrio
mkdirmkdirmkdirmkdirmkdir cria um diretrio
rmdirrmdirrmdirrmdirrmdir remove um diretrio vazio
Comandos para Manipular Arquivos
cpcpcpcpcp copia um (ou mais) arquivos
mvmvmvmvmv move (renomeia) um (ou mais) arquivos
rmrmrmrmrm remove um (ou mais) arquivos
-
Cade
rnos
de In
form
tica
17
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
Comandos para Manipular o Contedo de Arquivos
catcatcatcatcat lista um (ou mais) arquivos
cmpcmpcmpcmpcmp compara dois arquivos
sortsortsortsortsort ordena as linhas de um (ou mais) arquivos
wcwcwcwcwc conta o nmero de linhas, caracteres e palavras de um arquivo
Comandos para Utilizar Disquete
mdirmdirmdirmdirmdir lista o contedo do disquete
mcopymcopymcopymcopymcopy copia arquivos de/para um disquete
mdelmdelmdelmdelmdel apaga arquivos em disquete
Notas
Comandos longos para o shell podem ser divididos em mltiplas linhas terminandocada linha, exceto a ltima, com \\\\\ (barra invertida). Neste caso, o prompt muda para > .
Mltiplos comandos podem ser colocados em uma mesma linha separados por ;;;;; (pon-to-e-vrgula).
Apenas um pequeno conjunto de comandos e opes descrito no texto. Maioresinformaes podem ser obtidas atravs do comando manmanmanmanman. Ateno: a traduo das p-ginas dos manuais em portugus , no mnimo, deficiente.
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
18
Cade
rnos
de In
form
tica
Histria
O Linux uma verso de Unix. Existem outras, algumas livres, disponveis gratuita-mente ou com baixo custo e com o cdigo fonte liberado, por exemplo, o Minix, FreeBSDe OpenBSD. E existem as proprietrias, criadas ou mantidas por grandes fabricantes deequipamento ou software. Como exemplo temos o AIX da IBM, o Solaris da Sun e o HP-UX da HP. Foi inicialmente desenvolvido do nada por Linus Torvalds, em 1991. Na-quela poca, ele era um estudante na Finlndia. Ele colocou a verso 0.02 disponvel naInternet e, a partir da, muitas pessoas colaboraram com o seu desenvolvimento. Aindahoje, Linus encabea o projeto no papel de ditador benevolente.
J o Unix foi criado por Ken Thompson e Dennis Ritchie em 1969 no Bell Labs (labora-trio de pesquisa da AT&T). Foi inicialmente criado para jogar Space Travel e rodava emum computador PDP-7 que estava abandonado num canto. O nome Unix veio de umabrincadeira com Multics. O Multics era/seria um sistema operacional muito pretenciosodo qual a AT&T participou. O mu do nome significava Multiplexed (multiplexado, nocaso, dividido em pedaos). Enquanto o Unix seria de um nico pedao.
Em 1973 o sistema foi reescrito para rodar em um computador de maior porte(para a poca), o PDP-11/20. Agora, ao invs de linguagem Assembler, o sistemafoi escrito em C. A idia era que isto facilitaria o eventual transporte do sistemapara novos computadores, e eles estavam certos. Desde o incio o cdigo fonte(programas) estavam disponveis aos funcionrios do Bell Labs. Uma conseqnciadisto era que qualquer usurio que encontrasse um erro ou deficincia no sistemapoderia san-la.
Duas caractersticas marcaram o desenvolvimento do Unix desde o princpio:
o pequeno porte da mquina disponvel
o fato dos primeiros usurios serem programadores.
O fato de a mquina ser pobre em recursos levou a criao de um sistema operacionalenxuto, contendo apenas o necessrio para trabalhar de modo eficiente. Um exem-plo disso o fato das letras maisculas e minsculas serem diferentes e significa-tivas nos nomes dos arquivos (ao contrrio do que acontece no Microsoft Windows).Simplesmente seria necessrio mais cdigo para compara-las caso fossem iguais.
Sendo os usurios programadores (e com todo o cdigo do sistema sempre disponvel)era fcil criar novos programas, corrigir os problemas e testar novas idias. Bons pro-gramadores so tambm preguiosos. Por isto, a maioria dos programas utilitrios tmnomes compostos por duas ou trs letras.
Distribuies
O Ambiente Linux composto do kernel (sistema operacional) linux propriamentedito e um grande conjunto de programas. Dependendo de quem seleciona e empacotao ambiente so criadas distribuies. Algumas das distribuies mais conhecidas so:
Red Hat
SuSE
Debian
-
Cade
rnos
de In
form
tica
19
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
Ubuntu
Turbolinux
Knoppix
Conectiva/Mandrake/Mandriva
Metasys
Cada uma delas tem uma peculiaridade ou foi criada para um tipo especfico de usurio.Veja no glossrio uma rpida descrio das distribuies.
Apesar das diversas distribuies existe um padro para os programas disponveis e sualocalizao no disco. Por isso, possvel usar uma ou outra distribuio sem grandestranstornos. Os exemplos desta apostila foram executados em uma distribuio Debian.Os resultados podem ser diferentes no Metasys, que a distribuio utilizada pela Se-cretaria de Educao. Em particular, as mensagens no Metasys devem aparecer emportugues.
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
20
Cade
rnos
de In
form
tica
SHELL: INTRODUO
Quando se esta utilizando a console (o conjunto de monitor, teclado e mouse) ou umemulador de terminais (um programa, em um ambiente grfico, que simula uma conso-le), existe um programa que interpreta as requisies do usurio. Este programa oshell. Shell em ingls quer dizer casca e faz sentido. O que voc manipula numa ostra oumarisco a concha. E ela protege o ncleo (kernel) do animal.
Um ponto interessante que o shellshellshellshellshell no um programa especial. um programa deusurio como qualquer outro. Se voc quiser pode escrever o seu prprio interpretadorde comandos.
No Linux existem diversos programas shell. O que ns utilizaremos o bashbashbashbashbash (BBBBBourneAAAAAgain SHSHSHSHSHell).
Existem duas formas de utilizar um shell:
modo interativo que veremos a seguir
modo batch, script, lote ou no-interativo que veremos em Shell: Avanado
Modo Interativo
O modo interativo onde o usurio digita um comando e espera a execuo dele antesde passar ao prximo comando. Um exemplo quando se lista o contedo de umdiretrio. Voc digita o comando e l a listagem produzida.
Por exemplo, para saber que horas so podemos fazer o seguinte:
mimbar:~/local/wikit:2> date
Mon May 29 18:52:16 BRT 2006
mimbar:~/local/wikit:3>
datedatedatedatedate o nome do programa que informa a data corrente.
A linha de comando
Pode parecer ultrapassado nos dias de hoje, com todos os recursos grficos dispon-veis, ainda utilizar a linha de comandos. Este um ponto interessante. Existem, pelomenos, trs bons motivos:
a ferramenta (programa) grfica pode no ser capaz de realizar a funo que deseja-mos.
podemos estar acessando o computador atravs de uma conexo de baixa velocidade(linha discada) e o ambiente grfico no funciona bem nestas circunstancias.
as aplicaes grficas podem ser muito pesadaspesadaspesadaspesadaspesadas, demandarem mais recursos do que ocomputador dispe. O computador pode ser mais antigo, ter menos memria ou espaoem disco.
Vamos entrar em detalhes apenas sobre o primeiro motivo.
As ferramentas so timas quando utilizadas para resolver o problema para o qual fo-ram desenvolvidas. Infelizmente elas falham quando o problema um pouco diferente
-
Cade
rnos
de In
form
tica
21
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
do previsto. Um exemplo bem simples:
Voc pode usar uma ferramenta grfica, similar ao Windows Explorer, para descobrirtodos os arquivos com um determinado nome ou extenso (.doc). Mas ela no capazde contar quantos arquivos foram encontrados. Voc precisa fazer isto manualmente(se forem poucos arquivos). Outro exemplo, voc quer renomear (mover) um conjuntode arquivos. A ferramenta pode fazer isto para voc. Mas, e se voc quiser colocar a datade hoje antes dos nomes de arquivos? Voc vai ter que fazer isto arquivo a arquivo.
O grande poder do Unix, e por consequencia do Linux, que existem diversas ferra-mentas (programas) que fazem uma funo e a faz bem feita. E, atravs do shell, existeuma forma de combinar diversas ferramentas para resolver novos problemas.
Executando um programa
Na sua forma mais simples basta digitar o nome do programa que se quer executar. Veja
o exemplo abaixo:
mimbar:~:7> date
Mon Aug 29 17:12:18 BRT 2005 mimbar:~:8>
Vejamos cada uma das linhas acima:
mimbar:~:7>
o PromptPromptPromptPromptPrompt do shell. Ele indica que o shell esta pronto para receber um comando.
date
o comando propriamente dito e
Mon Aug 29 17:12:18 BRT 2005
o resultado da execuo do comando.
mimbar:~:8>
O shell informa que esta pronto para um novo comando.
Caso o programa no exista, o shell envia uma mensagem de erro:
mimbar:~:27> data
-bash: data: command not found
Passando argumentos
Quando o shell recebe uma linha com um comando para executar, ele a divide em pala-pala-pala-pala-pala-vrasvrasvrasvrasvras. As palavras so seqencias de caracteres separadas por seqencias de espaos embranco. A primeira palavra o nome do comando e as prximas (se existirem) os argu-mentos e opes.
Os argumentos modificam a execuo dos comandos. Por exemplo, o comando calcalcalcalcal (decalendario) precisa de dois argumentos, o mes e o ano a ser impresso:
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
22
Cade
rnos
de In
form
tica
mimbar:/usr/share/linux.see:20> cal 12 2005
December 2005
Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Alguns dos argumentos podem ser opes. O primeiro caractere das opes um -----(hfen ou sinal de menos). As opes devem preceder os demais argumentos. Por exem-plo, o comando calcalcalcalcal aceita a opo -m-m-m-m-m faz com que o calendrio seja listado com a segun-
da-feira na primeira coluna. Sem esta opo o domingo aparece na primeira coluna.
mimbar:/usr/share/linux.see:21> cal -m 12 2005
December 2005 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Exerccios
Experimente digitar os seguintes programas, um por linha, terminando cada linha porENTER:
date
whoami
hostname
echo que lindo dia, nao?
pwd
dir
ls
LS
ls -a
echo $SHELL
Os resultados esperados so:
horrio corrente
nome do usurio
nome da mquina
o texto que lindo dia, nao? (sem as aspas). Observe que os espaos entre que e
-
Cade
rnos
de In
form
tica
23
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
lindo foram preservados! As aspas () e os apstrofes ( ) permitem utilizar textoscom espaos como uma unidade (palavra). Veremos mais detalhes adiante.
o diretrio onde voc est (provavelmente /home/usuario veremos isto depois)
talvez um erro, se o programa dir no existir
a lista de arquivos do diretrio corrente
erro. As letras letras minsculas e maisculas so diferentes no Unix. Os comandos sogeralmente em minsculas.
a lista de arquivos do diretrio corrente, incluindo os arquivos ocultos
/bin/bash
Caracteres especiais
Voc reparou que o comando echo sumiu com as aspas? E percebeu que o ltimocomando no escreveu $SHELL? Existem alguns caracteres que so especiais para oshell. Eles so expandidos antes da execuo da linha de comando. Os principais so:
$$$$$ (dollar ou cifro) o identificador a seguir o nome de uma varivel
***** (asterisco) expande para uma lista de arquivos
~~~~~ (til) substitudo pela varivel HOME (o shell original /bin/sh/bin/sh/bin/sh/bin/sh/bin/sh no suporta o ~~~~~)
????? (interrogao) no nome dos arquivos, vale por qualquer caractere
(acento grave) execuo de comando
> (maior) redirecionamento da sada padro
||||| (barra vertical) composio de programas
\\\\\ (barra invertida) protege o prximo caractere
(aspas) texto com substituio de variveis (exemplo: texto entre aspas)
(apstrofe) texto sem substituio de variveis (exemplo: texto entre apstrofes)
((((( (abre-parentesis) sub-shell termina com ) (fecha-parentesis)
!!!!! (exclamao) acesso a histria de comandos (apenas em modo interativo)
Veremos os detalhes mais adiante, na sesso de Shell: BsicoShell: BsicoShell: BsicoShell: BsicoShell: Bsico. Por enquanto, se vocprecisar utilizar um dos caracteres especiais acima, coloque uma barra invertida (\)antes do caractere.
Exerccio
Repita os dois exerccios acima que no imprimiram o resultado esperado protegendoos caracteres especiais.
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
24
Cade
rnos
de In
form
tica
SISTEMA DE ARQUIVOS
O objetivo das tarefas propostas explicar como utilizar o sistema de arquivos do Unix.Explicar o que um arquivo, um diretrio e como manipula-los.
Conceitos
O que um arquivo?
O conceito de arquivo no Unix no difere muito do conceito de arquivo no mundo real. uma coleo de informaes. Estas informaes podem ser homogneas (terem sem-pre o mesmo formato) como as fichas de inscrio (todas iguais). Ou podem ser hetero-gneas (cada qual de tamanho, cor, etc. diferentes) como um agregado de folhas comanotaes.
At o advento do Unix, os sistemas operacionais exigiam que as informaes sobre osdados (que chamados de meta-data) fossem estabelecidas no instante da criao doarquivo e que fossem imutveis. Em alguns sistemas as exigncias eram ainda maisseveras: apenas o administrador podia criar os arquivos e tinha que especificar onde eleseria armazenado, o tamanho de registro e o tamanho mximo do arquivo.
No Unix, o sistema se preocupa apenas em arrumar espao em disco para o arquivo. Eleno faz nenhuma interpretao do seu contedo. Isto permitiu uma grande flexibilidadeaos programas e usurios. Outra caracterstica dos arquivos (e diretrios) no Unix queeles possuem nome. Pode parecer estranho mas havia sistemas onde isso no acontecia.
Apesar de o Unix aceitar quase todos os caracteres no nome de arquivo, deve-se evitaro uso de caracteres acentuados, ponto-e-vrgula (;)(;)(;)(;)(;), espaos em branco e tabulaes,barra-invertida (\) (\) (\) (\) (\) e &&&&& (e comercial). Evite tambm arquivos comeados por hfen oumenos (-)(-)(-)(-)(-).O caractere ponto (.) no especial, no sentido de definir um tipo ou extenso para umarquivo. O nome sistema.de.arquivos.no.Unix perfeitamenta aceitvel. Nomes que co-meam por ponto (.), por conveno no so usualmente listados. Estes nomes sogeralmente utilizados pelos arquivos de configurao dos programas. Mais exemplosem Introduo ao Shell.
Sistema de arquivos
Alguns sistemas operacionais organizam todos os arquivos do sistema em um balaio degato. Todos os arquivos esto juntos. Isto funciona para sistemas pequenos onde sopoucos os arquivos. Os disquetes so um exemplo.
A medida que o nmero de arquivos cresce fica cada vez mais difcil definir nomesnicos aos arquivos e encontr-los. Alm disso, dois usurios no podem ter arquivoscom o mesmo nome.
Outros sistemas dividem os arquivos em duas parties: um conjunto de usurios e,para cada usurio, seus arquivos. Este tipo de organizao inclusive diminui a interfern-cia entre os diversos usurios. Esta estrutura era adotada pelo DOS/BATCH da Digital.
Os sistemas operacionais modernos possuem uma estrutura mais flexvel onde, alm de
-
Cade
rnos
de In
form
tica
25
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
arquivos em um diretrio, podem existir tambm diretrios. Isto permite definir umahierarquia para o armazenamento dos arquivos. Grosseiramente falando, voc pode terum diretrio para a empresa, dentro dele um diretrio para cada departamento, dentrode cada departamento, um diretrio para cada sesso e assim por diante at chegar emdiretrios que s possuem arquivos.
Os diretrios so chamados de pastas no Windows.
O que um diretrio?
Diretrios so utilizados para manter arquivos relacionados juntos. Podem ser arquivosexecutveis (programas), arquivos de dados, arquivos de um projeto ou tema, arquivosde uma determinada data, etc. Distribuindo os arquivos em diretrios facilita a manipu-lao (cpia, acesso, compartilhamento) dos mesmos.
No Unix, e em alguns outros sistemas operacionais, os arquivos so organizados emdiretrios que so, basicamente, arquivos com o nome de outros arquivos. No incio doUnix, os mesmos programas que processavam arquivos texto podiam ser usados paraprocessar diretrios. Depois, por questes administrativas e de segurana isto mudou.Agora os programas mkdir & rmdir so utilizados para criar e remover diretrios.
Estrutura de diretrio
A estrutura de diretrios pode ser imaginada como uma rvore de cabea para baixo.
O ponto de partida chamado raiz (root) e representado por uma barra (/) (/) (/) (/) (/). A partir daesto os outros diretrios que, por sua vez, podem possuir outros diretrios.
Os diretrios abaixo de um diretrio so chamados de filhos. O diretrio imediatamenteacima chamado diretrio pai. Um diretrio pode ter inmeros filhos e apenas um pai.O diretrio pai referenciado com o nome .......... (ponto-ponto).
No caminhar pela rvore de diretrios, usam-se os termos subir (ir para um diretrioanterior (pai)) e descer (ir para um diretrio contido no diretrio em questo(filho)).Diretrios do mesmo nvel e com o mesmo pai so chamados de irmos.
Existe um padro, nem sempre seguido, de estrutura de diretrios do Linux. Ela des-crita em Estrutura de diretrios porque relativamente extensa.
Estrutura de diretrios
Em um sistema Unix tpico existem centenas ou mesmo milhares de arquivos. Diversosdestes arquivos so colocados em posies bem definidas de forma que as pessoas e osprogramas saibam onde achar diversas informaes sobre o sistema.
A estrutura de diretrio organizada como uma rvore de cabea para baixo, ou seja,com a raiz desenhada no nvel mais alto e as olhas no nvel mais baixo.
O caractere / (barra) utilizado como separador dos componentes do nome do arquivo.
/ tambm utilizada para representar o primeiro nvel (raiz) da rvore.
Os principais diretrios so:
///// (raiz) incio do sistema de arquivos
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
26
Cade
rnos
de In
form
tica
/bin/bin/bin/bin/bin utilitrios mais comuns (essenciais)
/dev/dev/dev/dev/dev dispositivos do sistema
/etc/etc/etc/etc/etc informaes e definies do sistema
/home/home/home/home/home diretrio dos usurios
/lib/lib/lib/lib/lib bibliotecas mais comuns
/man/man/man/man/man manuais do sistema
/mnt/mnt/mnt/mnt/mnt ponto de montagem de sistemas de arquivos
/opt/opt/opt/opt/opt pacotes opcionais
/proc/proc/proc/proc/proc situao do sistema
/sbin/sbin/sbin/sbin/sbin utilitrios para o administrador
/tmp/tmp/tmp/tmp/tmp diretrio temporrio
/usr/usr/usr/usr/usr aplicaes/programas/utilitrios de usurios
/var/var/var/var/var arquivos de trabalho
Nem todos estes diretrios precisam existir em todos os sistemas. Existe uma certaflexibilidade. E existe tambm a limitao do espao em disco.
A seguir, descrevemos um pouco mais detalhadamente estes diretrios.
///// A imagem (kernel) do sistema operacional fica aqui. O diretrio do adminis-trador do sistema tambm.
/bin/bin/bin/bin/bin Os utilitrios imprescindveis, sem os quais o sistema no pode funcionar,como ls, cat, grep, cp,mv,rm, bash ficam neste diretrio. Estes programas so usadospelo prprio sistema para manter a casa. Por exemplo, o comando rm utilizado pararemover os arquivos temporrios do diretrio /tmp.
/dev/dev/dev/dev/dev Os diversos dispositivos que o sistema suporta (impressoras, teclado, mouse,sada de som, entre outros) tem sua interface aqui. O arquivo /dev/lp0 um nome co-mum para a primeira impressora do sistema.
Aqui esto tambm pseudo-dispositivos. Os mais famosos so /dev/null, utilizado paradescartar a sada de um programa, e o /dev/zero que retorna um nmero infinito denulos (zeros).
/etc/etc/etc/etc/etc As principais informaes (estticas) do sistema esto neste diretrio. A mai-oria dos arquivos deste diretrio so arquivos texto que podem ser editados pelo admi-nistrador do sistema.Por exemplo, a relao de usurios est no arquivo /etc/passwd.
Voc pode lista-lo com o comando abaixo:
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash sync:x:4:65534:sync:/bin:/bin/sync *** vrias linhas suprimidas ***
Note que o nome e login do usurio esto neste arquivo mas no sua senha! A senha
fica no arquivo /etc/shadow. Vamos lista-lo:
-
Cade
rnos
de In
form
tica
27
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
cat /etc/shadow
cat: /etc/shadow: Permission denied
Este arquivo , por motivos bvios, protegido contra a leitura e escrita. Um usuriocomum no pode l-lo.
Diversos arquivos de configurao dos programas do sistema esto aqui. O /etc/inetd.conf, por exemplo, contm os programas que devem ser disparados quandoum determinado servio (e-mail) solicitado.
/home/home/home/home/home Este o local onde tradicionalmente so criados os diretrios dos diversosusurios do sistema.
Muitas vezes este diretrio est em um ou mais discos a parte permitindo assim que novos
usurios possam ser adicionados ao sistema e tambm para aumentar o espao em disco.
/lib/lib/lib/lib/lib Aqui ficam as bibliotecas, que so arquivos com vrias funes dentro, que soutilizados por vrios programas. As bibliotecas so parecidas com as bibliotecas domundo real. Nelas so compartilhados os livros que so do interesse de diversas pesso-
as. Serve tambm como um repositrio de conhecimento.
/man/man/man/man/man Os manuais dos programas, bibliotecas, arquivos de configurao, entre ou-
tros ficam neste diretrio.
/mn/mn/mn/mn/mnttttt Atualmente caindo em desuso, o diretrio /mnt, o ponto de montagem deoutros sistemas de arquivos. Por exemplo, para se utilizar um disquete no Unix ele pode
ser montado em /mnt/floppy.
/o/o/o/o/optptptptpt Grandes pacotes, opcionais, do sistema so comumente instalados aqui. Os siste-
mas de gerenciamento do ambiente grfico (KDE e GNOME) s vezes so instalados aqui.
/pro/pro/pro/pro/proccccc Nem todo sistema Unix possui este diretrio. Ele foi criado pela Sun parapermitir o acesso, atravs do sistema de arquivo, informaes dinmicas do sistema.Informaes como o processador do sistema (/proc/cpuinfo), sistemas de arquivos su-portados (/proc/filesystems) e dispositivos (/proc/devices) podem ser encontradas aqui.
Ao contrrio dos arquivos em /etc, as informaes aqui mudam sem que o administra-
dor precise edita-las.
/sbin/sbin/sbin/sbin/sbin Utilitrios de uso restrito ao administrador, como criao de novos usurios,
formatao de discos, ficam neste diretrio ao qual normalmente os usurios no tem acesso.
/tmp/tmp/tmp/tmp/tmp s vezes, durante a execuo de um programa, necessria a criao de arqui-vos intermedirios (temporrios) que no precisam serem preservados. Um bom localpara cri-los no /tmp. Periodicamente, normalmente durante a madrugada, ou quan-do a mquina inicializada (boot) este diretrio apagado e recriado. Assim, todos osarquivos no /tmp so perdidos.
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
28
Cade
rnos
de In
form
tica
/usr/usr/usr/usr/usr Utilitrios mais complexos (exemplo: latex) ou menos utilizados (nroff, agrep)e arquivos maiores (fonte do sistema) so colocados aqui. Muitas vezes o /usr umapartio ou um disco a parte. Normalmente montado apenas para leitura. Dentro dele
existem diversos subdiretrios:
/usr/bin/usr/bin/usr/bin/usr/bin/usr/bin mais utilitrios
/usr/lib/usr/lib/usr/lib/usr/lib/usr/lib bibliotecas usadas pelos utilitrios em /usr/bin
/usr/local/usr/local/usr/local/usr/local/usr/local arquivos instalados pelo administrador
/usr/share/usr/share/usr/share/usr/share/usr/share arquivos compartilhados (apenas leitura)
/usr/src/usr/src/usr/src/usr/src/usr/src fonte do sistema e seus utilitrios
Quando diversos computadores esto ligados em rede, o administrador pode optar porcompartilhar este diretrio entre eles. Isto economiza espao em disco e facilita a ins-talao de novos aplicativos. Basta fazer uma instalao e todos os computadores temacesso aos novos aplicativos.
/var/var/var/var/var Nesta partio so colocados os arquivos e diretrios temporrios que devemser preservados quando a mquina reiniciada. As mensagens de e-mail e os arquivosde log (registro de acontecimentos) ficam neste diretrio.
Anteriormente os diretrios /usr e /var eram um s. Com o passar do tempo e o aumen-to do nmero de arquivos eles foram separados. Atualmente o /usr pode ser montadoread-only (acesso apenas para leitura) e o /var montado para escrita. Esta separaodificulta a ao dos vrus, cavalos de Tria e outros problemas de segurana e agiliza ainicializao (boot) da mquina.
Diretrio corrente
Sempre que um programa executado no Unix ele roda no diretrio corrente, que olocal na hierarquia de diretrios onde o shell (e portanto o usurio) esta. Ele referenciado por . (ponto). Quando um usurio entra (loga) no sistema ele usualmentevai para o seu diretrio $HOME. A partir de l, utilizando o comando do shell cd, ele
pode se mover na estrutura de diretrios (rvore de arquivos).
mimbar:/usr/share/linux.see:7> pwd
/usr/share/linux.see
Recaptulando as convenes de diretrios:
..... diretrio corrente
.......... diretrio pai ou diretrio acima
///// diretrio raiz (origem)
~~~~~ diretrio $HOME (nem todo shell ou programa aceita ~)
Referenciando arquivos e diretrios
Como foi dito acima, todos os arquivos e diretrios no Unix possuem, pelo menos, umnome. No texto que segue, no h diferenas entre arquivos e diretrios, portanto, para
-
Cade
rnos
de In
form
tica
29
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
simplificar, falaremos apenas de arquivos.
As referncias aos arquivos podem ser de dois tipos:
absoluta quando o primeiro caractere do nome do arquivo uma barra (/)(/)(/)(/)(/), indican-do que o nome deve ser analisado a partir do diretrio raiz. Exemplo: /var/log/messages
relativa quando o nome do arquivo no comea com /////. Neste caso, o arquivo deveser procurado a partir do diretrio corrente Exemplo: .bash_profile
Supondo que estamos no diretrio /usr/share/linux.see e que ele contm o arquivo
citacao, todos os nomes abaixo acessam o mesmo arquivo:
mimbar:/usr/share/linux.see:9> ls - l citacao
-rw-rr 1 edesio edesio 42 Sep 13 18:48 citacao mimbar:/usr/share/linux.see:10> ls - l ./citacao -rw-rr 1 edesio edesio 42 Sep 13 18:48 ./citacao mimbar:/usr/share/linux.see:11> ls - l ../linux.see/citacao -rw-rr 1 edesio edesio 42 Sep 13 18:48 ../linux.see/citacao mimbar:/usr/share/linux.see:12> ls - l /usr/share/linux.see/citacao -rw-rr 1 edesio edesio 42 Sep 13 18:48 /usr/share/linux.see/citacao mimbar:/usr/share/linux.see:12> ls - l ././././././citacao -rw-rr 1 edesio edesio 42 Sep 13 18:48 ././././././citacao
Outra caracteristica do sistema de arquivos do Unix a homogeneidade. Todos os meiosde armazenamento aparecem na mesma rvore. No h o conceito de discos (C:, D:)(C:, D:)(C:, D:)(C:, D:)(C:, D:) doDOS/WindowsDOS/WindowsDOS/WindowsDOS/WindowsDOS/Windows. Disquetes, fitas, CD-ROMs, at uma impressora, aparecem como arquivosou diretrios.
Permisses dos arquivos e diretrios
A partir do momento em que um computador utilizado por mais de um usurio passaa ser importante definir quem pode fazer o que com os arquivos. E mesmo o que o donodo arquivo pode fazer com ele.
No Unix as permisses de acesso aos arquivos (e diretrios) so divididas em trs con-juntos:
o que o dono do arquivo pode fazer
o que os usurios do mesmo grupo do dono pode fazer
todos os outros usurios
So trs as operaes sobre os arquivos ou diretrios:
r r r r r (Read leitura)
wwwww (Write escrita)
x x x x x (eXecute execuo)
Para ilustrar veja a permisso do diretrio / / / / / (raiz):
mimbar:/usr/share/linux.see:13> ls -ld /
drwxr-xr-x 21 root root 1024 Aug 5 15:59 /
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
30
Cade
rnos
de In
form
tica
d para indicar diretrio
rwx so as permisses para o dono do diretrio
r-x as permisses para usurios do grupo do dono
r-x as permisses para os outros usurios
21 o nmero de sub-diretrios neste diretrio
root o dono
root o grupo do dono
1024 o nmero de bytes (caracteres) que o diretrio ocupa
Aug 5 15:59 a data da ltima alterao (escrita) neste diretrio
/ o nome do diretrio
Detalhes e exerccios sobre este importante assunto sero apresentados em lse chown & chmod.
O administrador do sistema (root) no est limitado s permisses dos arquivos ediretrios!
Horrios dos arquivos e diretrios
Alm de permisses, os arquivos e diretrios no Unix possuem trs horrios (timestand):
atimeatimeatimeatimeatime horrio do ltimo acesso ao arquivo (alterado quando se l)
ctimectimectimectimectime horrio da ltima alterao de status do arquivo (alterado quando o arquivo criado ou quando o dono ou as permisses so alteradas)
mtimemtimemtimemtimemtime horrio da ltima alterao do arquivo (escrita)
Estes horrios podem ser exibidos atravs do programa ls e so teis para fazer backupseficientes (copiando apenas os arquivos novos ou alterados). O comando find permitea identificao destes arquivos.
Observao: algumas implementaes de sistemas de arquivos podem no implementartodos estes horrios ou mante-los atualizados. Por exemplo, no possvel alterar oatime de um arquivo que est em um CD-ROM.
Note que o atime pode ser maior ou menor que o mtime. O shell utiliza isto para detec-tar a chegada de e-mail. Quando uma mensagem nova chega ela escrita no arquivo dacaixa postal do usurio e, portanto modifica o mtime. Se o mtime > atime existe umamensagem nova e o shell informa isto ao usurio logo que possvel. Quando o usuriol a mensagem o atime atualizado e agora temos atime > mtime.
Quotas de espao em disco
Como o espao em disco compartilhado pelos usurios, pode ser importante restringirquanto de espao em disco cada um pode utilizar. Para tal, so definidas quotas. Umavez atingido o limite de sua quota, o usurio tem restries sobre o espao em discoque pode alocar.
-
Cade
rnos
de In
form
tica
31
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
Meio de armazenamento
O sistema de arquivo muitas vezes referenciado como disco. Na quase totalidade dasinstalaes, os arquivos so armazenados em discos rgidos, tambm chamados dewinchesters e HDs. Os disquetes por sua vez so conhecidos como discos flexveis). Omeio fsico onde esta o sistema de arquivo transparente para o usurio, ou seja, eleno precisa saber o meio de armazenamento.
Sistema de Arquivos como Banco de Dados
O sistema de arquivos pode funcionar como um banco de dados (ver Glossrio) emdiversas situaes. Para tal, o que precisamos encontrar uma representao adequadaaos dados. Voltaremos a este tpico mais adiante, aps conhecermos os utilitrios demanipulao de arquivos, diretrios e textos.
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
32
Cade
rnos
de In
form
tica
MDULO 2
SHELL: BSICO
At agora vimos apenas como executar programas simples no Unix, programas queapenas imprimiam alguma coisa no terminal. Mas os programas podem tambm lerinformaes do terminal e emitir mensagens de erro.
H tambm recursos no modo interativo para facilitar a vida do usurio. Veremos al-guns destes recursos aqui.
ARQUIVOS PADRO
Quando um programa executado no Unix ele herda trs arquivos abertos:
stdinstdinstdinstdinstdin entrada padro (descritor 0)
stdout stdout stdout stdout stdout sada padro (descritor 1)
stderr stderr stderr stderr stderr sada de erros (descritor 2)
No modo interativo, o shell associa todos estes arquivos ao terminal do usurio. Maisadiante veremos como enviar o resultado do programa para um arquivo ou impressorae como ler os dados de um arquivo.
O shell um programa como qualquer outro, l a entrada padro e escreve na sadapadro. Quando voc digita o nome de um programa e o shell o executa, o shell para deler e escrever e passa os arquivos padro (entrada, sada e erros) para o programa.Tudo o que voc digitar ser lido pelo programa. E o que o programa escrever aparecerna tela. Quando o programa terminar, o controle do computador retornar ao shell que
voltar a ler e escrever no terminal. Vamos a um exemplo:
mimbar:~:2> wc
Procurando bem Todo mumto tem pereba Marca de bexiga ou vacina E tem piriri, tem lombriga, tem ameba ^D 2 18 101
mimbar:~:3>
O shell estava esperando um comando (indicado pelo prompt mimbar:~:2> ), vocdigitou wc. O programa wc foi executado, leu as primeiras quatro linhas, o Ctrl-D (^D)que indica fim de texto, e imprimiu os nmeors 4 (nmero de linhas no texto), 18(nmero de palavras) e 101 (nmero de caracteres), e terminou. O shell voltou a espe-rar um comando (indicado pelo prompt).
Uma caracterstica de muitos dos utilitrios do Unix que eles so escritos como filtros.Os Filtros lem a entrada padro, processam cada linha do arquivo e escrevem os resul-tados na sada padro. Eventuais erros so enviados para a sada de erros.
-
Cade
rnos
de In
form
tica
33
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
Outros recursos que o shell oferece em modo interativo so: histrico de comandos ecompletar nomes.
Histrico de Comandos
O bash armazena os ltimos comandos que voc digitou. Atravs do recurso de histri-co de comandos voc pode reexecuta-los, com ou sem alterao. Isto muito til quan-do os comandos so mais longos.
Dependendo da configurao do seu terminal, as setinhas para cima e para baixo an-dam no histrico de comandos. As setinhas para a esquerda e para a direita andamdentro da linha. Para inserir um texto, basta digit-lo. Para apagar um texto use a teclaDEL ou BACKSPACK ou ^U (Ctrl-U).
O comando history lista a relao de ltimos comandos. Voc pode repetir o ltimo deles teclando!!. Pode repetir um comando arbitrrio digitando !nnn onde nnn o nmero do comando nalista. Ou pode utilizar !?palavra para repetir o ltimo comando que contm a palavra palavra.
Veja abaixo um exemplo:
mimbar:~:12> cd /usr/share/linux.see
mimbar:/usr/share/linux.see:13> echo $PS1 \h:\w:\#> mimbar:/usr/share/linux.see:14> date Wed Dec 14 22:52:53 BRST 2005 mimbar:/usr/share/linux.see:15> ls Bilhetes assinatura.tcl dominios.txt rascunho.txt Lista-de-Palavras.txt campeoes.txt doms revision-1.txt MaryPoppins-1.txt capitais frutas revision-2.txt MaryPoppins-2.txt cidades mlang10.zip sigla-capital Receitas citacao morse.txt sigla-estado assinatura.pl dict-port.txt mword10.zip assinatura.sh discurso.txt pequeno.dicionario mimbar:/usr/share/linux.see:16> history 5
512 cd /usr/share/linux.see513 echo $PS1514 date515 ls516 history 5
mimbar:/usr/share/linux.see:17> !date date Wed Dec 14 22:53:14 BRST 2005 mimbar:/usr/share/linux.see:18> !?see cd /usr/share/linux.see mimbar:/usr/share/linux.see:19> !513 echo $PS1
\h:\w:\#>
history 5history 5history 5history 5history 5 lista os ultimos 5 comandos.!date!date!date!date!date reexecuta o ultimo comando date!?see!?see!?see!?see!?see reexecuta a ultima linha que contem o texto seeseeseeseesee
Cuidado com a repetio de comandos, principalmente o !? porque voc pode estar nodiretrio errado para o comando!
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
34
Cade
rnos
de In
form
tica
Completar Nomes
Voc pode digitar apenas o incio do nome do programa ou arquivo e o shell o completapara voc. Para isto voc digita o incio do nome e pressiona TAB. Se s existir umaalternativa o shell completa a palavra. Se existir mais de uma soar um beep. Nestecaso, tecle TAB duas vezes para ver a lista de alternativas, digite mais alguns caracterese pressione TAB novamente.
Quando se pressiona TAB na primeira palavra da linha de comando (o nome do progra-ma a executar) o shell tenta fazer a expanso examinando cada alternativa na varivel$PATH (esta e outras variveis so descritas logo abaixo).
Aps a primeira palavra o shell tenta expandir nomes de arquivos no diretrio corrente.
Para cancelar a execuo de um programa, pressione simultaneamente as teclas Ctrl e C.
Por exemplo, digite cd /etc (sem as aspas). Depois digite echo pasTAB. O shellcompletar o comando como echo passwd, porque o nico arquivo que existe nodiretrio /etc que comea com pas passwd. Experimente.
Observao: quando o shell expande um nome de diretrio, com o recurso de completarnomes, ele coloca uma barra (/) para facilitar a digitao de um nome de arquivo.
Variveis
Apertem os cintos que vamos ver um conceito um pouquinho mais complicado agora: variveis.
Pode-se imaginar uma varivel como uma caixa onde se pode guardar um texto. Comopode existir mais de uma caixa, cada caixa tem um nome nico. Por exemplo, voc podeter uma caixa azul onde guarda a conta de telefone e uma caixa vermelha onde guardao telefone da padaria.
Seguindo a metfora da caixa, voc pode pedir a algum: me passe a caixa vermelhae me passe o contedo da caixa vermelha. So duas coisas bem diferentes.
No shell, para voc colocar algo em uma varivel voc utiliza um comando da forma:
nome=value
Exemplo:
mimbar:~:117> PADARIA=3261-3460"
Para obter o valor de uma varivel voc coloca um caractere dollar/cifro ($$$$$) antes do
nome da varivel. Veja:
mimbar:~:118> echo PADARIA
PADARIA
mimbar:~:119> echo $PADARIA
3261-3460
L atrs, em Shell: Introduo, falamos dos caracteres aspas () e apstrofes (). Vejacomo a expanso das variveis se comporta:
-
Cade
rnos
de In
form
tica
35
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
mimbar:~:120> echo $PADARIA
3261-3460
mimbar:~:121> echo $PADARIA
$PADARIA mimbar:~:122> echo O telefone da padaria e $PADARIA O telefone da padaria e 3261-3460
e ainda,
mimbar:~:123> echo \$PADARIA
$PADARIA
Ateno: no pode haver espaos em branco ao redor do sinal de igual (=====)!
E quando usamos variveis? Quando queremos utilizar um texto mais de uma vez. Sevamos utilizar o mesmo texto diversas vezes, podemos coloca-lo em uma varivel ereferenciar a varivel diversas vezes. Outra situao so nos comandos que veremos emShell: Avanado.
Por fim, duas observaes sobre variveis:
elas so efmeras, ou seja, quando o shell termina (ou sua sesso) as variveis soperdidas.
a qualquer momento voc pode alterar o valor de uma varivel, afinal ela no umaconstante :-)
Variveis do shell
O shell suporta e utiliza diversas variveis. Algumas variveis importantes so:
PS1PS1PS1PS1PS1 indicador que o shell esta pronto para receber um comando (prompt) veja abaixo
HOMEHOMEHOMEHOMEHOME diretrio principal do usurio
PATHPATHPATHPATHPATH relao de diretrios onde esto os programas
TERMTERMTERMTERMTERM definio do terminal
Alm destas, existem outras variveis definidas no ambiente que so utilizados poroutros programas. Por exemplo,
EDITOREDITOREDITOREDITOREDITOR editor preferido pelo usurio (ver emacs e vi)
PAGERPAGERPAGERPAGERPAGER programa de paginao (ver more & less)
O usurio pode definir suas prprias variveis, desde que no conflitem com asutilizadas pelo sistema. Por conveno, as variveis do sistema so escritas sempreem maisculas.
As variveis podem ser utilizadas para passar informaes entre programas ou paraarmazenar valores temporrios.
Voc pode listar todas as variveis definidas no ambiente atravs do programa env. Oulistar individualmente com o comando echo $varivel. Exemplo:
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
36
Cade
rnos
de In
form
tica
mimbar:~:1# env
HZ=100
SHELL=/bin/bash TERM=xterm USER=root MAIL=/var/mail/root PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11 PWD=/root PS1=\h:\w:\## SHLVL=1 HOME=/root LOGNAME=root _=/usr/bin/env
mimbar:~:2#
Ou
mimbar:~:2# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11 mimbar:~:3#
O Prompt
Existem na realidade 4 prompts no shell:
PS1 PS1 PS1 PS1 PS1 Este o prompt primrio. Existem algumas seqencias de escape que so expan-didas antes da sua exibio.
\h \h \h \h \h significa o nome do computador
\w \w \w \w \w significa o nome do diretrio corrente
\# \# \# \# \# nmero do comando na histria de comandos
PS2 PS2 PS2 PS2 PS2 Utilizado para indicar que o comando est incompleto. O shell aguarda continuao.
PS3 PS3 PS3 PS3 PS3 Exibido durante o comando [Select].
PS4 PS4 PS4 PS4 PS4 Usado quando o shell est executando em modo de depurao.
Voc pode examinar o contedo destas variveis com o comando
mimbar:/usr/src:26> echo $PS1
\h:\w:\#>
mimbar:/usr/src:27>
E pode alterar com
mimbar:/usr/src:27> PS1=Pronto?
Pronto? pwd
/usr/src
O valor inicial da varivel PS1 (prompt) depende de cada distribuio. Pode ir desde um simples$ at prompts coloridos que ocupam mais de uma linha. Em todo caso, voc pode alterar o valordesta varivel na Configurao do Shell que veremos na sesso Shell: Avanado.
-
Cade
rnos
de In
form
tica
37
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
O prompt deve transmitir alguma informao ao usurio alm de que o shell est prontopara o prximo comando. A definio do prompt nesta apostila \h:\w:\#> . Istopermite saber em que mquina (\\\\\hhhhh) o usurio est (podem existir mais de um emuladorde terminal aberto e cada um deles em uma mquina diferente), qual o diretrio corren-te (\\\\\wwwww) e qual o nmero do comando corrente (\\\\\#####). O nmero do comando corrente til para repetir um comando anterior pelo nmero (!nnn!nnn!nnn!nnn!nnn).
Entrada e Sada
Como dito acima, muitos programas recebem seus dados via entrada padro e escrevemos resultados na sada padro. Porm nem sempre isto desejado, por exemplo, seusdados podem estar gravados em um arquivo. Para estas situaes o shell implementa oredirecionamento. Atravs do redirecionamento o programa l ou escreve em arquivosdefinidos pelo usurio. E isto sem que o programa perceba!
As formas mais comuns de redirecionamento so:
> da sada padro, sobrescreve
>>>>>>>>>> da sada padro, adiciona
2>2>2>2>2> da sada de erros
||||| da sada padro para a entrada padro (pipe)
Vamos dar alguns exemplos utilizando os comandos echoechoechoechoecho, catcatcatcatcat, wcwcwcwcwc e datedatedatedatedate. Estes coman-dos sero detalhados posteriormente. Rapidamente:
echoechoechoechoecho imprime os argumentos
catcatcatcatcat lista o contedo de um arquivo
wcwcwcwcwc conta os linhas, palavras e caracteres de um arquivo
datedatedatedatedate imprime a data corrente
mimbar:~/local/wikit/sh-exemplos:18> ls -l
total 0 mimbar:~/local/wikit/sh-exemplos:19> echo era uma vez... era uma vez... mimbar:~/local/wikit/sh-exemplos:20> echo era uma vez...>historia mimbar:~/local/wikit/sh-exemplos:21> ls -l total 4 -rw-rr 1 edesio edesio 15 Feb 19 21:36 historia mimbar:~/local/wikit/sh-exemplos:22> cat historia era uma vez... mimbar:~/local/wikit/sh-exemplos:23> wc historia 1 3 15 historia mimbar:~/local/wikit/sh-exemplos:24> echo era uma vez... | wc 1 3 15 mimbar:~/local/wikit/sh-exemplos:25> cat date >>historia mimbar:~/local/wikit/sh-exemplos:27> cat historia
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
38
Cade
rnos
de In
form
tica
era uma vez...
Sun Feb 19 21:38:06 BRT 2006
mimbar:~/local/wikit/sh-exemplos:28> date >historia mimbar:~/local/wikit/sh-exemplos:29> cat historia Sun Feb 19 21:38:16 BRT 2006 mimbar:~/local/wikit/sh-exemplos:30> rm historia mimbar:~/local/wikit/sh-exemplos:31> cat historia cat: historia: No such file or directory mimbar:~/local/wikit/sh-exemplos:32> cat historia 2>erros mimbar:~/local/wikit/sh-exemplos:33> ls -l total 4 -rw-rr 1 edesio edesio 41 Feb 19 21:44 erros mimbar:~/local/wikit/sh-exemplos:34> cat erros cat: historia: No such file or directory mimbar:~/local/wikit/sh-exemplos:35> cd .. mimbar:~/local/wikit:36> ls -1 CVS Index.txt Pages dump.log error.txt history linux.see notes.tkd rascunho.txt savelog.txt sh-exemplos should-not-be-here-linux.see tmp wikit.copia wikit.tkd mimbar:~/local/wikit:37> ls -1 | wc -l 15
mimbar:~/local/wikit:38>
O que aconteceu acima? Vejamos usando o nmero do comando como referncia:
#18#18#18#18#18 o diretrio est vazio
#19#19#19#19#19 usamos o echo que escreve na sada padro
#20#20#20#20#20 redirecionamos a sada o echo para o arquivo historia
#21#21#21#21#21 dados do arquivo criado
#22#22#22#22#22 usando o cat para exibir o contedo do arquivo criado
#23#23#23#23#23 contando as linhas, palavras e caracteres do arquivo
#24#24#24#24#24 usando o pipepipepipepipepipe ao invs de um arquivo intermedirio
#25#25#25#25#25 o cat listando a entrada padro (porque foi executado sem argumentos)
#26#26#26#26#26 colocando a data atual no finalfinalfinalfinalfinal do arquivo de historia (adicionado)
#27#27#27#27#27 novo contedo do arquivo historia
#28#28#28#28#28 sobrescrevendo o arquivo historia, o contedo anterior perdido
-
Cade
rnos
de In
form
tica
39
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
#29#29#29#29#29 novo contedo do arquivo historia
#30#30#30#30#30 removendo o arquivo criado
#31#31#31#31#31 tentando exibir o contedo de um arquivo inexistente (erro)
#32#32#32#32#32 a mensagem de erro escrita no arquivo erro
#33#33#33#33#33 contedo do diretrio
#34#34#34#34#34 contedo do arquivo erro
#35#35#35#35#35 movendo para o diretrio acima
#36#36#36#36#36 listando os arquivos do diretrio
#37#37#37#37#37 contando os arquivos do diretrio
Shell Scripts
Um script um roteiro de comandos a executar. No caso de shell script o script executa-do pelo shell. Existem outros interpretadores mas no entraremos em detalhes por agora.
Um shell script um arquivo texto, marcado como executvel (programa) e que tem na primei-ra linha #!/bin/sh#!/bin/sh#!/bin/sh#!/bin/sh#!/bin/sh. O shell l e executa cada uma das linhas e exibe o resultado na tela.
Para que serve um shell script? Um shell script permite automatizar algumas funes.Vamos imaginar que voc quer descobrir qual o arquivo mais recente de um diretrio.
Voc pode utilizar os seguintes comandos:
mimbar:~:18> cd /tmp
mimbar:/tmp:19> ls -1t | head -1 plugtmp-10
mimbar:/tmp:20>
Ou pode criar um script com um editor de texto, como o vi, assim:
mimbar:/tmp:22> cat >mnovo
#!/bin/sh cd $1 ls -1t | head -1 ^D mimbar:/tmp:23> chmod +x mnovo mimbar:/tmp:24> ./mnovo /tmp mnovo
mimbar:/tmp:25>
O script mnovo lista o arquivo mais recente do diretrio passado como argumento.
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
40
Cade
rnos
de In
form
tica
Utilitrios de manipulao de arquivos e diretrios
1. ls listar contedo de diretrio
2. find procurar arquivos
3. ln criar um sinnimo para um arquivo
4. cp & mv & rm copiar, renomear e remover arquivos
5. chown & chmod alterar dono e permisses dos arquivos
6. file informar o tipo de um arquivo examinando seu contedo
7. du & df utilizao de espao em disco
8. mkdir & rmdir criar e remover diretrios
9. cmp comparar dois arquivos
-
Cade
rnos
de In
form
tica
41
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
ls
ls a abreviatura de list. Sua funo listar diretrios.
As principais opes do programa lslslslsls so:
-d-d-d-d-d lista as informaes do diretrio e no do seu contedo
-l-l-l-l-l lista alm do nome, diversas informaes sobre os arquivos
-t-t-t-t-t ordena a lista de arquivos pela data de ltima alterao
-S-S-S-S-S ordena a lista de arquivos por tamanho (decrescente)
-a-a-a-a-a lista os arquivos ocultos
Veja como fica a mesma listagem do diretrio raiz (/////) com as diversas opes:
mimbar:/:2> ls
bin cdrom etc initrd lib media opt root srv tmp var boot dev home initrd.img lost+found mnt proc sbin sys usr vmlinuz mimbar:/:6> ls -a . boot etc initrd.img media proc srv usr .. cdrom home lib mnt root sys var bin dev initrd lost+found opt sbin tmp vmlinuz
Por conveno, os arquivos que comeam por ponto (.....) no so usualmente listados.
Muitos dos arquivos de configurao comeam por (.....)..... Veja em Introduo ao Shell.
mimbar:/:3> ls -l
total 60 drwxr-xr-x 2 root root 2048 Aug 15 18:30 bin drwxr-xr-x 3 root root 1024 Aug 22 14:23 boot lrwxrwxrwx 1 root root 11 Aug 5 15:56 cdrom -> media/cdrom drwxr-xr-x 11 root root 24576 Aug 28 12:44 dev drwxr-xr-x 79 root root 4096 Aug 29 23:23 etc drwxrwsr-x 6 root staff 128 Aug 10 13:04 home drwxr-xr-x 2 root root 1024 Aug 5 15:57 initrd lrwxrwxrwx 1 root root 28 Aug 5 15:59 initrd.img -> boot/initrd.img-2.4.27-2-386 drwxr-xr-x 8 root root 4096 Aug 22 14:21 lib drwxr-xr-x 2 root root 12288 Aug 5 15:56 lost+found drwxr-xr-x 3 root root 1024 Aug 5 15:56 media drwxr-xr-x 15 root root 1024 Aug 5 21:32 mnt drwxr-xr-x 2 root root 1024 Aug 5 15:57 opt dr-xr-xr-x 121 root root 0 Aug 28 12:42 proc drwxr-xr-x 6 root root 1024 Aug 23 11:48 root drwxr-xr-x 2 root root 3072 Aug 22 14:21 sbin drwxr-xr-x 2 root root 1024 Aug 5 15:57 srv drwxr-xr-x 9 root root 0 Aug 28 12:42 sys drwxrwxrwt 9 root root 1024 Sep 2 17:48 tmp drwxr-xr-x 13 root root 1024 Aug 5 20:50 usr drwxr-xr-x 15 root root 1024 Aug 8 16:12 var lrwxrwxrwx 1 root root 25 Aug 5 15:59 vmlinuz -> boot/vmlinuz-2.4.27-2-386
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
42
Cade
rnos
de In
form
tica
Na listagem longa os campos so os seguintes:
1. tipo do arquivo (l)
2. permisses do dono (rwx)
3. permisses do grupo (rwx)
4. permisses dos outros (rwx)
5. nmero de links
6. dono do arquivo
7. grupo do arquivo
8. tamanho em bytes do arquivo
9. data da ltima alterao
10. nome do arquivo
11. nome do destino (em caso de symlink)
O dono e as permisses podem ser alterados atravs dos comandos chown & chmod.
Maiores detalhes no item Sistema de Arquivos.
mimbar:/:5> ls -Sl
total 60 drwxr-xr-x 11 root root 24576 Aug 28 12:44 dev drwxr-xr-x 2 root root 12288 Aug 5 15:56 lost+found drwxr-xr-x 79 root root 4096 Aug 29 23:23 etc drwxr-xr-x 8 root root 4096 Aug 22 14:21 lib drwxr-xr-x 2 root root 3072 Aug 22 14:21 sbin drwxr-xr-x 2 root root 2048 Aug 15 18:30 bin drwxr-xr-x 3 root root 1024 Aug 22 14:23 boot drwxr-xr-x 2 root root 1024 Aug 5 15:57 initrd drwxr-xr-x 3 root root 1024 Aug 5 15:56 media drwxr-xr-x 15 root root 1024 Aug 5 21:32 mnt drwxr-xr-x 2 root root 1024 Aug 5 15:57 opt drwxr-xr-x 6 root root 1024 Aug 23 11:48 root drwxr-xr-x 2 root root 1024 Aug 5 15:57 srv drwxrwxrwt 9 root root 1024 Sep 2 17:48 tmp drwxr-xr-x 13 root root 1024 Aug 5 20:50 usr drwxr-xr-x 15 root root 1024 Aug 8 16:12 var drwxrwsr-x 6 root staff 128 Aug 10 13:04 home lrwxrwxrwx 1 root root 28 Aug 5 15:59 initrd.img -> boot/initrd.img-2.4.27-2-386 lrwxrwxrwx 1 root root 25 Aug 5 15:59 vmlinuz -> boot/vmlinuz-2.4.27-2-386 lrwxrwxrwx 1 root root 11 Aug 5 15:56 cdrom -> media/cdrom dr-xr-xr-x 120 root root 0 Aug 28 12:42 proc drwxr-xr-x 9 root root 0 Aug 28 12:42 sys
mimbar:/:7> ls -lt total 60 drwxrwxrwt 9 root root 1024 Sep 2 17:48 tmp drwxr-xr-x 79 root root 4096 Aug 29 23:23 etc drwxr-xr-x 11 root root 24576 Aug 28 12:44 dev drwxr-xr-x 9 root root 0 Aug 28 12:42 sys
-
Cade
rnos
de In
form
tica
43
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
dr-xr-xr-x 120 root root 0 Aug 28 12:42 proc
drwxr-xr-x 6 root root 1024 Aug 23 11:48 root drwxr-xr-x 3 root root 1024 Aug 22 14:23 boot drwxr-xr-x 8 root root 4096 Aug 22 14:21 lib drwxr-xr-x 2 root root 3072 Aug 22 14:21 sbin drwxr-xr-x 2 root root 2048 Aug 15 18:30 bin drwxrwsr-x 6 root staff 128 Aug 10 13:04 home drwxr-xr-x 15 root root 1024 Aug 8 16:12 var drwxr-xr-x 15 root root 1024 Aug 5 21:32 mnt drwxr-xr-x 13 root root 1024 Aug 5 20:50 usr lrwxrwxrwx 1 root root 28 Aug 5 15:59 initrd.img -> boot/initrd.img-2.4.27-2-386 lrwxrwxrwx 1 root root 25 Aug 5 15:59 vmlinuz -> boot/vmlinuz-2.4.27-2-386 drwxr-xr-x 2 root root 1024 Aug 5 15:57 initrd drwxr-xr-x 2 root root 1024 Aug 5 15:57 opt drwxr-xr-x 2 root root 1024 Aug 5 15:57 srv lrwxrwxrwx 1 root root 11 Aug 5 15:56 cdrom -> media/cdrom drwxr-xr-x 3 root root 1024 Aug 5 15:56 media drwxr-xr-x 2 root root 12288 Aug 5 15:56 lost+found mimbar:/:4> ls -ld drwxr-xr-x 21 root root 1024 Aug 5 15:59 .
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
44
Cade
rnos
de In
form
tica
find
find quer dizer ache/procure. Este utilitrio procura um ou mais arquivos ou diretriosdentro do sistema de arquivos. Ele flexvel para pesquisar por diversos atributos. A
chamada tem esta forma:
mimbar:/usr/share/linux.see:23> find /usr -name rascunho.txt
/usr/share/linux.see/rascunho.txt
As principais opes so:
name padroname padroname padroname padroname padro procura por padro
size tamanhosize tamanhosize tamanhosize tamanhosize tamanho procura por arquivos de um determinado tamanho
xdevxdevxdevxdevxdev no muda de sistema de arquivos
followfollowfollowfollowfollow segue os links simblicos (symlinks)
typetypetypetypetype tipo de arquivo (arquivo, diretrio, symlinks, dispositivos)
maxdepth nmaxdepth nmaxdepth nmaxdepth nmaxdepth n permite limitar a profundidade da pesquisa
Como j vimos, o espao em disco um recurso escasso. O administrador (root) podequerer saber todos os arquivos que ocupam mais de 10 MB (milhes de caracteres) nos
diretrios dos usurios. Ele pode usar um comando como este:
mimbar:/usr/share/linux.see:3> find /home -size +10240k
/home/archive/tar/jre-1_5_0_04-linux-i586.bin /home/archive/linux-2.6.12.3.tar.gz
Ou pode querer encontrar todas as cpias do firefox que esto em disco:
mimbar:/usr/share/linux.see:5> find / -type f -name firefox
/usr/lib/mozilla-firefox/firefox
No caso, s encontrou uma cpia.
Ou listar o primeiro nvel de diretrios abaixo dos diretrios /usr e /var:
mimbar:/:108> find /usr /var -maxdepth 1 -type d
/usr /usr/lost+found /usr/share /usr/bin /usr/doc /usr/games /usr/include /usr/lib /usr/sbin /usr/src /usr/local /usr/X11R6 /var /var/lost+found /var/lib /var/cache /var/backups
-
Cade
rnos
de In
form
tica
45
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
/var/local /var/lock /var/log /var/run /var/spool /var/tmp /var/opt /var/mail /var/www mimbar:/:109>
updatedb/locate
Em sistemas de arquivos muito grandes, o tempo de execuo do find pode ser considervel(vrios minutos). Muitas instalaes executam, durante a madrugada, um script chamadoupdatedb que percorre todo o sistema de arquivos e coleta o nome de cada arquivo (semdistino de tipo). Durante o dia, os usurios podem utilizar o comando locate para encon-trar os arquivos por padro. As informaes retornadas pelo locate podem estar desatualizadas,no contm os arquivos criados desde a execuo do updatedb e ainda contm os arquivosque j foram removidos. Porm, a resposta dele quase instantnea.
Usando o locate:
mimbar:/usr/share/linux.see:10> time locate */firefox
/usr/bin/firefox /usr/lib/mozilla-firefox/firefox
O locate reportou um arquivo a mais que o find (/usr/bin/firefox que um symlink)porque ele no consegue distinguir os tipos de arquivos.A ttulo de exemplo, o comando find acima demorou mais de 9 minutos, enquanto olocate gastou 0.2 segundos.
Exerccio
Quantos arquivos e diretrios existem na sua mquina? Utilize o comando wc (visto emIntroduo ao Shell) para a contagem.
-
CURSO DE INTRODUO AO SISTEMA OPERACIONAL LINUXSecretaria de Estado de Educao MG
46
Cade
rnos
de In
form
tica
ln
No Unix em geral, e no Linux em particular, o contedo de um arquivo esta, num certo sentido,dissociado do seu nome. Como vimos no item Sistema de Arquivos, os diretrios armazenam o nomedo arquivo e um apontador para o seu contedo. Ento poderamos ter dois (ou mais) nomescompartilhando o mesmo apontador e, portanto, o mesmo contedo. O ln realiza esta funo.
ln vem de link, que quer dizer conectar. Na nossa rea, pensamos mais em apontar. Onome de um arquivo aponta para seu contedo.
Um arquivo pode ter um ou mais link. O programa ls exibe esta informao. Os diretriostambm possuem links. Na realidade, possuem pelo menos dois:
um vem do diretrio pai (..........) (que o antecede na hierarquia de diretrios)
o outro vem dele mesmo (.....) (cada diretrio aponta para si mesmo)
Quando de linka um arquivo, o nmero de links incrementado. Quando se remove um link(arquivo) [veja cp & mv & rm] o nmero decrementado. Apenas quando o nmero de linkschega a zero o contedo do arquivo removido e a rea em disco ocupada por ele liberada.
S se podem criar links (hardlinks) para arquivos. Uma vez criado o link, o nome novoe o nome velho