Baixe o app para aproveitar ainda mais
Prévia do material em texto
Apostila do Curso de Linux B � asi o Ma´rcio Rodrigo de Freitas Carneiro Livio Baldini Soares ii Sum�ario 1 Con eitos b�asi os 1 1.1 Mas o que �e o sistema opera ional? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 O que �e UNIX e Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 O que �e uma distribui� ~ao? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Partes do GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4.1 O n�u leo do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4.2 O restante | GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4.3 A Filoso�a GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5 Usu�arios, grupos e senhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5.1 Tipos de usu�arios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5.2 Entrando no sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5.3 � Area do usu�ario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.5.4 Arquivos importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.5.5 Comandos rela ionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.5.6 Criando um novo grupo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5.7 Alterando a senha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.6 A intera� ~ao om o usu�ario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.6.1 Console virtuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.6.2 O interpretador de omandos | shell . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.7 O sistema de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.8 Tipos de arquivos no sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.8.1 Arquivo omuns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.8.2 Diret�orios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.8.3 Liga� ~oes simb�oli as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.8.4 Outros tipos espe iais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.9 Visualizando arquivos texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.9.1 O omando at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.9.2 O omando more . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.9.3 O omando less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.9.4 O omando reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.10 Te las importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.11 Informa� ~oes e ajuda ini iais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.11.1 P�aginas manuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.11.2 Se� ~oes das p�aginas manuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.12 Computadores em rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.13 Exer �� ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 iii iv SUM � ARIO 2 Comandos b�asi os 17 2.1 Manipula� ~ao de arquivos e diret�orios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.1.1 Listagem: o que h�a no dis o? | O omando ls . . . . . . . . . . . . . . . . . . . . . . 17 2.1.2 Como mudar de diret�orio? | O omando d . . . . . . . . . . . . . . . . . . . . . . . 18 2.1.3 E para riar um diret�orio? | O omando mkdir . . . . . . . . . . . . . . . . . . . . . 19 2.1.4 E para remover um diret�orio? | O omando rmdir . . . . . . . . . . . . . . . . . . . . 19 2.1.5 E para mover arquivos ou diret�orios? | O omando mv . . . . . . . . . . . . . . . . . 19 2.1.6 E para apagar um arquivo? | O omando rm . . . . . . . . . . . . . . . . . . . . . . 20 2.1.7 E para opiar arquivos? | O omando p . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.1.8 Mas o que s~ao liga� ~oes (links)? | O omando ln . . . . . . . . . . . . . . . . . . . . . 20 2.1.9 Como sei em que diret�orio realmente estou? | O omando pwd . . . . . . . . . . . . 22 2.2 Mas o que �e um omando? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.1 O omando e ho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.2 Os omandos whi h e type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3 Fa ilitando a vida { riando apelidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.1 De�nindo um apelido, o omando alias . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.3.2 Removendo um apelido, o omando unalias . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4 Exer �� ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4.1 Os mais simples: mkdir e rmdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4.2 Passeio | d e pwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4.3 O mais omplexo: ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4.4 C�opias, e mais �opias | p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4.5 Cria� ~ao de liga� ~oes | ln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3 Arquivos e pro essos 27 3.1 Permiss~oes e posse de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.1 Como veri� ar permiss~oes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1.2 Altera� ~ao de usu�ario ou grupo na exe u� ~ao . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1.3 Como alterar posse? | O omando hown . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1.4 Como alterar o grupo? | O omando hgrp . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.5 E para alterar permiss~oes? | O omando hmod . . . . . . . . . . . . . . . . . . . . . 29 3.1.6 E na ria� ~ao de arquivos? | O omando umask . . . . . . . . . . . . . . . . . . . . . 31 3.2 Pro essos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.1 Visualizando pro essos e suas propriedades | O diret�orio /pro . . . . . . . . . . . . 31 3.2.2 Listagem de pro essos | O omando ps . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2.3 O omando top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3 Sinais no Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.1 O omando kill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.2 Prioridades { o omando ni e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3.3 Alterando prioridade de pro esso { o omando reni e . . . . . . . . . . . . . . . . . . . 38 3.4 Trabalhos (jobs) do bash . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.4.1 Como obter informa� ~oes sobre trabalhos? | O omando jobs . . . . . . . . . . . . . . 39 3.4.2 Primeiro e segundo planos | Os omandos bg e fg . . . . . . . . . . . . . . . . . . . . 40 3.5 Exer �� ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4 Redire ionamento e bus a de padr~oes 43 4.1 Arquivos padr~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2 Redire ionamento para arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.2.1 Con atena� ~ao de arquivos | O omando at . . . . . . . . . . . . . . . . . . . . . . . 44 4.3 Redire ionamento para pro essos (pipes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.3.1 Filtro de ordena� ~ao | O omando sort . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 SUM � ARIO v 4.3.2 Filtro de sele� ~ao | O omando ut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.3.3 Dupli ando a entrada | O omando tee . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.4 Bus a de padr~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.4.1 Padr~oes do bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.4.2 Express~oes regulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.4.3 O omando grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.5 Exer �� ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5 Ambiente gr�a� o no Linux 51 5.1 O X Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.1.1 O sistema de ini iliza� ~ao do X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.1.2 Abrindo outro X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.1.3 Display e o omando xhost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.1.4 Tamanho e posi� ~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.1.5 Cores e o omando showrgb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.1.6 Fontes e o omando xlsfonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.2 Geren iadores de janelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.2.1 O geren iador Fvwm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.2.2 O geren iador AfterStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.2.3 O geren iador Window Maker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.2.4 O geren iador Enlightenment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.3 Ambientes de trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.3.1 O sistema KDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.3.2 O sistema Gnome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.4 Altera� ~ao do geren iador de janelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6 Instalando o Linux (Debian) 57 6.1 Pegando uma distribui� ~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.2 Es olhendo o te lado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.3 Parti ionar um Dis o R��gido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.4 Ini ializando e ativando uma parti� ~ao de swap . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.5 Ativando uma parti� ~ao Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.6 Instalar o kernel e os m�odulos dos dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.7 Con�gurando os m�odulos dos dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.7.1 A entrada /pro /p i e o omando ls pi . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.8 Instalar a rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.9 Instalar o sistema base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.10 Deixar o sistema boot�avel e ria� ~ao do disquete de res ue . . . . . . . . . . . . . . . . . . . . 60 6.10.1 O LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.10.2 O GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.11 Instala� ~ao de pa otes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.11.1 Pa otes { RPM e DEB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.11.2 Debian e os omandos dpkg, dsele t e apt-* . . . . . . . . . . . . . . . . . . . . . . . . 63 6.11.3 RedHat/Cone tiva e os omandos rpm, managerpm e apt-* . . . . . . . . . . . . . . . . 64 6.11.4 O alien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.12 Con�gura� ~ao do X Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.12.1 O omando SuperProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.12.2 O apli ativo xf86 on�g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.12.3 O apli ativo X on�gurator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.12.4 O apli ativo XF86Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.12.5 O omando xvidtune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 vi SUM � ARIO 6.13 Exer �� ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7 Ferramentas e apli ativos 69 7.1 Apli ativos gen�eri os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.1.1 O omando �le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.1.2 Os omandos gzip e gunzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.1.3 Os omandos bzip2 e bunzip2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.1.4 O omando tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.2 Navega� ~ao na teia | WWW e HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.2.1 Navegadores gr�a� os | Nets ape, konqueror, galeon e nautilus . . . . . . . . . . . . . . 72 7.2.2 Navegadores texto | Lynx e w3m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.3 Editores de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.3.1 O editor Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.3.2 O editor Joe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.4 Visualiza� ~ao de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.4.1 O formato PostS ript e o gv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.4.2 O formato DVI e o xdvi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.4.3 O Portable Do ument Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.4.4 Formatos de �guras| JPEG, GIF e PNG . . . . . . . . . . . . . . . . . . . . . . . 74 7.5 Impress~ao de arquivos na rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 7.5.1 Convers~ao de arquivos texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 7.5.2 Convers~ao de arquivos DVI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 7.5.3 Como imprimir na rede? | O omando lpr, lpq e lprm . . . . . . . . . . . . . . . . . . 75 8 Ema s 79 8.1 O que o Ema s faz? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 8.2 In�� io no programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 8.3 A apar^en ia do Ema s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 8.4 Comandos e atalhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 8.4.1 Movimenta� ~ao no texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.4.2 Arquivos e ajuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 8.4.3 Edi� ~ao de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 8.5 Modos de opera� ~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 8.5.1 O pa ote Au -T E X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 8.5.2 Os modos C e C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 8.5.3 O pa ote JDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 8.5.4 Preen himento autom�ati o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.5.5 Colora� ~ao auxiliar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.6 Mais ferramentas �uteis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.6.1 Bus a e tro a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.6.2 Corre� ~ao ortogr�a� a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 9 Pro essamento de texto | L A T E X 89 9.1 Edi� ~ao e pro essamento de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 9.2 Os pro essadores T E X e L A T E X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 9.3 B�asi o do L A T E X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 9.3.1 Fun ionamento dos ara teres espe iais . . . . . . . . . . . . . . . . . . . . . . . . . . 90 9.3.2 A estrutura do arquivo .tex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 9.3.3 Classes de do umentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 9.3.4 Pa otes adi ionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 9.4 Formata� ~ao do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 SUM � ARIO vii 9.5 S��mbolos espe iais e a entos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 9.6 Parti ionamento do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 9.7 Ambientes (environment) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 9.7.1 Ambiente matem�ati o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 9.7.2 Gera� ~ao de tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.7.3 Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.8 O L A T E X faz sozinho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.9 Prin ipais arquivos do L A T E X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9.10 Comandos rela ionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 10 M�odulos e dispositivos 97 10.1 Ini ializa� ~ao do Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 10.1.1 O omando dmesg e o arquivo /var/log/syslog . . . . . . . . . . . . . . . . . . . . . . 97 10.1.2 O init e o arquivo /et /inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 10.2 M�odulos do kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 10.2.1 O omando lsmod e o arquivo /pro /modules . . . . . . . . . . . . . . . . . . . . . . . 100 10.2.2 Carregando um m�odulo { os omandos insmod e modprobe . . . . . . . . . . . . . . . . 100 10.2.3 Removendo um m�odulo { o omandos rmmod . . . . . . . . . . . . . . . . . . . . . . . 101 10.3 Montagem de dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 10.3.1 O omando mount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 10.3.2 O omando umount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 10.3.3 O arquivo /et /fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 10.4 Exer �� ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 11 Desenvolvimento I - S ripts 105 11.1 O que �e um s ript? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 11.2 O sh e o bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 11.2.1 Sintaxe geral do bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 11.2.2 Pipes | riando omuni a� ~ao entre os omandos . . . . . . . . . . . . . . . . . . . . . 106 11.2.3 Lista de omandos | exe utando omandos sequen ialmente . . . . . . . . . . . . . . 106 11.2.4 Intera� ~ao | until, while, e for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 11.2.5 Condi ionais | if, ase, e sele t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 11.2.6 De larando fun� ~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 11.2.7 Vari�aveis padr~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 11.3 O Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 11.4 Exer �� ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 � Indi e Remissivo 109 viii SUM � ARIO Cap��tulo 1 Con eitos b�asi os Vamos introduzir aqui alguns on eitos b�asi os, tanto de omputadores em geral, quanto do UNIX pro- priamente dito. Mas antes ainda, um pou o do hist�ori o e de de�ni� ~oes. 1.1 Mas o que �e o sistema opera ional? Para o omputador poder exe utar programas e interagir om o usu�ario, �e ne ess�ario a existe^n ia de um programa que realize uma interfa e entre o programador e a m�aquina. Assim, um programador pode ainda desenvolver produtos que permitam o usu�ario utilizar a m�aquina de forma pr�ati a e r�apida. O sistema opera ional �e o programa que forne e ao programador um interfa e pr�ati a para o uso dos �odigos do omputador, al�em de proteger a m�aquina de opera� ~oes indesej�aveis, isto �e, limitar o a esso dos usu�arios aos re ursos dispon��veis. A tarefa de permitir que v�arios pro essos exe utem simultaneamente (isto �e, a simula� ~ao de que a m�aquina pode exe utar mais de uma opera� ~ao ao mesmo tempo) tamb�em �e tarefa do sistemaopera ional. Alguns exemplos de sistemas opera ionais bastante onhe idos no mer ado s~ao: DOS, Windows, Ma hin- tosh OS, e a fam��lia de UNIX (Linux, BSD, Solaris, et .). Apesar de alguns sistemas ompletos, que in luem a interfa e om o usu�ario, serem hamados de sistema opera ional, em geral, apenas o �odigo b�asi o, que prove a opera ionabilidade da m�aquina deve ser on- siderado. V�arios paradigmas s~ao utilizados para o desenvolvimento de um sistema opera ional, e veremos prin ipalmente a id�eia por tr�as do Linux. 1.2 O que �e UNIX e Linux? O UNIX, hoje, �e prati amente um modelo de sistema opera ional, multiusu�ario e multitarefa, que foi riado pela primeira vez em 1969, por Ken Thompson e Dennis Rit hie. O nome na verdade �e antago^ni o a sua ara ter��sti a de multitarefa, mas por ser o nome ini ial do sistema, que ini ialmente era bastante simples, e apenas exe utava pro essos sequen ialmente. Nesses 30 anos de existe^n ia, v�arias vers~oes foram desenvolvidas. Grande empresas e institui� ~oes de ensino investiram em implementa� ~oes pr�oprias, mas sempre seguindo a mesma id�eia, prin ipalmente em rela� ~ao a interfa e om o usu�ario e om o programador. Hoje, os sistemas omer iais mais onhe idos s~ao o Solaris da Sun, o HP-UX da Hewlett Pa kard, o Irix da Sili on Graphi s, In . e o True-64 da Digital. Al�em disso, o famoso BSD (que ont�em v�arias rami� a� ~oes), desenvolvido em Berkley, se mant�em bastante presente, prin ipalmente por ser gratuito. Com a populariza� ~ao do UNIX e re onhe imento de que o UNIX era um sistema opera ional muito poderoso e ex��vel foi riado um onjunto de interfa es padr~oes para sistemas opera ionais. Esse padr~ao, o mais re onhe ido at�e hoje, teve sua primeira vers~ao lan� ada em 1989, e �e hamado de POSIX (Portable 1 2 CAP � ITULO 1. CONCEITOS B � ASICOS Operating System Interfa e, originalmente a sigla era, Portable Operating System for Unix). O POSIX foi totalmente baseado no UNIX, apesar de ter algumas mudan� as om rela� ~ao aos primeiros Uni es. O POSIX surgiu prin ipalmente porque haviam diversas pequenas diverge^n ias om rela� ~ao aos Uni es dispon��veis na �epo a, e havia uma ne essidade de padroniza� ~ao das interfa es dos sistemas opera ionais para que os apli ativos n~ao pre isassem ser rees rito para ada sabor de UNIX diferente. O POSIX de�ne tanto interfa es om as apli a� ~oes omo alguns aspe tos de interfa e b�asi a om o usu�ario e alguns outros aspe tos. Dessa forma, se uma apli a� ~ao utilizar apenas re ursos de�nidos no POSIX, este programa deveria rodar sem problemas em todos os sistemas opera ionais ompat��veis om o POSIX. O POSIX se tornou muito importante e todos os Uni es riados desde sua ria� ~ao tentam manter ompatibilidade om ele. O pr�oprio Windows NT da Mi rosoft que n~ao tem ara de UNIX tem ompatibilidade om o padr~ao POSIX, tamanha sua importa^n ia. Um pou o mais tarde, em 1991, o estudante de omputa� ~ao �nlande^s Linus Torvalds, ursando sua gradua� ~ao, foi introduzido ao Minix. O Minix �e um sistema opera ional om �ns edu ativos es rito pelo Andrew Tanembaum, tamb�em baseado no UNIX, s�o que muito mais simpli� ado, para o entendimento de seus alunos. O Linus, usando omo base oMinix, es reveu um kernel pequeno, baseado em seu onhe imento de sistemas opera ionais. Sua id�eia era o desenvolvimento de um sistema gratuito, que pudesse ser utilizado nos omputadores 386, simples, mas baratos, que estavam dispon��veis para o seu uso, baseando-se no UNIX. Ao disponibilizar na Internet o seu �odigo, muitas pessoas a haram interessante, e um desenvolvimento em onjunto ome� ou a ser realizado. Em apenas alguns anos, o sistema j�a estava bastante utiliz�avel. Hoje, 10 anos depois, o Linux j�a pode ser usado em diversas plataformas, e suporta uma grande variedade de equipamentos. 1.3 O que �e uma distribui� ~ao? Com a popularizal� ~ao do Linux houve a ne essidade de riar-se formas de instala� ~ao simples. Al�em disso existiu a ne essidade de instalar os apli ativos que o Linux rodava. S�o que, nem todos os usu�arios tem tempo e energia para pegar o �odigo fonte, ompilar o programa, instalar os programas em lugares devidos, e fazer a on�gura� ~ao desses apli ativos. Outro aspe to �e a atualiza� ~ao dos apli ativos que podem ser bastante frequente. As distribui� ~oes surgiram om esse prop�osito. Fa ilitar a instala� ~ao e manutan� ~ao do sistema Linux. Uma distribui� ~ao geralmente ont�em um sistema de instala� ~ao ini ial, e al�em disso um sistema para manu- ten� ~ao de apli ativos, isto �e, in lus~ao, remo� ~ao ou atualiza� ~ao de apli ativos no sistema. Para isso foi riado a id�eias de pa otes. Hoje em dia todas as distribui� ~oes te^m omo base entral um sistema de pa otes. Um pa ote �e o en apsulamento de um apli ativo, ompontente, ou bibliote a, j�a ompilado. Ele tamb�em ont�em uma vers~ao, pr�e-requisitos de instala� ~ao e pequenos \s ripts" que realizam sua instal� ~ao ou remo� ~ao. Existem grandes grupos se formaram om esse objetivos. Alguns s~ao omer iais, ou outros n~ao e geral- mente possuem alguma ara ter��sti a �uni a om rela� ~ao �as outras. As distribui� ~oes mais famosas e utilizadas atualmente s~ao (em ordem alfab�eti a): Cone tiva No Brasil, a empresa Cone tiva montou uma distribui� ~ao baseada na RedHat. Agora a Cone tiva �e a maior empresa de Linux em toda Am�eri a Latina, tamb�em ofere endo ursos. Fi ou mundialmente famoso por portar o sistema APT (originalmente da Debian) para os pa otes RPM. Site: www. one tiva. om.br. Corel Linux Essa distribui� ~ao foi baseada na Debian e feita pela famosa empresa Corel. Site: li- nux. orel. om. Debian Essa distribui� ~ao �e totalmente mantida por volunt�arios por volta do mundo todo, e �e onsagrada omo a distribui� ~ao mais est�avel que existe. Considerada uma das distribui� ~oes mais \puras" e pode exigir um pou o mais de onhe imento do usu�ario, entretanto, tem sistema de atualiza� ~ao bem mais transparente do que as outras. Site: www.debian.org 1.4. PARTES DO GNU/LINUX 3 Mandrake Distribui� ~ao tamb�em baseada naRedHat, bastante famosa. Site: www.linux-mandrake. om RedHat Essa deve ser a distribui� ~ao mais utilizada no mundo todo. � E um sistema muito f�a il para instalar pela primeira vez, portanto a RedHat e as distribui� ~oes baseadas nela, s~ao re omentadas para a instala� ~ao por um usu�ario novato. Site: www.redhat. om Sla kware Distribui� ~ao muito famosa no in�� io do Linux, mas hoje em dia o interesse por essa distribui� ~ao aiu bastante, e tamb�em o seu desenvolvimento. Site: www.sla kware. om SuSE Distribui� ~ao ini ialmente baseada na Debian, ofere e diversos servi� os, e um sistema de instala� ~ao um pou o mais amig�avel. Site: www.suse. om Essas distribui� ~oes, em geral, podem ser instaladas por diversas maneiras. As duas maneiras mais omuns de instal� ~ao �e via um (ou alguns) CD, e a outra �e pela rede (Internet). Geralmente todas as distribui� ~oes disponibilizam, gratuitamente, toda distribui� ~ao em algum servidor, e pode ser baixada. Para quem tem a esso a banda larga esse m�etodo pode ser muito bom. Mas para as pessoas que queiram instalar em asa ou em algum lo al sem banda larga �e desej�avel utilizar CD's om a distribui� ~ao. Hoje em dia os CD's das diversas distribui� ~oes podem ser en ontrados em sites de vendas, livrarias de inform�ati a, ou �as vezes at�e em revistas de inform�ati a espe ializadas em Linux. 1.4 Partes do GNU/Linux Hoje o GNU/Linux �e um sistema bastantepopular, prin ipalmente pelo fato de ser gratuito e livre, e pelos meios de omuni a� ~ao ajudarem nessa divulga� ~ao. Entretanto, as pessoas se referem ao sistema todo omo Linux, o que �e in orreto. O Linux �e apenas uma parte do sistema, �e o n�u leo do sistema opera ional, e o restante s~ao programas desenvolvidos para a mais diversas fun� ~oes. 1.4.1 O n�u leo do sistema Como dito, apenas o �odigo prin ipal do sistema �e o Linux. Esse �odigo �e hamado de kernel ou n�u leo. No Linux, esse �odigo �e monol��ti o, isto �e, um grande blo o de �odigo �e ompilado, e esse programa permite a ini ializa� ~ao e opera� ~ao do sistema. V�arios drivers ( �odigo ne ess�ario para o fun ionamento de um perif�eri o) de dispositivos podem ser utilizados apenas quando ne ess�arios, sendo assim ompilados omo m�odulos. Apesar dessa modulariza� ~ao do �odigo, o sistema ainda assim �e monol��ti o, pois n~ao divide as opera� ~oes em amadas independentes, o que poderia fa ilitar na abstra� ~ao do �odigo para por exemplo um r�apida portabilidade para outras plataformas. 1.4.2 O restante | GNU Um pou o antes do surgimento do Linux, um projeto fundado por Ri hard Stallman j�a estava sendo desenvolvido, om o intuito de prover um sistema opera ional ompleto, om todos os programas �uteis, baseado em UNIX, mas gratuito. Entretanto, o r�apido res imento do Linux prati amente desestabilizou o desenvolvimento do kernel de Stallman, hamado HURD. Entretanto, uma fus~ao dos projetos o orreu (e de fato, o Linux est�a sob a li en� a riada por Stallman, a GPL). Portanto, o que se utiliza hoje �e o sistema GNU/Linux, omposto do kernel do Linus, e dos programas do projeto GNU, al�em de outros produtos omer iais ou de li en� as diferen iadas. O projeto GNU (Gnu is Not Unix ) �e o respons�avel pela maioria dos programas �uteis do GNU/Linux. Alguns programas apenas est~ao sob a li en� a do projeto, GPL (Gnu Publi Li ense), mas omo s~ao desen- volvidos om a mesma \�loso�a", s~ao onsiderados GNU. 4 CAP � ITULO 1. CONCEITOS B � ASICOS 1.4.3 A Filoso�a GNU Uma oisa que um usu�ario do GNU/Linux deve ter em mente quando utilizar o sistema �e a �loso�a GNU. O projeto GNU tem omo base a id�eia de software livre (free software). � E essen ial observar a diferen� a do on eito de gratuidade e liberdade. O software livre n~ao tem omo objetivo prin ipal a gratuidade de seus programas omo muitos pensam, mas sim a liberdade total de seus programas. Assim os programas que est~ao li en iados om a GPL garantem a qualquer desenvolvidor ou usu�ario liberdade total de exe utar, opiar, distribuir, estudar e modi� ar o �odigo do programa em quest~ao. Mais pre isamente o software livre garante quatro tipos de liberdade para os usu�arios de software: � A liberdade de exe utar o programa, para qualquer prop�osito (liberdade n�umero 0). � A liberdade de estudar omo o programa fun iona, e adapt�a-lo para as suas ne essidades (liberdade n�umero 1). A esso ao �odigo-fonte �e um pr�e-requisito para esta liberdade. � A liberdade de redistribuir �opias de modo que vo e^ possa ajudar ao seu pr�oximo (liberdade n�umero 2). � A liberdade de aperfei� oar o programa, e liberar os seus aperfei� oamentos, de modo que toda a o- munidade se bene� ie (liberdade n�umero 3). A esso ao �odigo-fonte �e um pr�e-requisito para esta liberdade. O projeto GNU permitiu que essas liberdades fossem exer idas por muitos usu�arios e as onseque^n ias disso s~ao muito importante. A primeira onseque^n ia foi a ria� ~ao do desenvolvimento ooperativo pela Internet. O desenvolvimento ooperativo permitiu um in r��vel aumento na qualidade e quantidade dos programas existentes. O desenvolvimento ooperativo tem diversas vantagens sobre o desenvolvimento de programas propriet�arios. As vantagens mais ontundentes s~ao: � Como os programas livres s~ao desenvolvidos por muitas pessoas, eventualmente �si amente distantes, e estas pessoas est~ao desenvolvendo por prazer, omumente vemos que a qualidade desses programas �e extremamente alta. T~ao bom ou muitas vezes at�e melhor do que os produtos equivalentes propriet�arios. � Para efeitos edu a ional, o software livre �e um meio para tro a de onhe imento. Um aluno tem toda a liberdade de estudar o �odigo, ou t�e ni a, usada em algum programa. Em �odigo propriet�ario isso n~ao permitido, e mais, �e proibido. � Qualquer pessoa que tenha interesse pode parti ipar do desenvolvimento de software livre basta possuir um omputador ligado a internet, ou seja n~ao h�a restri� ~oes quanto aos parti ipantes. Isso impli a que o p�ubli o testador (beta testers) �e extremamente grande, permitindo um teste bastante extenso em sistemas e arquiteturas muito distintas. A Filoso�a GNU, portanto, �e uma maneira muito diferente de ver a quest~ao de software e todo o universo Linux vai gerar em volta do software livre. O kernel do Linux, om o suporte extenso que tem hoje em dia, n~ao poderia ser onstru��do de outra forma sen~ao pelo desenvolvimento ooperativo. � E interessante observar que o n�umero de apli ativos e projetos existentes para o Linux �e assustador. 1.5 Usu�arios, grupos e senhas O UNIX �e um sistema multiusu�ario. Isso signi� a que em uma mesma m�aquina, v�arios usu�arios podem estar one tados, por exemplo, atrav�es de diversos terminais. Para isso o sistema armazena em um arquivo os nomes dos usu�arios (username), e que no UNIX em geral �e limitado a 8 ara teres. Portanto, quando um usu�ario a essa o sistema om seu nome, todos os programas que forem exe utados por ele ter~ao omo identi� ar qual o usu�ario e poder�a pegar a on�gura� ~ao desejada por aquele usu�ario e tmab�em poder�a restringir o a esso a algumas partes de sistema. 1.5. USU � ARIOS, GRUPOS E SENHAS 5 Por ser um sistema multiusu�ario, �e ne ess�ario um me anismo que proteja o sistema de usu�arios n~ao autorizados, e al�em disso, permite que um usu�ario n~ao a esse arquivos de outros usu�arios. Portanto, ada usu�ario tem uma senha, que tamb�em em geral �e limitada a 8 ara teres, mas que a eita ara teres mai�us ulos, min�us ulos, n�umeros e s��mbolos espe iais. A importa^n ia prin ipal da senha �e a prote� ~ao do pr�oprio usu�ario, para que nenhuma pessoa possa alterar informa� ~oes em seus arquivos. Al�em disso, pessoas n~ao autorizadas podem tentar invadir o sistema, e podem onseguir tal fa� anha mais fa ilmente se tiverem uma senha que as possibilite a essar o sistema omo usu�ario. Na realidade, internamente, todo usu�ario �e representado por um n�umero, este n�umero �e hamado de userid e �e distinto para todos os usu�arios do sistema. Al�em disso �e poss��vel a ria� ~ao de grupos de usu�arios. A prin ��pio todo usu�ario perten e a pelo menos um grupo. Mas �e poss��vel a ria� ~ao de diversos grupos de usu�arios. Assim os re ursos ou arquivos podem ser restritos por grupos, isto �e, pode-se liberar uso de alguns re ursos para todos os usu�arios que perten em a um determinado grupo. Analogamente esse grupos tamb�em s~ao representados no sistema por n�umeros, hamados groupid, e tamb�em �e distinto para todos os grupos do sistema. O ap��tulo 3 ont�em informa� ~oes interessantes sobre os re ursos dispon��veis para a separa� ~ao entre usu�arios do sistema. 1.5.1 Tipos de usu�arios Existem basi amente 3 tipos de usu�arios diferentes nos sistemas UNIX. Cada tipo de usu�ario tem uma fun� ~ao e �e importante observar isso j�a que a base do UNIX �e entrada numa pol��ti a de usu�arios. omuns Usu�arios omuns s~ao os usu�arios os quais estamos a ostumados. Geralmente representauma pessoa f��si a e real. Vo e^ e todos as pessoas que ompartilham o mesmo sistema s~ao os usu�arios omuns. do sistema Esses n~ao representam pessoas f��si as. S~ao geralmente usu�arios que representam programas que rodam em fundo. Exemplos desses usu�arios s~ao usu�arios para servidores de HTTP, SMTP, et . S~ao essen iais para que o sistema exe ute alguma fun� ~ao autom�ati a em alguma �area restrita do sistema. root Esse �e o usu�ario que \administra" o sistema UNIX. Esse �e um �uni o usu�ario om poderes totais sobre todos os arquivos e disposotivos do sistema. A id�eia que a pessoa en arregada de fazer a manuten� ~ao do sistema (fazer instala� ~ao de programas, veri� ar seguran� a, realizar o ba kups, et ). Na realidade o \root" tem o seu userid igual a 0. Portanto qualquer usu�ario om userid igual a zero ter�a poderes \totais" neste sistema. 1.5.2 Entrando no sistema A primeira oisa a fazer num sistema multiusu�ario �e se identi� ar para o sistema. Geralmente �e usado um angli ismo \logar" para denotar esse ato. Este exer�� io �e essen ial e ser�a feito todos as vezes que quiser entrar no sistema. A primeira oisa que o usu�ario ve^ ao olhar para tela �e a seguinte linha no onsole: Linux login: Ao digitar o username do usu�ario e depois enter, temos uma nova linha no onsole: Password: Agora a senha deve ser digitada. Se o nome do usu�ario e a senha estiverem orretas, ent~ao vo e^ deve ter entrado no sistema... boa sorte! 6 CAP � ITULO 1. CONCEITOS B � ASICOS 1.5.3 � Area do usu�ario Todo usu�ario tem uma �area pessoal hamada de HOME ( asa). Essa �area, na verdade, nada mais �e do que um diret�orio no sistema de arquivos que o usu�ario tem permiss~ao ompleta de olhar e manipular. Esse diret�orio, tradi ionalmente, � a armazenado dentro do diret�orio /home do sistema de arquivos. Ent~ao, se um usu�ario tiver um login pipo a, sua �area � aria no diret�orio /home/pipo a/. Essa �area �e importante, pois al�em de permitir um lo al para o usu�ario guardar seus arquivos pessoais, tamb�em permite om que qualquer apli ativo veri�que as on�gura� ~oes espe ��� as daquele usu�ario. Isso impli a que todos os programas podem ter uma on�gura� ~ao diferente para ada usu�ario do sistema. 1.5.4 Arquivos importantes � E muito importante observar que todos os aspe tos de on�gura� ~ao que um sistema UNIX tem �e a ess��vel atrav�es de arquivos. Isso �e uma oisa que pode demorar para a ostumar, mas �e inevit�avel. Os usu�arios, grupos e senhas existentes no sistema s~ao tamb�em todos a ess��veis a partir de Todos os usu�ario e grupos de�nidos num sistema est~ao de�nidos em arquivos (podendo tamb�em ser arquivos remotos, disponibilizados por algum servidor). Aqui vamos dar uma olhada nos arquivos que de�nem os usu�arios, grupos e senhas do um sistema UNIX. /et /passwd Apesar de seu nome, este �e o arquivo de usu�arios do sistema. Aqui est~ao listados todos os usu�arios que existem no sistema, tanto os usu�arios omuns quanto os usu�arios do sistema. Antigamente, esse arquivo tamb�em abrigava as senhas que os usu�arios tiham (da�� o nome passwd), mas por motivos de seguran� a as senhas ganharam seu arquivo pr�oprio, expli ado a seguir. Tipi amente, o arquivo passwd ont�em 7 ampos separados pelo ara tere ':', da seguinte forma: � Nome de login { Este �e o username do usu�ario, tipi amente, letras min�us ulas, om omprimento m�aximo de 8 ara teres. � Senha Criptografada [op ional℄ { Este ampo �e op ional, podendo ser apenas um ara tere 'x' indi ando que a senha real est�a no arquivo /et /shadow. � ID num�eri o do usu�ario - o userid do usu�ario � ID num�eri o do grupo - o groupid a qual o usu�ario perten e � Nome real do usu�ario � Diret�orio home do usu�ario � Shell do usu�ario /et /shadow Este arquivo foi riado om o pr�oposito de o ultar as senhas do sistema do arquivo passwd. O arquivo passwd pre isa ser p�ubli o para que outros programas e usu�arios obtenha informa� ~oes sobre os demias usu�arios do sistema. Entretanto tradi ionalmente o arquivo j�a ontinha as senhas riptogra- fadas, o que pode ser in oveniente em alguns asos. Portanto as senhas riptografadas foram retirados do arquivo passwd e olo ada neste. /et /group Este arquivo de�ne os grupos aos quais os usu�arios perten em. � E poss��vel riar diversos grupos e um mesmo usu�ario pode perten er a diversos grupos tamb�em. 1.5.5 Comandos rela ionados Neste se� ~ao apresentaremos alguns omandos importantes para a visualiza� ~ao e manipula� ~ao das in- forma� ~oes rela ionadas om usu�arios, senhas, e grupos. Al�em disso, veremos o que os programas est~ao alterando em nosso sistema, ou seja, quais opera� ~oes s~ao exe utadas e quais arquivos est~ao sendo alterados. Isso �e sempre importante para que o usu�ario tenha ie^n ia do que ada omando realmente faz. 1.5. USU � ARIOS, GRUPOS E SENHAS 7 Criando um novo usu�ario Talvez a primeira oisa que queremos fazer �e a ria� ~ao de um novo usu�ario. As diversas distribui� ~oes te^m diferentes maneiras de fazer a ria� ~ao. Os dois omandos mais omuns (e que omumente s~ao o mesmo) �e o useradd ou adduser. Para ver a sintaxe desses omandos �e poss��vel exe ut�a-los om o argumento \--help". adduser Geralmente esse omando se apresenta de forma interativa om o usu�ario, ou seja, n~ao �e ne ess�ario dispor todas as informa� ~oes na linha de omando. Esse omando tamb�em todas outras utilidades, dependendo de sua sintaxe. O arquivo que on�gura omo o usu�ario ser�a riado �e o /et /adduser. onf. Para saber mais sobre esse omando, leia a p�agina manual do adduser e adduser. onf. useradd Esse omando �e um pou o menos amig�avel, exigindo que vo e^ passe as informa� ~oes do novo usu�ariio omo argumentos (para^metros) ao omando. Para saber mais sobre esse omando, leia a p�agina manual do useradd. Essen ialmente, qualquer ria� ~ao de usu�ario realiza os seguintes passos: 1 Inser� ~ao no arquivo /et /passwd. Como vimos, aqui ser�a registrado o login do usu�ario, nome, user id, group id, �area de trabalho e shell. 2 Inser� ~ao no arquivo /et /group. 3 Inser� ~ao no arquivo /et /shadow, inserindo a senha desse usu�ario. 4 Cria� ~ao de uma �area de trabalho para o usu�ario, geralmente algo omo /home/login/. 5 C�opia do onte�udo do diret�orio /et /skel/ para a �area de trabalho desse usu�ario, para que o usu�ario j�a tenha alguns arquivos de on�gura� ~ao j�a pr�e- on�gurados. 1.5.6 Criando um novo grupo Como j�a dito, grupos s~ao importantes, pois possibilitam a uni~ao de diversos usu�arios em uma �uni a lasse de tal forma que possam ompartilhar permiss~oes rela ionadas om arquivos. Analogamente �a ria� ~ao de novos usu�arios, a ria� ~ao de novos grupos tem dois omandos \ l�assi os", o addgroup e o groupadd. A sintaxe geral desses omandos �e: groupadd|addgroup [-g gid℄ grupo O que esses dois programas fazem �e alterar apropriadamente o arquivo /et /group, olo ando o novo gid e nome do grupo. 1.5.7 Alterando a senha Uma das primeiras oisas que um usu�ario pode querer fazer, �e alterar sua senha. O omando em quase todos os Uni es para tro a de senha �e o passwd, que pode ser usado sem argumentos. O programa, por motivos de seguran� a, era pedir para entrar om a senha atual e pedir�a para o usu�ario entrar om a senha nova duas vezes. A resultado �e que o arquivo /et /shadow ser�a alterado om a nova senha riptografada do usu�ario. 8 CAP � ITULO 1. CONCEITOS B � ASICOS 1.6 A intera� ~ao om o usu�ario Desde sua ria� ~ao, a prin ipal interfae om o usu�ario eram os terminais texto, sem a existe^n ia de mouse ou imagens gr�a� as, que hoje s~ao t~ao omuns na inform�ati a. Portanto, mesmo existindo interfa es gr�a� as, os programas em modo texto ainda s~ao bastante omuns e usados. Para a exe u� ~ao de programas, �e interessante que o usu�ario tenha omo interagir om o sistema opera ional, sem a ne essidade de onhe er as hamadas espe ��� as do sistema. Para isso existe o hamado shell, que veremos a seguir. 1.6.1 Console virtuais Como o UNIX ome� ou om interfa e de terminais texto ( onhe idos omo onsoles) n~ao havia outra maneira de desenvolver uma outra atividade ao mesmo tempo. Por isso foi riado a id�eia de diversos terminais virtuais, que s~ao onsiderados virutais por apare erem na mesma tela. Esse onsoles s~ao independentes e permite que o mesmo ou outro usu�ario realize atividades diferentes em paralelo. Depois da ria� ~ao de ambientes gr�a� os, esses sistemas ainda persistem pois possibilita uma maneira muito r�apida de realizar pequenas fun� ~oes, ou ent~ao, �e uma maneira de a essar o sistema mesmo quando a interfa e gr�a� a est�a om problemas. Geralmente �e poss��vel ter muitos onsoles virtuais no mesmo sistema. Esse n�umero �e totalmente on�- gur�avel. O arquivo que ontrola esse n�umero �e o /et /inittab, onde est~ao algumas diretivas que omandam o pro esso de ini ializa� ~ao do sistema. Um exer �� io interessante �e aprender a navegar por todos os terminais virtuais e os ambientes gr�a� os. Para mudar de um sistema gr�a� o para outro sistema gr�a� o ou para um onsole, aperte Ctrl-Alt-Fx ( om x sendo o n�umero do terminal virtual desejado). Agora para mudar de um terminal virtual para outro basta apertar Alt-Fx ( om x sendo o n�umero do terminal virtual). Se quiser alternar entre dois onsoles adja entes basta apertar Alt-seta pro lado. Experimente brin ar um pou o para se familiarizar om todos os terminais existentes. 1.6.2 O interpretador de omandos | shell Um shell �e basi amente um programa que interpreta omandos do usu�ario. O programa pode j�a ofere er alguns omandos, que ele mesmo exe uta. Pode tamb�em exe utar programas espe ��� os, a partir da hamada do usu�ario. Para isso, o shell deve se omuni ar om o sistema opera ional, para a essar o dis o, e para exe utar programas. No UNIX, v�arios programas existem para a interpreta� ~ao de omandos. O mais omum hoje utilizado, prin ipalmente no Linux, �e o bash (Bourne-Again SHell, derivado do sh. Esse ser�a o shell abordado nesse texto. Existem, entretanto, diversos outros shells que podem ser usados, dependendo do gosto do usu�ario. Toda vez que o usu�ario usu�ario se \loga" no sistema, o sistema veri� a o s�etimo ampo do arquivo /et /passwd ( omo vimos a ima) para veri� ar qual shell que o usu�ario deseja utilizar. Claramente �e poss��vel a ada usu�ario do sistema utilizar um shell diferente, basta tro ar o devido ampo no arquivo /et /passwd. 1.7 O sistema de arquivos Normalmente os omputadores s~ao providos de dispositivos de armazenagem, isto �e, aparelhos que podem armazenar dados permanentemente. O mais omum at�e hoje s~ao as m��dias magn�eti as, omo os dis os ex��veis de 3 1 2 polegada, ou os dis os �xos (hard disk), que hamaremos de HD, om maior apa idade e on�abilidade que os ex��veis. A estrutura desses dis os magn�eti os em geral �e a divis~ao dos dis os em trilhas (se� ~oes ir ulares) e estas em setores. Normalmente, os setores s~ao as unidades m��nimas do dis o, e normalmente armazenam 512 1.8. TIPOS DE ARQUIVOS NO SISTEMA 9 bytes 1 . Arquivos em dis o geralmente s~ao maiores que 512 bytes, e normalmente s~ao divididos, e n~ao ne essariamente em setores sequen iais. Portanto o a esso ao dis o �e bastante dif�� il, o que exige do sistema opera ional uma interfa e para a organiza� ~ao dos dados. Cada sistema opera ional organiza os dis os em dis o de forma diferente, e forne e uma interfa e pr�opria para o usu�ario. No Linux, o sistema de arquivos implementado hama-se Extended File System 2, e forne e uma interfa e para o usu�ario que �e o padr~ao dos sistemas UNIX. No UNIX, todos os dispositivos s~ao onsiderados arquivos. De fato, tipos de arquivos diferentes existem para diferen ia� ~ao dos arquivos no sistema (se� ~ao 1.8). Al�em disso, todo o sistema de arquivo do sistema forma um �uni a �arvore, ini iada pela raiz /. Portanto, al�em dos arquivos omuns (e que podem estar em dis os diferentes), os arquivos no diret�orio /dev/ e /pro / s~ao espe iais, rela ionados om dispositivos e estruturas do sistema. Alguns diret�orios s~ao bastante omuns entre os diversos UNIX existentes: / � E o diret�orio raiz, em que s~ao riados todos diret�orios e arquivos do sistema. /et Diret�orio ontendo arquivos de on�gura� ~ao dos programas e s ripts de ini ializa� ~ao do sistema. /usr Diret�orio ontendo a maioria dos programas e bibliote as desses programas. /var O sistema e programas utilizam esse diret�orio para guardam informa� ~oes de ontrole e manter arquivos passageiros. /tmp Prin ipalmente utilizado para informa� ~oes tempor�arias e des art�aveis. O sistema \limpa" esse di- ret�orio quando �e ini iado. /lib Cont�em as prin ipais bibliote as do sistema. /bin Prin ipais omandos e programas b�asi os do sistema. /home Cont�em os diret�orios dos usu�arios, isto �e, as �areas de trabalho dos usu�ario omuns. Logi amente essas divis~oes podem ser diferentes entre os sistemas e mesmo entre as distribui� ~oes do Linux. 1.8 Tipos de arquivos no sistema As implementa� ~oes de sistema de arquivos dos diversos UNIX s~ao, em geral, bastante pare idas. E omo expli ado anteriormente, o sistema de arquivos engloba todos os dispositivos, arquivos e diret�orios. Al�em disso, alguns servi� os que o kernel ofere e s~ao intermediados pelo sistema de arquivos, a �m de se ofere er uma interfa e simples e pr�ati a. Para isso o sistema de arquivos de�ne tipos diferentes de arquivos, ada um om sua fun� ~ao. Veremos a seguir esses tipos. 1.8.1 Arquivo omuns S~ao os arquivos que ostumamos utilizar. S~ao dados (setores no dis o) organizados pelo sistema de arquivos e referen iados por um nome (uma adeia de ara teres). Os arquivos que podem ser exe utados s~ao diferen iados no sistema atrav�es de um n�umero rela ionado om as permiss~oes do arquivo (se� ~ao 3.1). Nesse aso, o omando ls a res enta um identi� ador (*) quando utilizado om a op� ~ao -F e altera a or do nome quando utilizado om a op� ~ao -- olor. Os arquivos de dados tamb�em s~ao lassi� ados em tipos, de a ordo om as informa� ~oes que guarda e om o programa rela ionado a ele. Essa lassi� a� ~ao n~ao est�a rela ionada om o sistema de arquivos. O omando �le lassi� a arquivos (se� ~ao 7.1.1). 1 1 byte �e a unidade padr~ao utilizada nos omputadores e signi� a um n�umero de 8 bits, isto �e, um n�umero em base bin�aria om oito asas. Portanto, 1 byte pode representar 2 8 = 256 s��mbolos diferentes. 10 CAP � ITULO 1. CONCEITOS B � ASICOS 1.8.2 Diret�orios No sistema de arquivos existe um tipo espe ial de arquivos para a de�ni� ~ao de diret�orios, que podem onter outros arquivos e diret�orios. Normalmente, asso ia-se a essa estrutura o on eito de pasta, em que se pode olo ar v�arios do umentos (arquivos). Entretanto, pode-se olo ar diret�orios dentro de um diret�orio, o que n~ao �e poss��vel om pastas. Os diret�orios n~ao ont�em dados espe i� amente, mas onstituem um aminho de um arquivo em dis o. Isto �e, o aminho /home/mario/ urso.ps indi a os diret�orios que se deve per orrer a partir da raiz para se en ontrar o arquivo urso.ps. O usu�ario pode notar que v�arios omandos e programas \tratam" diret�orios de maneira diferente, n~ao podendo abri-los para leitura, omo �e feito om arquivos de dados. Diret�orios s~ao listados pelo omando ls (se� ~ao 2.1.1) om o ara tere / adi ionado (se requerido), al�em de onter o ara tere d na adeia de ara teres que indi a as permiss~oes de arquivos (se� ~ao 3.1). 1.8.3 Liga� ~oes simb�oli as As liga� ~oes �xas e simb�oli as s~ao expli adas na se� ~ao 2.1.8. Entretanto vale itar aqui a existe^n ia de um tipo de�nido de arquivo para as liga� ~oes simb�oli as. Esses arquivos nada mais s~ao que um espa� o em dis o ontendo uma adeia de ara teres indi ando um aminho para outro arquivo no sistema de arquivos. Quando listado om o omando ls, as liga� ~oes simb�oli as podem ser diferen iadas, om o s��mbolo �, om ores, ou ent~ao na listagem ompleta, indi ando o aminho referen iado. 1.8.4 Outros tipos espe iais Outros tipos espe iais de arquivos s~ao de�nidos no sistema. Para a asso ia� ~ao entre arquivos e dispositivos de a esso em blo os, omo dis os, �tas magn�eti as, et , �e de�nido um tipo de arquivo, hamado blo o (blo k). O sistema j�a ria v�arios desses arquivos no diret�orio /dev, e ao ini iar a m�aquina, asso ia os dispositivos en ontrados aos devidos arquivos. Por exemplo, se o HD prin ipal instalado na interfa e IDE prim�aria est�a dividido em 4 partes, o arquivo /dev/hda �e asso iado ao dispositivo, e as parti� ~oes s~ao asso iadas respe tivamente aos arquivos /dev/hda1, /dev/hda2, /dev/hda3 e /dev/hda4. J�a para os dispositivos que trabalham om ara teres, omo o te lado, o mouse, impressores, et , um tipo espe ial de arquivo �e riado, hamado ara tere ( hara ter). Al�em desses arquivos espe iais riados para os dispositivos, dois outros tipos de arquivos existem, e est~ao asso iados a estruturas de dados do kernel. O arquivo do tipo so ket �e utilizado para omuni a� ~ao entre pro essos, e est�a asso iado a uma estrutura interna do n�u leo do sistema. E o tipo de arquivo �la (�fo ou named pipe), �e basi amente uma �la ( omo o pipe, se� ~ao 4.3), que pode ser utilizado entre os pro essos omo um arquivo no sistema. 1.9 Visualizando arquivos texto J�a que estamos falando de arquivos �e essen ial aprender a visualizar o onte�udo de qualquer arquivo. Existem v�arias maneiras para fazer isso, e diversos editores de texto (que veremos na se� ~ao 7.3). Mas para a visualiza� ~ao simples de arquivos existem alguns apli ativos muito leves e simples de usar, e essen ial para se virar dentro do UNIX. 1.9.1 O omando at O primeiro, e mais simples de todos todos �e o omando at. A sintaxe do omando �e simples: at [OPC� ~ OES℄ [ARQUIVOS℄... 1.10. TECLAS IMPORTANTES 11 Se v�arios arquivos forem dados na linha de omando, todos eles ser~ao mostrados em seque^n ia. O at serve para a listagem de arquivos texto simples. Ele simplesmente lista o arquivo todo. N~ao h�a nenhum tipo de intera� ~ao om o usu�ario. Exemplo: at /et /motd 1.9.2 O omando more Este omando, um pou o mais amig�avel, serve para visualizar arquivos um pou o maiores, que n~ao abem em apenas uma tela. Entretanto a interfa e n~ao �e muito intuitiva, mas por raz~oes hist�ori a, mant�em-se omo padr~ao nos Uni es. Exemplo: more /et /inittab Para sair do more, basta te lar q. 1.9.3 O omando less Este omando �e o mais f�a il de usar de todos os tre^s. Extremamente re omendado para visualizar arquivos longos, e tamb�em tem todos os re ursos interessantes que o more possiu, omo bus a por palavras ou padr~oes. Exemplo: less /et /passwd Para sair do less, basta te lar q. 1.9.4 O omando reset Por �m, �e importante lembrar ao visualizar um arquivo bin�arios (espe ialmente om o omando at) �e poss��vel que os ara teres do terminal �quem estranhos. Se isso a onte er use o omado reset para arrumar o terminal. O omando reset reini ializa as ara ter��sti as do terminal atual. 1.10 Te las importantes No uso de terminais (in lusive no xterm ou outro terminal gr�a� o), algumas te las s~ao importantes: Ctrl-A O ursor vai para o in�� io da linha, an�alogo �a te la [Home℄. Ctrl-E O ursor vai para o �m da linha, an�alogo �a te la [End℄. Ctrl-C Esse omando gera um sinal de interrup� ~ao para o programa. A maioria dos programas aborta a exe u� ~ao. Ctrl-D Um ara tere de �m de arquivo (EOF) �e impresso. Nos terminais texto exe utando o bash, se esse ara tere for impresso no prompt pode a onte er duas oisas, aso existem ara teres digitados, um ara tere ser�a apagado, ou aso ontr�ario, o omando logout �e exe utado. Ctrl-S O mesmo que a te la S roll Lo k. Trava o terminal, at�e que um [Ctrl-Q℄ seja apertado. Ctrl-Q Para a maioria dos programas fun iona omo omando de sa��da. Al�em disso, aso a trava da tela esteja ligada (S roll Lo k), esse omando libera o terminal novamente. 12 CAP � ITULO 1. CONCEITOS B � ASICOS Shift-PgUP, Shift-PgDown Essas duas ombina� ~oes de te las s~ao muito �uteis para voltar o terminal virtual para visualizar texto que n~ao oube na tela atual. Assim �e poss��vel ver o hist�ori o das a� ~oes exe utadas simplesmente \rolando" o terminal para ima e para baixo. Seta para ima, seta para baixo Aperando-se as setas para ima e para baixo, no bash, �e poss��vel visu- alizar o hist�ori o de omandos dados por vo e^. Ent~ao se vo e^ desejar re-exe utar um omando muito longo, basta apertar a te la para ima, at�e hegar no omando desejado. 1.11 Informa� ~oes e ajuda ini iais Em geral, o usu�ario novo tem muitas d�uvidas sobre os omandos e sobre as regras de utiliza� ~ao dos sistemas UNIX. A maioria das redes disponibiliza informa� ~oes on-line, e al�em disso, no UNIX o sistema de do umenta� ~ao �e fa ilmente visualizado pelo usu�ario. 1.11.1 P�aginas manuais A do umenta� ~ao dos programas UNIX em geral est�a dispon��vel pelas hamadas p�aginas manuais que s~ao pequenos guias e expli a� ~oes sobre ada omando ou arquivo de on�gura� ~ao. Essas p�aginas s~ao muito ut�eis e o usu�ario deve riar o h�abito de olh�a-las diariamente. Para a essar essa p�aginas deve-se usar os omandos man e info. Em geral, a do umenta� ~ao do info �e mais ompleta, sendo a p�agina de manual (man) apenas uma refere^n ia r�apida. Deve-se utiliz�a-los da seguinte maneira: man omando ou info omando. O omando apropos pode ser bastante �util, pois bus a omandos e programas rela ionados om uma palavra. Uso: apropos palavra. A sintaxe b�asi a do man �e: man [se� ~ao℄ palavra 1.11.2 Se� ~oes das p�aginas manuais Eventualmente uma mesma palavra pode estar em duas se� ~oes distintas. As se� ~oes das p�aginas manuais te^m um signi� ado, referente a alguma ara ter��sti a do que se pro ura. As seguintes se� ~oes s~ao as se� ~oes padr~oes no UNIX: Se� ~ao 1 Manuais dos programas que os usu�arios usam. Se� ~ao 2 Manuais das hamdas de sistemas, para uso prin ipalmente de desenvolvedores. Se� ~ao 3 Manuais das hamadas da lib (bibliote a padr~ao), tamb�em para uso prin ipalmente de desenvol- vedores. Se� ~ao 4 Manuais de dispositivos do sistema (por exemplo, hd, sd, et .) Se� ~ao 5 Manuais de formatos de arquivos diversos e tamb�em de proto olos (por exemplo, o arquivo wtmp, /et /passwd, o proto ol NFS ). Se� ~ao 6 Manuais de alguns jogos. Se� ~ao 7 Manuais de algumas onven� ~oes, ou pa otes dema ros, et . 1.12. COMPUTADORES EM REDE 13 Se� ~ao 8 Manuais para administra� ~ao do sistema. Quando o omando man �e dado, ele tentar�a en ontrar a primeira se� ~ao que ont�em a palavra exigida. Isso pode riar um pou o de onfus~ao �as vezes. Um exemplo em que �e ne ess�ario fazer a diferen ia� ~ao entre se� ~oes �e, por exemplo, na pesquisa de arquivo /et /passwd. Se �zermos a seque^n ia de omandos: $ apropos -e passwd passwd (1) - hange user password passwd (5) - The password file Ou seja se tentarmos ler a p�agina manual da seguinte maneira: $ man passwd A abaremos lendo a primeira p�agina manual, que orresponde ao omando passwd e n~ao ao arquivo /et /passwd que quer��amos ler. O omando orreto seria: $ man 5 passwd 1.12 Computadores em rede Com a populariza� ~ao da Internet, a maioria dos omputadores est~ao em rede. Os que a essam a Internet por uma linha dis ada � am algum tempo ligados �a rede, e os omputadores om onex~ao intermitente ou os omputadores de uma rede ligada �a Internet � am o tempo todo a ess��veis de qualquer parte do mundo. Al�em disso, �e muito omum em empresas e institui� ~oes a existe^n ia de redes (Intranet), e em geral o proto olo utilizado nessas redes �e prin ipalmente o proto olo IP, padr~ao tamb�em na Internet. Cada m�aquina no proto olo IP ont�em um n�umero �uni o asso iado, om o qual se pode endere� as a m�aquina na rede. Na vers~ao atual do IP, esse n�umero tem 32 bits, e que apesar de pare er su� iente, j�a est�a obsoleto. Por exemplo, a m�aquina servidora da Debian o IP 198.186.203.20. O novo padr~ao desenvolvido ter�a 128 bits. Entretanto esses n�umeros s~ao dif�� eis de serem lembrados, al�em de nada pr�ati os omer ialmente. Para fa ilitar a omuni a� ~ao entre as m�aquinas e o endere� amento de p�aginas e outros servi� os, riou-se um sistema de nomes para o proto olo IP. O proto olo de distribui� ~ao desses nomes hama-seDNS (Domain Name System). A ada n�umero IP pode-se asso iar uma adeia de ara teres, hamado de hostname. O endere� amento entre as m�aquinas em redes e na Internet �e feito geralmente pelo hostname, por ser mais f�a il e pr�ati o para os usu�arios. 14 CAP � ITULO 1. CONCEITOS B � ASICOS 1.13 Exer �� ios Prati ar �e a oisa essen ial para aprender qualquer oisa nova, in lusive um sistema novo. Sem a pr�ati a, as oisas vistas nesse urso ser~ao esque idas em pou o tempo. Por isso esses exer �� ios s~ao s�o um aque imento para ser realizado durante as aulas, mas depois, �e ne ess�ario um aprofundamento maior. 1. Alguns Uni es em geral, permitem o uso de diversos sistemas texto ( onsoles ou terminais virtuais) e sistemas gr�a� os simultaneamente. Portanto um exer �� io interessante �e aprender a navegar por todos eles. Para mudar de um sistema gr�a� o para outro sistema gr�a� o ou para um onsole, aperte Ctrl-Alt-Fx ( om x sendo o n�umero do terminal virtual desejado). Agora para mudar de um terminal virtual para outro basta apertarAlt-Fx ( om x sendo o n�umero do terminal virtual). Se quiser alternar entre dois onsoles adja entes basta apertar Alt-seta pro lado. Experimente brin ar um pou o para se familiarizar om todos os terminais existentes. 2. A primeira oisa a fazer num sistema multiusu�ario �e se identi� ar para o sistema. Geralmente �e usado um angli ismo \logar" para denotar esse ato. Este exer�� io �e essen ial e ser�a feito todos as vezes que quiser entrar no sistema. Basta entrar om o seu login e senha. 3. Uma das primeiras oisas que podemos querer rede�nir �e a senha que estamos usando. Para isso existe o omando passwd. Ao exe utar o omando, vo e^ dever�a digitar a sua senha atual, e depois vo e^ deve digitar duas vezes a sua nova senha. 4. Eventualmente poderemos querer modi� ar os dados que est~ao registrados no arquivo de senhas do sistema, omo nome ompleto ou alguma outra informa� ~ao. Para isso existe o omando hfn. 5. Tamb�em poder�a ser mudado o shell prin ipal que o usu�ario desejar utilizar. Para isso existe o omando hsh. 6. Vimos que os usu�arios, grupos e senhas do sistema s~ao de�nidos por arquivos no sistema. Entretanto o manipula� ~ao desses arquivos �e muitas vezes muito ompli ada para os usu�arios. Desse forma existem uma s�erie de omandos que veri� am esses arquivos e j�a devolvem as informa� ~oes desejadas. Vamos aprender a utilizar alguns desses programas: whoami { esse programa imprime o login do usu�ario atual. groups { esse programa imprime os grupos os quais o usu�ario atual perten e. id { esse programa �e bem mais ompleto e devolve n~ao s�o o login do usu�ario, bem omo o seu userid omo os grupos nos quais ele perten e. w ou who ou �nger { esses programas s~ao de erta forma pare idos e servem para listar informa� ~oes sobre todos os usu�arios atualmente usando o sistema. 7. Falamos de diversos arquivos e de alguns omandos para visualiz�a-los. � E muito interessante tentar visualizar os diversos arquivos om o tre^s omandos vistos ( at, more e less). Portanto pode se tentar visualizar os seguintes arquivos: /et /passwd /et /shadow /et /group /et /inittab Ou ent~ao qualquer outro arquivo que tiver interesse. 1.13. EXERC � ICIOS 15 8. Ler a do umenta� ~ao ontida nas p�aginas manuais �e essen ial para o entendimento do poder de um erto programa. Para ver omo �e a estrutura� ~ao de uma p�agina manual e aproveitar e aprender sobre alguns dos programas vistos, tente: man at { Para aprender sobre o omando at. man less { Para aprender sobre o omando less. man more { Para aprender sobre o omando more. man passwd { Para aprender sobre o omando passwd. man man { Para aprender sobre o pr�oprio omando man. 16 CAP � ITULO 1. CONCEITOS B � ASICOS Cap��tulo 2 Comandos b�asi os O objetivo desse ap��tulo �e a introdu� ~ao de alguns omandos b�asi os do UNIX/Linux, para que o usu�ario tenha a oportunidade de en ontrar, riar, mover, apagar e opiar arquivos e diret�orios no sistema. J�a vimos omo um usu�ario a essa o sistema, tendo um onta adastrada, e omo altera sua senha. Considera-se aqui, o uso de um terminal texto, ou mesmo de um terminal gr�a� o exe utando o bash, omo por exemplo o xterm, kterm, ou gnome-terminal. A abordagem para os programas gr�a� os ser~ao feitas adiante, em outros ap��tulos. 2.1 Manipula� ~ao de arquivos e diret�orios Alguns on eitos de sistemas de arquivos j�a foram mostrados no ap��tulo anterior. Vejamos os primeiros passos ap�os entrar no sistema. 2.1.1 Listagem: o que h�a no dis o? | O omando ls O omando ls lista arquivos e diret�orios. O omando pode re eber op� ~oes omo argumento e diret�orios ou arquivos a serem listados. Se um diret�orio est�a sendo listado, os arquivos e diret�orios que ele ont�em ser~ao mostrados. Vejamos a sintaxe: ls [OPC� ~ AO℄... [NOME℄... Vemos que o omando pode ser usado sem argumento algum. Nesse aso, o diret�orio orrente (veja pwd, na se� ~ao 2.1.9) �e listado. A sema^nti a padr~ao do ls �e a listagem, em ordem alfab�eti a, dos diret�orios e arquivos passados omo argumento, ex eto os que ome� am pelo ara tere \.", onsiderados assim arquivos \es ondidos". Um exemplo: [maquina:~/www/ma 499℄$ ls apresenta oes ronograma.html.old index.html ronograma.html urso index.html.old A listagem padr~ao �e bastante simples. N~ao �e poss��vel distinguir diret�orios de arquivos (no exemplo, apresenta oes e urso s~ao diret�orios). Para isso, temos a op� ~ao -F, ou -- lassify, que adi iona ara teres para lassi� a� ~ao doarquivo: [maquina:~/www/ma 499℄$ ls -F apresenta oes/ ronograma.html.old index.html teste* ronograma.html urso/ index.html.old teste.html� 17 18 CAP � ITULO 2. COMANDOS B � ASICOS Foram a res entados aqui um arquivo exe ut�avel e uma liga� ~ao simb�oli a. Outros dois tipos de indi adores existem (| e =). Mais expli a� ~oes sobre tipos de arquivos em 1.8. Tamb�em podemos querer saber mais informa� ~oes sobre os arquivos, omo data da �ultima modi� a� ~ao, e tamanho do arquivo. Vejamos a op� ~ao -l: [maquina:~/www/ma 499℄$ ls -l total 30 drwxr-xr-x 2 pipo b 1024 out 27 13:49 apresenta oes -rw-r--r-- 1 pipo b 3476 jul 6 18:36 ronograma.html -rw-r--r-- 1 pipo b 13115 jul 6 16:41 ronograma.html.old drwxr-xr-x 2 pipo b 1024 out 30 09:29 urso -rw-r--r-- 1 pipo b 4107 jul 6 18:51 index.html -rw-r--r-- 1 pipo b 4169 jul 6 16:41 index.html.old -rwxr-xr-x 1 pipo b 0 out 30 10:43 teste lrwxrwxrwx 1 pipo b 13 out 30 10:44 teste.html -> ../index.html Nesse tipo de listagem, o primeiro ara tere de ada entrada indi a o tipo de arquivo, que ser�a expli ado adiante (se� ~ao 1.8). Entretanto, o uso da op� ~ao -Fl nos d�a ambas indi a� ~oes. Outras op� ~oes importantes, s~ao -a e -A, que mostram respe tivamente todos os arquivos (in lusive os que ome� am om .), e todos, ex eto os arquivos . e .. no diret�orio, que indi am respe tivamente o pr�oprio diret�orio e o diret�orio pai. A op� ~ao -d permite a listagem de diret�orios omo arquivos, apenas mostrando o nome ( omo padr~ao, o ls mostraria o onte�udo do diret�orio). Hoje, om os terminais oloridos, o uso de ores para diferen ia� ~ao de arquivos �e bastante �util. O ls permite o uso de ores, atrav�es da op� ~ao -- olor=[quando℄, em que o para^metro quando permite de�nir se se utilizar�a ores sempre, nun a ou apenas quando a sa��da for para um terminal. Um resumo do ls pode ser visto na tabela 2.1. O omando ls Op� ~ao Signi� ado -F ou -- lassify ara teres indi adores de tipo -l listagem mais ompleta -a ou --all todos os arquivos, in lusive ini iados por . -A ou --almost-all omo -a, ex eto . e .. -d lista apenas nome dos diret�orios, omo arquivos -R ou --re ursive lista os diret�orios re ursivamente (�arvore toda) -- olor=[QUANDO℄ usa ores: Valores de QUANDO always, yes, for e sempre utiliza never, no, none nun a utiliza auto, tty, if-tty utiliza se �e para sa��da padr~ao Tabela 2.1: Resumo do omando ls 2.1.2 Como mudar de diret�orio? | O omando d O d �e um omando interno do bash, isto �e, �e exe utado pelo pr�oprio pro esso que aguarda os omandos do usu�ario. Vejamos a sintaxe: d [-PL℄ [DIRET � ORIO℄ 2.1. MANIPULAC� ~ AO DE ARQUIVOS E DIRET � ORIOS 19 O diret�orio padr~ao utilizado �e o diret�orio de�nido na vari�avel de ambiente HOME. O aminho para o diret�orio sempre �e bus ado na vari�avel CDPATH, e ent~ao no diret�orio orrente (\."). Caso o diret�orio seja espe i� ado om o aminho ompleto ( ome� ando por /), CDPATH �e ignorado. A op� ~ao -L, indi a que a estrutura l�ogi a dos diret�orios ser�a seguida, isto �e, as liga� ~oes (links) simb�oli as ser~ao onsiderados diret�orios. O ontr�ario o orre om -P, que for� a a estrutura f��si a dos diret�orios (se uma liga� ~ao aponta para a raiz, quando utilizamos d para essa liga� ~ao, estaremos na raiz, e n~ao no diret�orio da liga� ~ao). 2.1.3 E para riar um diret�orio? | O omando mkdir O omando mkdir ria os diret�orios passados omo argumento. Sintaxe: mkdir [OPC� ~ AO℄... [NOME℄... Caso algum nome exista, o omando devolve uma mensagem de erro. Pode-se utilizar a op� ~ao -p ou --parents para que o omando n~ao devolva a mensagem de erro aso exista um diret�orio om mesmo nome (para arquivos, a mensagem ontinuar�a sendo devolvida). Al�em disso, essa op� ~ao for� a a ria� ~ao dos diret�orios pais se ne ess�aria. Exemplo: [maquina:/tmp/teste℄$ ll total 0 [maquina:/tmp/teste℄$ mkdir pai/filho mkdir: n~ao foi poss��vel riar diret�orio `pai/filho': Arquivo ou diret�orio n~ao en ontrado [maquina:/tmp/teste℄$ mkdir -p pai/filho [maquina:/tmp/teste℄$ ll total 4 drwxr-xr-x 3 pipo b 4096 out 31 11:10 pai/ [maquina:/tmp/teste℄$ ll pai/ total 4 drwxr-xr-x 2 pipo b 4096 out 31 11:10 filho/ Figura 2.1: Uso do mkdir Pode-se tamb�em j�a riar o diret�orio om as permiss~oes, usando -m MODO ou --mode=MODO, onde MODO �e um n�umero omo o utilizado pelo hmod, expli ado na se� ~ao 3.1.5. 2.1.4 E para remover um diret�orio? | O omando rmdir O omando rmdir remove os diret�orios apenas se estiverem vazios. A sintaxe �e omo a do mkdir: rmdir [OPC� ~ AO℄... [DIRET � ORIOS℄... A op� ~ao -p ou --parents remove todos os diret�orios em um aminho se estiverem vazios (por exemplo, rmdir www/publi /teste remover�a o ramo todo da �arvore, apagando teste, publi e ent~ao www). 2.1.5 E para mover arquivos ou diret�orios? | O omando mv Para mover arquivos e diret�orios entre diret�orios, utiliza-se: mv [OPC� ~ AO℄... FONTE... DIRET � ORIO Algumas op� ~oes s~ao importantes. A op� ~ao -b ou --ba kup=[CONTROLE℄ ria uma �opia do arquivo a ser sobres rito, se for o aso. A op� ~ao -i ou --intera tive permite a onsulta ao usu�ario antes de sobres rever algum arquivo. E a op� ~ao -f ou --for e sempre sobres reve, sem onsulta ao usu�ario. Caso ambas op� ~oes, -i e -f, s~ao usadas, a �ultima de larada �e a utilizada. 20 CAP � ITULO 2. COMANDOS B � ASICOS 2.1.6 E para apagar um arquivo? | O omando rm O omando rm remove arquivos, e tamb�em diret�orios em alguns asos. A sintaxe �e: rm [OPC� ~ AO℄... ARQUIVO... A sema^nti a das op� ~oes -i e -f s~ao as mesmas do mv, isto �e, -i para intera� ~ao om usu�ario, e -f para remover sem onsulta ao usu�ario. Uma op� ~ao importante do rm, por ser bastante �util e perigosa, �e -r ou -R ou --re ursive. Essa op� ~ao permite a remo� ~ao de um diret�orio re ursivamente, des endo em todos os diret�orios perten entes ao diret�orio a ser apagado. Exemplo: [maquina:~℄$ ls teste/ -R teste/: re ursivo/ teste/re ursivo: [maquina:~℄$ rm -vir teste/ rm: des er no diret�orio `teste'? y removendo todas as entradas do diret�orio teste rm: des er no diret�orio `teste/re ursivo'? y removendo todas as entradas do diret�orio teste/re ursivo rm: remover diret�orio `teste/re ursivo'? y removendo o pr�oprio diret�orio: teste/re ursivo rm: remover diret�orio `teste'? s removendo o pr�oprio diret�orio: teste 2.1.7 E para opiar arquivos? | O omando p O omando p permite opiar arquivos. A sintaxe �e: p [OPC� ~ AO℄... FONTE DESTINO p [OPC� ~ AO℄... FONTE... DIRET � ORIO No primeiro aso, opia-se apenas um arquivo, indi ado o nome da �opia. No segundo aso, opiam-se v�arios arquivos para um diret�orio. A sema^nti a para as op� ~oes -b, -i, -f �e a mesma dos omandos mv e rm. A op� ~ao -r permite �opia re ursiva dos arquivos de um diret�orio, mas tudo que n~ao for diret�orio �e opiado omo arquivo. J�a -R, ou --re ursive, mant�em o tipo de arquivo diferente na �opia (�las, dispositivos, et ). Uma op� ~ao importante, �e -d ou --no-deferen e, para manter as liga� ~oes, e n~ao opiar o arquivo. A op� ~ao -u ou --update �e bastante �util, pois apenas opia os arquivos que n~ao existem no destino ou s~ao mais novos. A tabela 2.2 resume o omando. 2.1.8 Mas o que s~ao liga� ~oes (links)? | O omando ln Nas implementa� ~oes de sistemas de arquivos dos sistemas UNIX, existe o
Compartilhar