Você está na página 1de 75

1

Universidade Federal de Santa Maria Centro de Cincias Rurais Departamento de Engenharia Rural

Linux bsico : distribuio DEBIAN


Srie Didtica

Santa Maria, agosto de 2007.


Prof. Rudiney Soares Pereira Ncleo de Desenvolvimento de Informaes e Geotecnologias Laboratrio de Sensoriamento Remoto

Pereira, Rudiney Soares, 1958P436l Linux bsico : distribuio DEBIAN / por Rudiney Soares Pereira. Santa Maria: UFSM/Departamento Engenharia Rural/Laboratrio de Sensoriamento Remoto, 2007. (Caderno didtico) 75 f. : il. 1. Linux 2. Sistema operacional 3. Distribuio DEBIAN 4. Computao I. Ttulo II. Srie CDU: 004.451.9LINUX

Ficha catalogrfica elaborada por Luiz Marchiotti Fernandes CRB-10/1160 Biblioteca Setorial do Centro de Cincias Rurais/UFSM

SUMRIO

1. Introduo ....................................................................................................................... 6 2. Distribuies LINUX ...................................................................................................... 6 3. Caractersticas ............................................................................................................... 6 3.1. Free software ................................................................................................................... 6 3.2. Modularidade .................................................................................................................. 7 3.3. Multitasking (multitarefa) ................................................................................................ 7 3.4. Multiuser (multiusurio) ................................................................................................. 7 3.5. Portabilidade .................................................................................................................. 7 3.6. Multiprocessamento ....................................................................................................... 7 4. Estrutura organizacional ............................................................................................ 4.1.Kernel ............................................................................................................................. 4.1.1.Verses do kernel ........................................................................................................ 4.3.Processos ........................................................................................................................ 7 7 7 8

4.2.Shell ................................................................................................................................ 8 4.3.1.Processos interativos .................................................................................................... 8 4.3.2.Processos batch ........................................................................................................... 8 4.3.3.Processos deamons ...................................................................................................... 8 4.3.4.Atributos ....................................................................................................................... 9 4.4.Tipos de arquivos e estruturas ........................................................................................ 9 4.4.1.Arquivos ordinrios (arquivos comuns) ....................................................................... 4.4.2.Arquivos diretrios ...................................................................................................... 4.4.2.1.Hierarquia de arquivos ............................................................................................ 4.4.2.2.Estrutura hierrquica .............................................................................................. 4.4.3.Arquivos especiais ...................................................................................................... 5. Conexo e desconexo com o sistema .................................................................... 5.1.Conexo com o sistema ................................................................................................. 5.2.Desconexo com o sistema ........................................................................................... 6. Criao e excluso de usurios ................................................................................ 7. Comandos ..................................................................................................................... 7.1.Manipulao de arquivos e diretrios ............................................................................. 7.2.Manipulao e filtragem de texto ................................................................................... 9 10 10 10 12 12 12 13 13 15 15 27

5
7.3.Pesquisa em informaes ............................................................................................... 7.4.Comandos de terminal ................................................................................................... 7.5.Comandos de administrao do sistema ........................................................................ 7.6.Formato padro de uma linha de comando .................................................................... 7.7.Comparao entre os comandos DOS e LINUX ............................................................... 8. Redirecionamento, filtros e pipes ............................................................................ 8.1.Redirecionamento .......................................................................................................... 8.2.Filtros ............................................................................................................................. 8.3.Pipes .............................................................................................................................. 9. Montando e desmontando dispositivos ................................................................... 9.1.Discos ............................................................................................................................ 9.2.Montando a partio ..................................................................................................... 10.Pacotes DEB ................................................................................................................ 10.1.Editando o arquivo sources.list ................................................................................... 10.2.Atualizando o sistema com o apt-get ......................................................................... 10.3.O pacote Synaptic ...................................................................................................... 11.Permisses nos arquivos e diretrios .................................................................... 11.1.Alterao das permisses .......................................................................................... 11.2.Alterao do grupo e dono ........................................................................................ 12.Referncias para consulta ...................................................................................... 34 37 51 52 53 54 54 55 56 57 57 57 60 61 61 63 71 72 74 75

6
1. Introduo O objetivo deste material servir de consulta usurios iniciantes no mundo do software livre. No tem o propsito de ser um documento completo e, certamente possibilitar um contato inicial com o LINUX, com nfase na distribuio DEBIAN. Sua organizao passa por consideraes gerais sobre software livre, estrutura organizacional dos sistemas operacionais LINUX, distribuies existentes, gerenciamento de usurios no sistema, comandos, montagem de dispositivos e gerenciamento do sistema com atualizaes de pacotes DEBIAN. Linux um Sistema Operacional baseado em LINUX assim como o AIX da IBM, Solaris, SunOS, BSD e outros. Os direitos autorais pertencem a Linus Torvalds (Linux = Linus + LINUX) e outros colaboradores porm, pode ser livremente distribudo sob os termos da GNU (General Public License - GPL). Essa licena preserva os direitos autorais do software, mas assegura a distribuio dos programas com cdigo-fonte. Linux em si apenas o Kernel (Ncleo) do sistema operacional, a parte que controla o hardware, gerencia arquivos, separa processos, entre outras funes. Existem diversas combinaes de Linux com vrios utilitrios e aplicativos de modo a formar um sistema operacional completo. Cada uma dessas combinaes chamada de distribuio. 2. Distribuies LINUX Distribuies so sistemas originados pelo trabalho de comunidades, universidades, usurios e empresas que transformam/adaptam o Linux com a adio de facilidades e/ou recursos. Isso, se d pela introduo de aplicativos e/ou utilitrios desenvolvidos e disponibilizados em CD/DVD aos interessados, juntamente a documentao/suporte, manuais e tutoriais. Dentre muitas distribuies, podemos citar: Debian, Redhat, Conectiva, Caldera, Mandrake, Slackware, Suse, Tech Linux, Turbo Linux, Ubuntu Linux, Mandriva, entre outras. Para uma lista mais detalhada, consulte os stios: http://distrowatch.com/, http://pt.wikipedia.org/wiki/Linux 3. Caractersticas O sistema operacional LINUX apresenta seis caractersticas que lhe so muito peculiares. Dentre estas, pode-se citar que um software livre (free software), possui modularidade, multitarefa, multiusurio, portvel e permite multiprocessamento. Abaixo, breve descrio destas caractersticas. 3.1 Free Software: tem todo seu cdigo fonte(incluindo o Kernel, drivers, bibliotecas, etc.) aberto para qualquer um.

3.2 Modularidade: O LINUX o nico em seu desenho modular, que permite usurios adicionar ou remover partes para adapt-lo as suas necessidades especficas. 3.3 Multitasking (multitarefa): a capacidade de Multitasking do LINUX permite que mais de uma tarefa seja realizada simultaneamente. 3.4 Multiuser (Multiusurio): um sistema multiusurio permite que vrios usurios utilizem o computador simultaneamente. 3.5 Portabilidade: a portabilidade a possibilidade dos softwares que operam em uma mquina operarem em uma outra diferente. 3.6 Multiprocessamento: o LINUX foi aprimorado para trabalhar em mquinas de grande porte, suportando assim a utilizao de vrios processadores em um nico computador, e com a possibilidade de compartilhamento do processamento entre vrios usurios ao mesmo tempo. 4. Estrutura Organizacional A estrutura organizacional pode ser dividida em 4 partes principais: Kernel, Shell, processos e estrutura de arquivos. 4.1 Kernel a base do Sistema Operacional, suporta os programas dos usurios e programas utilitrios como compiladores, links, sistemas de controle, cdigo fonte, etc. e, implementa as seguintes funes: Escalonamento de processos; Gerenciamento de memria; Gerenciamento de dispositivos; Gerenciamento de arquivos; Interface de chamada do sistema; Interface de controle do operador.

4.1.1 Verses do Kernel Conveno para distinguir as verses estveis das no estveis: Verso v.x.y, onde: v : nmero da verso.

8
x : : y : nmero par verso estvel nmero impar verso no estvel (verses para beta teste caractersticas novas sendo acrescentadas todo o tempo) correes de bugs, nenhuma caracterstica nova implementada.

De tempos em tempos o Kernel apresenta-se como uma performance confivel passando a ser denominado como uma Kernel estvel. O desenvolvimento continua em uma nova verso do Kernel. Kernel mudado conforme novos devices e/ou drivers so adicionados e erros so corrigidos. 4.2 Shell Shell o programa que conecta e interpreta os comandos digitados por um usurio. Ele o mediador entre o usurio e o sistema LINUX usado para interpretar os comandos. Esse programa l os comandos digitados pelo usurio e os executa utilizando os servios e/ou outros programas do sistema operacional. Dentre os Shells mais conhecidos pode-se citar: sh Bourne Shell o mais tradicional(prompt $); Bash Bourne Again Shell Shell padro do Linux; ksh csh Rsh 4.3 Processos Um processo um simples programa que est rodando em seu espao de endereamento virtual prprio. Os processos so executados em background ou foreground e podem ser divididos em trs grupos principais: interativos, batch e deamons. 4.3.1 Processos interativos: so iniciados a partir de, e controlados por, uma sesso terminal. 4.3.2 Processos batch (ou em lote): no so associados a nenhum terminal. Ao invs disso so submetidos a uma fila, da qual jobs (trabalhos/instrues) so executados seqencialmente. 4.3.3 Processos deamons: so processos servidores, inicialmente iniciados durante o boot, que rodam continuamente enquanto o sistema estiver ativo, esperando, em background, at que um processo requisite seus servios. Korn Shell muito utilizado atualmente; C Shell considerado o mais poderoso largamente utilizado(prompt %); Restricted Shell verso restrita do sh

rsh Remote Shell Shell remoto;

9
4.3.4 Atributos Process ID (PID) Parent Process ID (PPID) TTY UID real e efetiva (RUID, EUID) GID real e efetiva (RGID, EGID) Process ID, PID um nmero que identifica unicamente esse processo e usado para referir-se a ele. Parent Process ID, PID o pai do processo, ou seja, o processo que o criou. TTY o dispositivo de terminal associado com o processo. UID real de um processo o UID do usurio que o criou. O UID efetivo, o UID que utilizado para determinar o acesso do processo a recursos do sistema. Usualmente, RUID e EUID so os mesmos, e o processo tem os mesmos acessos que o usurio que os disparou. GID real e efetivo de um processo o grupo primrio ou corrente do usurio. 4.4 Estrutura de Arquivos Arquivos so centrais para o LINUX de uma maneira no encontrada em outros sistemas operacionais. O LINUX tem uma organizao de diretrios hierrquica em forma de rvore conhecida como filesystem. A base desta rvore um diretrio chamado root directory. Em sistemas LINUX, todo espao em disco disponvel combinado em uma nica rvore de diretrios abaixo do / (root). O acesso a arquivos organizado atravs de propriedades e protees. Toda segurana do sistema depende, em grande parte, da combinao entre a propriedade e protees fixadas/estabelecidas em seus arquivos e suas contas de usurios e grupos. Resumindo: Tudo em LINUX um arquivo; O LINUX tem uma organizao de diretrios hierrquica chamada filesystem; O acesso a arquivos organizado atravs de propriedades e protees. 4.4 Tipos de arquivos e estruturas Existem trs tipos de arquivos no LINUX: os arquivos ordinrios (comuns), os arquivos diretrios 4.4.1 Arquivos Ordinrios (ou arquivos comuns) So arquivos que contm dados binrios ou caracteres ASCII. Consiste de uma string de bytes de dados. Por exemplo, um arquivo criado atravs de um editor de texto um arquivo do

10
tipo ordinrio. Uma subclasse de arquivos ordinrios so os arquivos hidden (oculto). O nome dos arquivos hidden inicia sempre com um ponto (.profile, .kshrc) e possue funes especiais. Esses arquivos ocultos recebem a denominao de hidden porque normalmente no podem ser vistos em uma consulta a um diretrio.

4.4.2 Arquivos Diretrios So responsveis pela manuteno da estrutura hierrquica do sistema de arquivos. As informaes so armazenadas em arquivos ordinrios agrupados em diretrios, que por sua vez tambm so agrupados em outros diretrios. Todo diretrio contm os nomes de arquivos "." e ".." , que corresponde respectivamente ao prprio diretrio e ao seu diretrio pai. Todo usurio possui um diretrio default (home directory), e quando ele se conecta ao sistema o LINUX, automaticamente o posiciona neste diretrio.

4.4.2.1 Hierarquia de arquivos Como foi dito anteriormente os arquivos diretrios so organizados hierarquicamente em forma de rvore em que a base chamada de root. Esta rvore pode ser facilmente observada na figura 1.

4.4.2.2 Estrutura da rvore de diretrios A rvore de diretrios constituda por: bin, boot, cdrom, dev, etc, home, initrd, lib, media, mnt, opt, proc, root, sbin, selinux, srv, sys, tmp, usr e var. Alguns desses como srv, proc, selinux, sys so temporrios e podem ser extintos por ocasio do momento de desconexo ou pela intalao de alguns aplicativos como por exemplo reconstructor ou isomaster que so aplicaes utilizadas para a construo de novas distribuies. A figura 1 apresenta essa estrutura da rvore de diretrios.

11

Figura 1: Estrutura da rvore de diretrios Tabela 1: Estrutura de diretrios do Linux Diretrio / /bin /boot /dev /etc /home /lib /mnt /proc /root /sbin /tmp /usr Descrio dos arquivos que esto nesse diretrio Diretrio raiz do sistema de arquivos. abaixo dele que se situam todos os outros. Arquivos executveis de comandos essenciais. Arquivos estticos necessrios inicializao do sistema. Arquivos de dispositivos (drives) do sistema. Arquivos de configurao do sistema. Lugar onde ficam os diretrios locais(diretrios pessoais) dos usurios. Arquivos de bibliotecas essenciais ao sistema, utilizados pelos programas em /bin. Usualmente o ponto de montagem de dispositivos(drives) na mquina. Informaes do kernel e dos processos. Diretrio local do superusurio. Arquivos essenciais (comandos especiais) ao sistema. Normalmente s o superusurio tem acesso a estes arquivos. Diretrio de arquivos temporrios. Arquivos pertencentes aos usurios. ( a segunda maior hierarquia de diretrios presente no Linux, s perdendo para o diretrio raiz).

12
4.4.3 Arquivos Especiais O LINUX trata todos os dispositivos fsicos do sistema como arquivos especiais. Cada dispositivo do computador, tais como: terminais, unidades de fita, disco e impressoras, possui um arquivo especial associado ele. Estes arquivos esto localizados no diretrio /dev, e no referenciam dados, eles possuem especificaes sobre o tipo de dispositivo, como terminal ou impressora, e suas caractersticas, como configurao, densidade de gravao, etc. Os arquivos especiais podem ser acessados da mesma forma que os arquivos ordinrios. Obs: 1. O nome do arquivo pode possuir at 255 caracteres, em sistemas BSD, ou at 14 caracteres, em sistemas System V. 2. Alguns caracteres no devem ser usados por possurem significado especial para o LINUX, so eles: "/", "*", "?", "[", "]", ">", "<", "-", "$", "'","""", "&", "!" e \. 3. Para quem est acostumado com o DOS, notar algumas diferenas como os nomes de arquivos, que no DOS tem apenas 8 caracteres de nome e 3 de extenso. No LINUX no existe esse limite, podendo ter vrias formas finais de apresentao. Os arquivos no LINUX no possuem extenses, porm podemos incluir um ponto seguido de uma seqncia de caracteres no nome de qualquer arquivo, embora, esta pseudo extenso, no possua nenhum significado especial para os comandos LINUX.

Exemplo: trabalho.txt.zip.tar 5. Conexo e Desconexo com o Sistema Entende-se por conexo e desconexo do sistema a ao que o usurio executa junto ao sistema, com o objetivo de acessar a sua rea de trabalho e demais aplicaes disponibilizadas pelo sistema operacional entre elas as compreendidas e relacionadas a leitura, escrita e execuo de arquivos ressalvadas as permisses de acesso. 5.1 Conexo com o sistema A conexo ao sistema necessita de dois elementos bsicos: uma usurio (login) e uma senha (password) de acesso. Caso ocorra algum erro na digitao do login ou da password, o sistema responde com a mensagem 'login incorrect' e proporciona uma nova oportunidade ao usurio de se conectar. Havendo sucesso o shell apresenta um prompt, indicando que est pronto para receber comandos do usurio. O prompt apresentado depende do shell que se est utilizando, no Bourne Shell e Korn Shell o prompt o caracter "$" enquanto que, no C Shell, o caracter "%". Em qualquer uma das situaes, o prompt do usurio root, ser representado pelo caracter #. identificao de

13

5.2 Desconexo do sistema A desconexo do sistema pode ser obtida atravs do comando logout, da seqncia de teclas digitadas [Ctrl+D], ou ainda, executar o comando exit. Ateno: No sistema operacional LINUX as letras maisculas e minsculas, so tratadas como caracteres distintos ou seja, so case sensitive. 6. Criao e excluso de usurios e grupos Uma conta de usurio um conjunto de duas informaes a citar: nome de acesso (login) e uma senha (password), que possibilitam ao usurio acessar a sua rea do sistema. Devido a essa caracterstica, um mesmo usurio pode ter vrias contas com a ressalva de que sejam criadas com nomes de acesso (login) diferentes. Exite basicamente dois tipos de contas: a primeira delas denominada de usurio que permite o acesso e o uso das ferramentas do sistema e, o segundo tipo, a conta denominada de superusurio que permite realizar configuraes no sistema. Assim, a conta com privilgios de superusurio necessita de senha, preferencialmente, diferente da senha para a conta usurio pois, somente assim, resguardam-se aspectos de segurana do sistema e a possibilidade de que apenas um superusurio possa configurar o sistema. Um grupo basicamente um conjunto de usurios cujas contas possuem acessos especficos no sistema ou seja, possvel definir para o grupo de usurios um conjunto de aplicaes e/ou arquivos em comum, que essas contas usurios tero acesso ao uso considerando nveis de restrio/permisso. Existem algumas formas de criar e manter usurios em um sistema, porm todas elas, necessitam privilgios de superusurio. Uma das formas a utilizao da linha de comando no terminal console (texto), com o comando adduser. Por exemplo, para criar um usurio denominado geomatica, no terminal, digita-se como superusurio (#), o seguinte comando: # adduser geomatica Para definirmos a senha desse usurio, que, assim permitir o acesso as

aplicaes/arquivos comuns, digita-se: # passwd geomatica No exemplo abaixo, identificamos algumas informaes importantes como: a) a sentena rudiney@katrina:~$ identifica usurio denominado rudiney na mquina denominada katrina. A seqncia :~$ significa que o usurio rudiney est em sua rea de trabalho. Ainda, para criarmos o usurio geomatica, necessrio que se tenha privilgios de superusurio por isso, digita-se su -. Aps, o sistema solicitar a senha com a sentena

14
Password:. Digitada a senha, ento, o usurio rudiney inicialmente logado, agora passa a ter os privilgios de superusurio. O que caracteriza essa situao a sentena katrina:~#. Ento, executa-se o comando adduser geomatica. rudiney@katrina:~$ su Password: katrina:~# adduser geomatica Adding user 'geomatica' ... Adding new group 'geomatica' (1002) ... Adding new user 'geomatica' (1002) with group 'geomatica' ... Creating home directory '/home/geomatica' ... Copying files from '/etc/skel' ... Enter new LINUX password: Retype new LINUX password: passwd: senha atualizada com sucesso Modificando as informaes de usurio para geomatica Informe o novo valor ou pressione ENTER para aceitar o padro Nome Completo []: Nmero da Sala []: Fone de Trabalho []: Fone Domstico []: Outro []: A informao est correta? [s/N] katrina:~# A senha password pode conter qualquer caractere porm, desejvel por questes de segurana, que ela possua no mnimo 6 caracteres. O preenchimento dos demais dados como: Nome Completo[], Nmero da Sala[], Fone de trabalho[], Fone Domstico[] e Outro[], de carter opcional. Com isto, a nova conta estar criada. Uma linha ser includa no arquivo /etc/passwd com os dados do novo usurio, incluindo o seu diretrio de trabalho (/home/geomatica), sendo colocado o /bin/bash como o interpretador de comandos padro, entre outros dados. Do mesmo modo, para remover contas de usurios basta digitar o comando: # userdel -r usuario No exemplo acima, o usuario geomatica. Com esse comando, subtrai-se da rea /home, o usurio geomatica com todo o seu contedo. Tambm, os dados do arquivo /etc/passwd. O comando de texto groupadd cria um novo grupo. Para remover um grupo, basta executar o comando groupdel.

15
H dois modos de incluir usurios em um grupo pelo modo texto: a) utilizando o comando usermod ou b) diretamente no arquivo /etc/group. Para incluir novos usurios em um grupo, deve-se editar diretamente o arquivo. Por exemplo, se existir um grupo denominado grandeteste, pode-se adicionar usurios teste e geomatica usando o comando usermod assim, teremos a seqncia: a) usando o comando usermod: # usermod -G grandeteste teste # usermod -G geomatica b) editando o arquivo /etc/group com um editor de texto, por exemplo o vi ou vim: grandeteste:x:504:teste,geomatica

Dessa forma, os usurios teste e geomatica foram includos no grupo grandeteste. No entanto, o comando usermod s permite a incluso de um usurio por vez. A incluso de vrios grupos, deve ser cuidadosamente manipulada pois, essa ao, apaga a configurao anterior. 7. Comandos Os comandos podem ser subdivididos em agrupamentos com as finalidades: manipulao de arquivos e diretrios, manipulao e filtragem de texto, pesquisa em informaes, comandos de terminal e comandos de administrao de sistema. 7.1. Manipulao de arquivos e diretrios ls O comando ls exibe arquivos ou o contedo de um ou vrios diretrios. Sintaxe: $ ls [opes] [arquivo] Opes: -a: Exibe arquivos ocultos; -A: No exibe os diretrios . e ..; --author: Mostra o autor (criador) de cada arquivo; -b: Exibe caracteres de escape octais no lugar dos caracteres que no podem ser vistos,

16
como o espao em branco; --block-size=[tamanho]: Exibe o tamanho dos arquivos em mltiplos do nmero de bytes especificado nesse parmetro; -B: No exibe arquivos de backup (terminados com ~); -c: Lista os arquivos por ordem da data da ltima modificao; -C: Exibe a listagem em colunas; --color=[quando]: Controla quando as cores devem ser usadas para distinguir os tipos de arquivos. Os valores aceitos so: . never: . always: . auto: No usa cores pra nenhum tipo de arquivo; Usar cores para todo tipo de arquivo; Seleciona quais arquivos sero exibidos em cores.

-d: Exibe o diretrio especificado, e no o seu contedo; -f: Ativa os parmetros -a e -U e desabilita os parmetros -l, -s e -t; -F: Acrescenta um caracter grfico ao final de cada arquivo para identificar o seu tipo; -G: No exibe informaes dos grupos a que os arquivos pertencem; -h: Exibe os tamanhos dos arquivos em uma forma legvel (2K, 21M, 1G); --si: Semelhante ao -h, mas usa mltiplos de 1000 bytes ao invs de 1024; -H: Exibe os arquivos para os quais os links simblicos apontam, ao invs de listar s o link; -i: Exibe o nmero de ndice (I-node) dos arquivos; -I: No exibe entradas que contiverem o padro informado; -k: Equivalente a --block-size=1k; -l: Listagem detalhada, com diversas informaes sobre os arquivos; -L: Quando listar links simblicos, lista o local para onde o link aponta, e no o link propriamente dito; -m: Lista os arquivos em linhas, separando cada item com uma vrgula; -n: O mesmo que o parmetro -l, mas mostra as UID's e GID's ao invs dos nomes dos grupos; -o: O mesmo que o parmetro -l, mas no exibe as informaes sobre o grupo; -p: Adiciona um caracter para identificar o tipo do arquivo. O mesmo que -F, mas no utiliza o caracter * (asterisco); -Q: Exibe os nomes das entradas entre " (aspas duplas); -r: Organiza a lista na ordem inversa; -R: Lista recursivamente o contedo dos diretrios e subdiretrios do diretrio atual; -s: Exibe o tamanho de cada arquivo, em mltiplos de blocos (especificados com o parmetro --block-size=[tamanho]); -S: Organiza a lista de acordo com o tamanho do arquivo; -t: Lista pela data de modificao; -u: Organiza a listagem pela data do ltimo acesso; -U: No organiza a listagem, exibindo os arquivos na seqncia em que esto gravadas no diretrio; -w: Ajusta o tamanho da tela para o nmero de colunas especificado; -X: Organiza a listagem em ordem alfabtica;

17
-1: Lista apenas um arquivo por linha; Em [arquivo], devemos informar quais arquivos (arquivos, diretrios, dispositivos, links, etc.) devem ser listados. Se no for informado nada, ser listado o contedo do diretrio atual (.). Pode-se tambm utilizar curingas para filtrar os arquivos que sero listados. Por exemplo, podemos usar ls *.doc para listar somente os arquivos terminados em .doc. cd O comando cd, sigla de change directory (selecionar diretrio), serve para acessar um determinado diretrio. Sintaxe: $ cd [diretrio] Lembrando a lista dos diretrios do sistema: ..: Diretrio acima do atual. Se voc estiver no diretrio /home/aluno/ e quiser acessar o diretrio /home/, digite cd ... Se quiser acessar o diretrio /home/ana/, digite cd ../ana/; ~: Diretrio pessoal do usurio atual, ou seja, /home/[usurio]/; -: Diretrio anterior. Se voc estava no diretrio /etc/ e mudou para o diretrio /home/, digite cd - para voltar ao diretrio /etc/.

Se for usado sem parmetro, ou seja, apenas cd, voc ser redirecionado para o diretrio pessoal do usurio atual. mkdir O comando mkdir, abreviatura de make directory (criar diretrio), usado para criar um novo diretrio. Sintaxe: $ mkdir [opes] [novo diretrio] Opes: -m: Especifica as permisses que do novo diretrio ter; -p: Cria todos os diretrios e subdiretrios necessrios; -v: Exibe uma mensagem para cada diretrio criado.

18

Em [novo diretrio] devemos colocar os diretrios que queremos criar. No necessrio digitar o caminho completo, caso queiramos criar um diretrio dentro do diretrio atual. Podemos criar vrios diretrios com um nico comando, bastando separ-los com espaos. Se quiser que o nome do novo diretrio tenha espaos em branco, escreva-o entre aspas duplas, dessa forma: $ mkdir /home/ana/"diretrio com espaos em branco" rmdir Esse comando utilizado para apagar um diretrio vazio. Sintaxe: $ rmdir [opes] [diretrio] Opes: -p: Remove os diretrios-pai do diretrio selecionado, se possvel. Assim, o comando rmdir -p a/b/c/ vai apagar o diretrio a/b/c/, depois o diretrio a/b/ e por fim o diretrio a/, se possvel; -v: Mostra os detalhes da remoo dos diretrios.

Podem ser especificados mais de um diretrio por vez. O rmdir s remove diretrio vazios. pwd O pwd, sigla de print working directory (exibir diretrio de trabalho), exibe o diretrio atual. equivalente a echo $PWD. Uso: $ pwd cat O comando cat concatena arquivos e imprime na sada padro (exibe na tela). Em arquivos, usamos o cat para listar seu contedo na tela. Com o uso de direcionadores, podemos us-lo para unir diferentes arquivos em um s, dentre outra funes. Sintaxe:

19
$ cat [opes] [arquivo] Opes: -b: Numera as linhas, com exceo das linhas em branco; -E: Mostra um "$"? (cifro) para indicar fim de linha; -n: Numera todas as linhas, incluindo as em branco; -s: No mostra mais do que uma linha em branco. Se houver duas ou mais linhas em branco consecutivas, elas so truncadas e apenas uma mostrada; -T: Substitui tabulaes pelos caracteres "^I"?; -v: Substitui os caracteres no imprimveis por smbolos, exceto tabulaes e final de linha.

Exemplos de uso: $ cat [arquivo1 arquivo2 arquivo3 ... arquivoN] > [arquivo] Isso pode ser usado em qualquer tipo de arquivo, inclusive arquivos binrios. prtica comum utilizar isso para juntar arquivos de vdeo grandes, como filmes, que muitas vezes so divididos em vrias partes. Veja no exemplo abaixo, como unir as 2 partes do filme Harmatia em um nico arquivo: $ cat the-harmatia_part-1.mpeg the-harmatia_part-2.mpeg > the-harmatia.mpeg Vale lembrar que tal procedimento no corretamente executado com arquivos AVI. tac O tac faz o mesmo que o cat, mas exibe o arquivo pela ordem inversa, ou seja, comeando pela ltima linha e terminando com a primeira. Uso: $ tac [arquivo] touch O comando touch usado atualizar as informaes sobre as datas de ltimo acesso e ltima modificao de um arquivo. Sintaxe: $ touch [opes] [arquivo]

20

Se o arquivo no existir, ele criado, por padro. Isso faz o touch ser muito utilizado para criar arquivos vazios, atravs do comando touch [arquivo]. Opes: -a: Modifica apenas a data do ltimo acesso; -c: No cria arquivos, caso eles no existam; -m: Modifica apenas a data de modificao; -t: A data e hora a ser utilizada para o ltimo acesso ou ltima modificao. O formato utilizado MMDDhhmm (ms, dia, hora e minuto);

cp O cp, abreviao de copy (copiar), utilizado para copiar arquivos e diretrios de um local para outro, com o mesmo nome ou com nome diferente. Sintaxe: $ cp [opes] [origem] [destino] -b: Cria um arquivo dos arquivos de destino se eles estiverem para ser sobrescritos; -P: Quando tratar de links simblicos, copia o link, e no o local para onde o link aponta; -f: Operao forada. Se um dos arquivos de destino no puder ser aberto, apaga-o e repete a operao; -i: Pede confirmao antes de sobrescrever um arquivo; -L: Quando tratar de links simblicos, copia o local para o onde o link aponta, e no o link; -p: Preserva as propriedades do arquivo (permisses, dono e datas); --preserve=[propriedade]: Escolhe quais propriedades preservar, separadas por vrgula. Podem ser: . mode: Preserva as permisses; . ownership: Preserva a informao de dono do arquivo; . timestamp: Preserva as datas de acesso e modificao. --no-preserve=[propriedade]: Escolhe quais propriedades no devem ser preservadas. As opes so as mesmas que do parmetro --preserve; -R ou -r: Modo recursivo, copia todos os arquivos e subdiretrios do diretrio especificado. Esse parmetro deve ser usado para copiar diretrios inteiros; --target-directory=[diretrio]: Especifica para qual diretrio devem ser copiados os arquivos/diretrios especificados; -u: Copia apenas os arquivos novos. Se um arquivo que estiver sendo copiado j existir

21
no diretrio de destino, sua cpia ser ignorada; -v: Mostra os detalhes da cpia dos arquivos.

Exemplos de uso: Para copiar o arquivo file.gz para o diretrio /tmp/: $ cp file.gz /tmp Para para fazer uma cpia do arquivo file.gz com o nome file-copia.gz: $ cp file.gz file-copia.gz Para copiar os arquivos file1, file2 e file3 para o diretrio /home/ana/doc/: $ cp file1 file2 file3 /home/ana/doc Para copiar o diretrio img/ para o diretrio /tmp/upload/: $ cp -r img /tmp/upload Para copiar os arquivos file1, file2 e file3 e o diretrio img/ para o diretrio /tmp/upload/: $ cp -r file1 file2 fil3 img /tmp/upload mv Utilizamos o mv mover ou renomear arquivos. Sintaxe: $ mv [opes] [destino] Opes: -b: Cria um backup dos arquivos de destino, se eles forem sobrescritos; -f: Fora as operaes, sem fazer perguntas caso seja necessrio sobrescrever arquivos e outros; -i: Modo interativo, pede confirmao para sobrescrever arquivos; --target-directory=[diretrio]: especifica o diretrio de destino para os arquivos; -u: S move os arquivos novos. Se o arquivo que est sendo movido j estiver presente no diretrio de destino, ele ignorado; -v: Mostra os detalhes do processo de movimentao.

22
Exemplos de uso: Para mover o arquivo file1 para o diretrio /home/ana/doc/: $ mv file1 /home/ana/doc Para mover o diretrio /home/ana/doc/ para /tmp/upload/: $ mv /home/ana/doc /tmp/upload Para renomear o arquivo package.tar.gz para pacote.tar.gz: $ mv package.tar.gz pacote.tar.gz Para mover o arquivo file1 e o diretrio img/ para o diretrio /tmp/upload/: $ mv file1 img /tmp/upload rm O rm utilizado para excluir arquivos. Sintaxe: $ rm [opes] [arquivo] Opes: -f: Modo forado, no pede confirmao para realizar as operaes; -i: Pede confirmao antes de remover qualquer arquivo; -R, -r: Exclui recursivamente todo o contedo do diretrio e o prprio diretrio. Quando quiser excluir um diretrio que no est vazio, utilize esse parmetro; -v: Mostra os detalhes das excluses.

ln Esse o comando utilizado para criar links, simblicos ou absolutos. Sintaxe: $ ln [opes] [alvo] [nome do link] Opes:

23

-b: Se houver um arquivo com o mesmo nome do link que est sendo criado no diretrio de destino, cria um backup do arquivo existente; -d: Permite ao administrador do sistema (root) criar um hardlink (link absoluto) para um diretrio; -f: Fora a criao dos links; -n: Trata um link simblico pra um diretrio como se fosse um arquivo normal; -i: Pergunta antes de remover arquivos existentes; -s: Cria um link simblico; --target-directory=[diretrio]: Especifica em qual diretrio o link deve ser criado; -v: Exibe o nome de cada link antes de cri-lo.

Exemplos de uso: Se voc quiser criar um link simblico para o arquivo /home/ana/doc/ no diretrio atual, com o mesmo nome do diretrio real (no caso, doc): $ ln -s /home/ana/doc Se voc quiser fazer a mesma coisa, mas preferir que o link criado tenha o nome "documentos": $ ln -s /home/ana/doc documentos Se voc quiser criar um link absoluto (hardlink), oculte o parmetro -s: $ ln /home/ana/doc cmp Esse comando utilizado para comparar dois arquivos e mostrar a primeira diferena entre eles. Use para certificar-se de que dois arquivos possuem ou no o mesmo contedo. Sintaxe: $ cmp [opes] [arquivo1] [arquivo2] Opes: -b: Imprime os bytes que so diferentes entre si; -i [n]: No considera os primeiros [n] bytes de cada arquivo; -l: Mostra os nmero dos bytes e os valores diferentes; -s: No mostra nenhum detalhe, apenas sai com status 1 se alguma diferena for encontrada.

24
Exemplos de uso: Vamos comparar os arquivos file1 e file2: $ cmp file1 file2 file1 file2 differ: byte 10, line 2 diff Esse comando compara dois arquivos de texto e mostra as diferenas entre eles. Sintaxe: $ diff [opes] [arquivo1] [arquivo2] Opes: -i: Ignora as diferenas de letras maisculas/minsculas; -E: Ignora as diferenas de tabulao; -b: Ignora diferenas na quantidade de espao em branco; -w: Ignora qualquer espao em branco; -B: Ignora linhas em branco a mais ou a menos; -a: Compara os arquivos como arquivos de texto, ainda que no sejam; -u [n]: Mostra [n] linhas do contedo final do arquivo1, adicionadas as diferenas do arquivo2; -q: Mostra apenas se o contedo dos arquivos so ou no diferentes; -y: Mostra os arquivos em duas colunas, indicando as diferenas; -t: Expande as tabulaes, convertendo-as em espaos, na sada; -r: Compara recursivamente todo o contedo de um diretrio; -S [arquivo]: Quando comparar diretrios, inicia a comparao pelo arquivo especificado.

Exemplos de uso: Vamos considerar os arquivos file1 e file2, com o seguinte contedo: $ cat file1 5 f j 33 diferena 2ac1 1t4f 6bc_

25
10 i r 3 $ cat file2 5 f j 33 2ac1 1t4f 6bc_ 10 i r 3 outra diferena Aplicando o diff nos dois arquivos, temos o seguinte retorno: $ diff file1 file2 2d1 < diferena 6a6 > outra diferena O diff exibe informaes sobre o que necessrio fazer para que o contedo de file1 seja igual ao de file2. Nesse caso, 2d1 quer dizer que a diferena foi encontrada na linha 2, e que necessrio apagar (d = delete) a palavra diferena do arquivo file1. O 6a6 nos diz que a diferena foi encontrada na linha 6, e que necessrio adicionar (a = add) a linha outra diferena no arquivo file1. O parmetro -y exibe esses parmetros de forma mais clara: $ diff -y file1 file2 5 f j 33 diferena 2ac1 1t4f 6bc_ 10 i r 3 5 f j 33 < 2ac1 1t4f 6bc_ 10 i r 3 > outradiferena Veja que os sinais de maior e menor (>, <) sempre apontam para a linha que diferente. Se a diferena estiver no primeiro arquivo, listado esquerda, ela deve ser apagada. Se a diferena estiver no segundo arquivo, listado direita, ela deve ser adicionada. O diff, quando usado em conjunto com o utilitrio patch, fornece uma grande funcionalidade para atualizaes. Um grande exemplo o cdigo-fonte do kernel Linux. Ao invs de gravar a nova verso do kernel inteira, possvel gravar a penas as diferenas entre eles, algo como:

26
$ diff [kernel-antigo] [kernel-novo] > diferenas.diff E depois utilizar o utilitrio patch para gravar as diferenas no kernel-antigo, fazendo-o ficar com o mesmo contedo de kernel-novo. A grande vantagem que no necessrio o usurio baixar todo o kernel, que muito grande, mas apenas o arquivo com as diferenas, bem pequeno. patch Utilizamos esse comando para atualizar as diferenas geradas atravs do comando diff. Suponhamos os arquivos file1 e file2, que so diferentes. Podemos criar as diferenas entre os dois arquivos com o comando diff: $ diff file1 file2 > file.diff Esse comando gera um arquivo file.diff com as diferenas entre os arquivos file1 e file2. Podemos agora usar o comando patch para aplicar as diferenas no arquivo file1, fazendo seu contedo ficar igual ao de file2: $ patch file1 file.diff Sintaxe: $ patch [opes] [arquivo] [arquivo de patch] (para arquivos) $ patch [opes] < [arquivo de patch] (para diretrios) Opes: -p [n]: Nvel do diretrio onde ser aplicado o patch. Se [n] for 0, o patch ser aplicado no diretrio atual. Se for 1, ser aplicado no diretrio acima (..), se 2, 2 diretrios acima (../..) e assim por diante; -b: Cria cpias dos arquivos originais antes de aplicar o patch; -binary: L e grava usando o modo binrio; -d [diretrio]: Muda para o diretrio especificado antes de aplicar o patch; -E: Remove arquivos vazios aps a aplicao do patch; -n: Interpreta o arquivo de patch como um .diff normal; -N: No desfaz patches j aplicados; -s: Modo silencioso, no exibe mensagens de erro; -u: Interpreta o patch em formato unificado. Use isso se o arquivo de patch foi gerado com diff -u.

27
7.2. Manipulao e filtragem de texto grep O grep utilizado para encontrar padres em arquivos de texto, ou, em outras palavras, procura num arquivo todas as linhas que possuem a palavra ou expresso informada e as exibe na tela. Sintaxe: $ grep [expresso] [arquivo] Assim, se voc quiser varrer o arquivo /etc/fstab procurando pelas linhas que contm o texto "/dev/fd0", digite: $ grep /dev/fd0 /etc/fstab /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

Se o padro informado no for encontrado no arquivo especificado, no exibida nenhuma mensagem. cut O cut utilizado para selecionar colunas de texto em um arquivo. Suponhamos que voc tenha um arquivo da seguinte forma: A1 B1 C1 A2 B2 C2 A3 B3 C3

E precise, por algum motivo, que somente a terceira coluna seja exibida na tela, dessa forma: C1 C2 C3 exatamente isso que o cut far para ns. Sintaxe: $ cut [opes] [arquivo]

28
Opes: -c: Especifica quais caracteres sero exibidos; -d: Especifica qual o caracter ser usado como delimitador de campo; -f: Lista dos campos que sero exibidos; -s: No exibe as linhas que no contm os delimitadores especificados em -d; --output-delimiter=[string]: Utiliza a string (seqncia de caracteres) especificada como o delimitador dos campos na sada.

Exemplos de uso: Considerando o arquivo lista.txt com o contedo mostrado acima, se quisermos exibir somente o quinto caracter de cada linha, usamos: $ cut -c 5 lista.txt 1 2 3 Se quisermos exibir os primeiros 5 caracteres, utilizamos -5 ao invs de 5: $ cut -c -5 lista.txt A1 B1 A2 B2 A3 B3 Se quisermos exibir do quinto caracter em diante, usamos 5-, assim: $ cut -c 5- lista.txt 1 C1 2 C3 3 C3 Por fim, para exibir do segundo at o sexto caracter: $ cut -c 2-6 lista.txt 1 B1 2 B2 3 B3 Repare agora que o delimitador de cada coluna o espao em branco. Assim, se quisermos exibir apenas o primeiro campo, usamos:

29
$ cut -f1 -d' ' lista.txt A1 A2 A3 O parmetro -f1 informa que queremos que seja exibido o primeiro campo, enquanto -d' ' (dois acentos agudos separados por espao) informa que o separador de campos o espao em branco. O parmetro -d no precisa ser utilizado no caso de o arquivo utilizar TAB (tabulao) como separador de campos. Seguindo esse raciocnio, se quisermos exibir os campos 1 e 3, usamos: $ cut -f1,3 -d' ' lista.txt A1 C1 A2 C3 A3 C3 Com o uso do direcionador | (pipe) podemos processar o mesmo arquivo vrias vezes com o cut, de modo a podermos fazer um processamento poderoso do arquivo de texto. Alm disso, ele aceita a sada de outros programas como entrada, atravs do mesmo direcionador |. head Usamos esse comando para exibir as linhas iniciais de um arquivo. Sintaxe: $ head [opes] [arquivo] Opes: -c [-][n]: Sem o - (hfen), mostra os primeiros [n] bytes do arquivo. Com o -, mostra todos os bytes com exceo dos [n] ltimos; -n [-][n]: Sem o -, mostra as primeiras [n] linhas do arquivo. Com o -, mostra todas as linhas com exceo das [n] ltimas; -v: Imprime um cabealho com o nome do arquivo. Exemplos de uso: Para ver as primeiras 5 linhas do arquivo file, faa: $ head -n 5 file 1 2

30
3 4 5 Se quiser exibir todas as linhas menos as 3 ltimas: $ head -n -3 file 1 2 3 4 5 6 7 more Usamos esse comando para realizar a paginao de arquivos de texto cujo contedo no cabe na tela. Sintaxe: $ more [opes] [arquivo] Opes: -d: Exibe as mensagens [Press space to continue, 'q' to quit] (pressione espao para continuar, 'q' para sair). Ao se pressionar espao, a tela rola uma pgina inteira. Se for pressionada alguma tecla invlida, exibida a mensagem [Press 'h' for instructions.] (pressione 'h' para instrues.); -l: Evita que ocorram pausas toda vez que seja encontrado o caracter "^L" (alimentao de formulrio) no texto; -s: Se houver mltiplas linhas em branco num arquivo, trunca elas em apenas uma; +/[padro]: Comea a mostrar o texto a partir da primeira linha que contm o padro informado; +[nmero]: Especifica qual linha deve ser a primeira a ser mostrada; -[nmero]: Especifica o tamanho da tela, em linhas.

Assim, quando quiser ler um texto muito extenso sem precisar abrir um editor de textos para isso, use o more. O texto ser exibido at ocupar a tela inteira, e ento aparecer um prompt escrito "--More--(xx%)". Presssione Enter para rolar o texto linha por linha. Se quiser cancelar a exibio e voltar para o prompt de comando, pressione "q".

31
possvel usar o more para exibir vrios arquivos seqencialmente. Basta informar todos os arquivos separados por espao. less O less tem a mesma utilidade do more, com a vantagem de poder rolar o texto exibido para cima e para baixo atravs do uso dos direcionais, alm de contar com um localizador de texto. Para digitar o padro que voc deseja procurar precedido de / (barra). Sintaxe: $ less [arquivo] sort Usamos esse comando para classificar as linhas de um arquivo de texto.

Sintaxe: $ sort [opes] [arquivo] Opes: -b: Ignora linhas em branco; -d: Descarta quaisquer linhas iniciadas com caracteres que no sejam espao em branco ou alfanumricos; -f: Ignora a diferena entre caracteres maisculos e minsculos; -r: Exibe a lista na ordem inversa; -n: Organiza os nmeros na ordem aritmtica. Sem essa opo, a seqncia de caracteres 100, 10, 50 seria exibida na ordem 10, 100, 50. Com a opo -n, eles so exibidos na ordem 10, 50, 100; -c: Verifica se o arquivo j est organizado. Se no estiver, retorna a mensagem disorder on [arquivo] (desordem em [arquivo]); -o [arquivo]: Grava a sada do comando sort no arquivo especificado; -m [arquivo1] [arquivo2]: Combina o contedo dos dois arquivos gerando um nico arquivo. Esse comando s funciona se ambos os arquivos j estiverem ordenados; -i: ignora os caracteres fora da faixa octal ASCII 040-0176; -t [caracter]: Usa o caracter especificado ao invs de espao em branco como delimitador durante a organizao das linhas; +[nmero 1] +[nmero 2]: Especifica qual campo (coluna) ser usado como referncia na organizao. Os campos comeam a ser contados de 0, e o separador de campos padro o espao. Para selecionar outro delimitador, use o parmetro -t. Os campos sero organizados

32
de [nmero 1] at [nmero 2]. Se [nmero 2] no for especificado, os campos sero organizados de [nmero 1] at o final da linha; -k [nmero 1] [nmero 2]: Idntico ao parmetro anterior, mas os campos comeam a ser contados de 1. Exemplos de uso: Suponha que voc tenha um arquivo file.list com o seguinte contudo: $ cat file.list 5 f j 33 2ac1 1t4f 6bc_ 10 i r 3 Ao usarmos o comando sort, as linhas sero organizadas de acordo com a primeira coluna: $ sort file.list 10 i r 3 1t4f 2ac1 5 f j 33 6bc_ Veja, entretanto, que temos um problema aqui: o 10 foi posto antes do 1, seguindo a ordem alfabtica e no aritmtica. Para corrigir isso, acrescentamos o parmetro -n: $ sort -n file.list 1t4f 2ac1 5 f j 33 6bc_ 10 i r 3 Agora, se quisermos organizar as linhas tomando como referncia a segunda coluna ao invs da primeira, fazemos o seguinte: $ sort +1 file.list 2ac1 6bc_ 5 f j 33 10 i r 3

33
1t4f Podemos obter o mesmo resultado de outra forma: $ sort -k 2 file.list 2ac1 6bc_ 5 f j 33 10 i r 3 1t4f Por fim, para gravar o resultado no arquivo fileorder.list, basta acrescetar o parmetro -o fileorder.list. tail Esse comando utilizando para mostrar as ltimas linhas de um arquivo de texto. Sintaxe: $ tail [opes] [arquivo] Opes: -c [n]: Exibe apenas os ltimos [n] bytes do arquivo; -n [n]: Exibe as ltimas [n] linhas do arquivo; -f: Fica monitorando o arquivo, e exibe todas as novas linhas adicionadas a ele, em tempo real. Isso muito utilizado para monitorar arquivos de log.

wc Conta o nmero de linhas, palavras, caracteres e bytes nos arquivos. Sintaxe: $ wc [opo] [arquivo] Opes: -c: Exibe apenas o nmero de bytes; -m: Exibe o nmero de caracteres; -l: Exibe o nmero de linhas; -L: Exibe o comprimento, em caracteres, da maior linha do arquivo;

34
-w: Exibe o nmero de palavras encontradas.

Se for usado sem argumentos, o wc exibe o nmero de linhas, palavras e caracteres do arquivo, respectivamente: $ wc file.list 20 42 file.list

7.3. Pesquisa e informaes find O find (procurar, em ingls) uma ferramenta que utilizamos para localizar arquivos ou diretrios no sistema de arquivos. Sintaxe: $ find [opes] [caminho] [expresso] [aes] Opes: -amin [n]: Procura arquivos que foram acessados h [n] minutos atrs; -anewer [arquivo]: Procura arquivos que foram acessados depois do [arquivo]; -atime [n]: Procura arquivos que foram acessados h [n] dias atrs; -cmin [n]: Procura arquivos que tiveram seu status alterado h [n] minutos atrs; -cnewer [arquivo]: Procura arquivos que tiveram seu status alterado depois do [arquivo]; -empty: Procura arquivos vazios e que sejam como arquivos regulares ou diretrios; -fstype [tipo]: Procura apenas arquivos que estejam gravados em sistemas de arquivos do tipo especificado; -gid [n]: Procura por arquivos cujo GID seja [n]; -group [grupo]: Procura por arquivos que pertenam ao grupo informado; -inum [n]: Procura o arquivo cujo I-node seja [n]; -mmin [n]: Procura arquivos que foram modificados a [n] minutos atrs; -mtime [n]: Procura arquivos que foram modificados a [n] dias atrs; -name [expresso]: Procura arquivos cujo nome coincida com a expresso digitada; -newer [arquivo]: Procura arquivos que foram modificados depois do [arquivo]; -nouser: Procura arquivos cuja UID no esteja registrada no sistema; -nogroup: Procura arquivos cuja GID no esteja resgistrada no sistema; -path [expresso]: Realiza a busca nos diretrios que coincidam com a expresso informada; -perm [permisses]: Procura arquivos que contenham as permisses informadas, no

35
modo octal ou literal; -perm encontrados; -regex [expresso]: Localiza os arquivos que coincidirem com a expresso regular informada. Lembre-se que expresses simples so diferentes de expresses regulares; -size [n][b/c/k/w]: Localiza os arquivos cujo tamanho seja [n] mltiplos de: . b: 512 bytes; . c: . k: . w: 1 byte; 1 kilobyte; 2 bytes. [-/+][permisses]: Aplica as permisses informadas para os arquivos

-type [tipo]: Procura por arquivos que sejam de um tipo especfico: . b: dispositivo de bloco; . c: dispositivo de caracter; . d: diretrio; . p: duto nomeado (FIFO); . f: arquivo regular; . l: link simblico; . s: soquete. -uid [nmero]: Procura por arquivos cuja UID seja igual ao [nmero]; -used [n]: Procura por arquivos que tenham sido acessados [n] dias aps seu status ter sido modificado; -user [usurio]: Procura por arquivos cujo dono seja o [usurio]. O caminho o diretrio dentro do qual se vai realizar a busca. Para buscar em todo o sistema de arquivos, deve-se colocar /. Se a busca for feita no diretrio atual, pode-se ignorar esse parmetro. A expresso deve ser o nome do arquivo que se est procurando, com ou sem curingas. Essa expresso pode ser omitida dependendo da opo de pesquisa que se esteja utilizando. Aes: possvel realizar aes com os arquivos encontrados. Isso muito til quando necessrio realizar uma determinada operao com todos os arquivos do sistema que tenham determinadas caractersticas. As principais aes que podem ser executados so: -exec [comando] [prefixo]{}[sufixo] \;: Executa o comando nos arquivos encontrados. O comando pode ser qualquer programa do sistema. Os caracteres {} so substitudos pelo nome do arquivo encontrado. [prefixo] e [sufixo] so opcionais; -ok [comando] [prefixo]{}[sufixo] \;: O mesmo que -exec, mas pergunta para o usurio

36
antes de executar o comando em cada arquivo.

whereis Localiza o executvel, arquivo/diretrio de configurao, diretrios de bibliotecas, arquivos compartilhados, cdigo-fonte e caminho da pgina de manual do programa especificado. Sintaxe: $ whereis [opes] [programa] Opes: -b: Procura apenas pelo executvel do programa; -m: Procura apenas pela pginas de manual; -s: Procura apenas pelo diretrio do cdigo-fonte; -u: Procura no diretrio atual por arquivos que no possuam alguma das entradas informadas.

Exemplos de uso: Para ver a localizao dos arquivos e diretrios do GIMP, utilizamos o whereis da seguinte forma: $ whereis gimp gimp:/usr/bin/gimp /usr/share/man/man1/gimp.1.gz Onde: /usr/bin/gimp: Executvel; /etc/gimp: Diretrio contendo os arquivos de configurao; /usr/lib/gimp: Diretrio contendo as bibliotecas; /usr/share/gimp: Diretrio contendo os arquivos compartilhados; /usr/share/man/man1/gimp.1.gz: Localizao da pgina de manual. /etc/gimp /usr/lib/gimp /usr/share/gimp

Para saber apenas a localizao da pgina de manual, utilizamos a opo -m: $ whereis -m gimp gimp: /usr/share/man/man1/gimp.1.gz

37
which Exibe o caminho completo para o comando selecionado. Sintaxe: $ which [comando] Exemplos de uso: Para sabermos o caminho completo para comando grep, usamos: $ which grep /bin/grep uname Mostra o nome e a verso do kernel em uso. Sintaxe: $ uname [opes] Opes: -a: Exibe todas as informaes; -s: Exibe apenas o nome do kernel; -n: Exibe apenas o nome da mquina na rede; -r: Exibe apenas a srie do kernel; -v: Exibe apenas a verso do kernel; -m: Exibe apenas a arquitetura de hardware; -o: Exibe apenas o nome do sistema operacional. Exemplos de uso: $ uname -a Linux geolix-athlon 2.6.8-2-k7 #1 Mon Jan 24 03:29:52 EST 2005 i686 GNU/Linux

7.4. Comandos de administrao do sistema fuser Esse programa utilizado para descobrir quais processos esto utilizando determinados

38
arquivos ou soquetes. Sintaxe: $ fuser [-a/-s/-c] [-4/-6] [-n [espao]] [-k [-i] [-[sinal]] ] [-muvf] Parmetros: -a: Mostra todos os arquivos especificados na linha de comando. Por padro, somente os arquivos que esto sendo usados por pelo menos um processo so mostrados; -s: Modo silencioso; -c: O mesmo que -m, usado para compatilidade com o padro POSIX; -4: Procura apenas por sockets de IPv4; -6: Procura apenas por sockets de IPv6; -n [espao]: Especifica o espao de nomes a usar. Pode ser: . file: o modo padro, procura por arquivos; . udp: procura por portas UDP; . tcp: Procura por portas TCP: -k: Matar os processos que esto acessando o arquivo; -i: Pergunta antes de matar o processo; -[sinal]: Informa qual o sinal deve ser usado para matar os processos. S pode ser usado junto com o parmetro -k; -m: Utilize quando estiver se referindo ao um sistema de arquivos montado ou a um dispositivo de blocos montado; -u: Exibe o nome do usurio que iniciou o processo que est utilizando o arquivo; -v: Modo detalhado, com diversas informaes sobre os processos.

Exemplos de uso: Uma utilidade grande desse programa a seguinte: suponhamos que voc queria desmontar o disquete, e seja surpreendido por uma mensagem de erro, dizendo que o dispositivo de disquete est ocupado: $ umount /dev/fd0 umount: /media/floppy0: device is busy umount: /media/floppy0: device is busy Se voc no conseguir descobrir qual o processo que est "travando" o disquete, voc pode fazer isso utilizando o fuser. Voc precisar ser o administrador do sistema. # fuser -m /dev/fd0 /dev/fd0: 2877

39
Agora, voc pode matar o processo: # kill 2877 Ou, se quiser, pode matar o comando automaticamente com o fuser: # fuser -m -k /dev/fd0 Se o processo no for encerrado, utilize o sinal -9 para destrui-lo: # fuser -m -k -9 /dev/fd0 Repare que, nesse caso, utilizamos -m porque se trata de um dispositivo de blocos, /dev/fd0. Se fosse um arquivo comum, esse parmetro no seria usado. Outro uso que pode ser usado por administrador de rede procurar por processos que estejam utilizando determinadas portas. Por exemplo, pra saber qual o processo que est utilizando a porta TCP 445, utilizamos: # fuser -n tcp 445 445/tcp: 2674 df Mostra o espao utilizado de cada partio. Sintaxe: $ df [opo] [partio] Opes: -a: Inclui na verificao os sistemas de arquivos com 0 blocos; -B [tamanho]: Usa blocos do tamanho especificado; -h: Exibe os tamanhos num formato de fcil compreenso (1K, 23M, 2G); -H: Igual ao -h, mas usa mltiplos de 1000 ao invs de 1024; -i: Mostra as informaes dos inodes; -k: O mesmo que -B 1K; -l: S exibe informaes dos sistemas de arquivos locais; -P: Usa o formato de sada POSIX; --sync: Executa o sync antes de obter as informaes; -t [tipo]: S mostra informaes dos sistemas de arquivos do tipo especificado; -T: Mostra qual o tipo do sistema de arquivos de cada partio exibida; -x [tipo]: Mostra todos os tipos de sistemas de arquivos exceto o tipo especificado aqui.

40
Exemplos de uso: Um exemplo simples: $ df -h Sist. Arq. /dev/hda1 udev tmpfs /dev/hda /dev/hda8 /dev/hda5 /dev/hda6 /dev/sda1 Tam 267M 10M 237M 66G 385M 4,7G 2,8G 488M Usad 245M 148K 0 49G 33M 3,8G 1,8G 488M Disp 22M 9,9M 237M 18G 352M 951M 1,1G 0 Uso% 92% 2% 0% 74% 9% 81% 63% 100% k du Esse comando, sigla de disk usage (uso de disco), usado para estimar o espao em disco usado pelos arquivos. Em outras palavras, usamos o du para saber o tamanho dos arquivos. Sintaxe: $ du [opes] [arquivo] Opes: -a: Exibe o tamanho de todos os arquivos dentro dos subdiretrios do diretrio especificado, e no somente dos arquivos imediatamente dentro do diretrio; --aparent-size: Exibe o tamanho aparente, que pode ser maior ou menor que o tamanho real, dependendo de fatores com fragmentao, blocos indiretos e similares; -B [tamanho]: Exibe o tamanho dos arquivos em blocos do tamanho especificado; -b: Igual a -B 1; -c: Exibe uma linha com o tamanho total de todos os arquivos contabilizados; -D: Quando usado para links simblicos, considera o local para onde o link aponta e no o link em si. S considera arquivos; -h: Mostra os tamanhos de forma comprensvel (2K, 32M, 1G); -H: O mesmo que -h, mas usa blocos de 1000 ao invs de 1024; -k: O mesmo que -B 1K; -L: O mesmo que -D, mas considera qualquer tipo de arquivo; Montado em / /dev /dev/shm /home /tmp /usr /var /media/dis

41
-S: No mostra o tamanho dos subdiretrios; -s: Mostra apenas o tamanho total de cada item (arquivo ou diretrio); -x: Ignora arquivos que estejam em outro sistema de arquivos; -X [padro]: No contabiliza os arquivos que correspondam ao padro informado; -m: O mesmo que -B 1M.

Suponha que voc esteja no diretrio /home/ana/, que contenha os seguintes arquivos e diretrios: $ ls arquivo_teste Desktop exe iso deb doc src tmp img music.m3u teste

Se quisermos ver o tamanho do arquivo playlist.m3u: $ du music.m3u 8 music.m3u

O tamanho exibido em KB. No caso, o arquivo tem 8 KB. Se quisermos ver o tamanho do diretrio img/: $ du img 14374 modis/imgs-143-1108-2007 229 229 2203 modis/espectroradiometria/science_arquivos modis/espectroradiometria/science1_arquivos modis/espectroradiometria

71919 modis Veja que o tamanho em KB no muito confortvel. Usamos o parmetro -h para que os valores sejam exibidos de uma forma compreensvel: $ du -h modis 15M 229K 229K 2,2M 71M modis/imgs-143-1108-2007 modis/espectroradiometria/science_arquivos modis/espectroradiometria/science1_arquivos modis/espectroradiometria modis

Podemos tambm querer que sejam contabilizados os arquivos dos subdiretrios modis/espectroradiometria/ e modis/imgs-143-1108-2007/. Nesse caso, usamos o parmetro -a: $ du -h -a modis

42

8,1M 6,1M 15M 228K 40K 4,0K 4,0K 4,0K 4,0K 4,0K 16K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 8,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 12K 4,0K 4,0K 4,0K 4,0K

modis/imgs-143-1108-2007/crefl1_143.A2007223135000-2007223135500.250m.jpg modis/imgs-143-1108-2007/crefl1_143.A2007223135500-2007223140000.250m.jpg modis/imgs-143-1108-2007 modis/espectroradiometria/science.html modis/espectroradiometria/science_arquivos/x.js modis/espectroradiometria/science_arquivos/tree.gif modis/espectroradiometria/science_arquivos/quicklink_a.gif modis/espectroradiometria/science_arquivos/clear.gif modis/espectroradiometria/science_arquivos/emailarticle_a.gif modis/espectroradiometria/science_arquivos/0.gif modis/espectroradiometria/science_arquivos/css_gen_v01.css modis/espectroradiometria/science_arquivos/a.gif modis/espectroradiometria/science_arquivos/nextterm.gif modis/espectroradiometria/science_arquivos/space.gif modis/espectroradiometria/science_arquivos/arrow_small_a.gif modis/espectroradiometria/science_arquivos/citedby_a.gif modis/espectroradiometria/science_arquivos/icon_doi.gif modis/espectroradiometria/science_arquivos/css_art_v01.css modis/espectroradiometria/science_arquivos/0_002.gif modis/espectroradiometria/science_arquivos/0_003.gif modis/espectroradiometria/science_arquivos/0_004.gif modis/espectroradiometria/science_arquivos/0_005.gif modis/espectroradiometria/science_arquivos/0_006.gif modis/espectroradiometria/science_arquivos/0_007.gif modis/espectroradiometria/science_arquivos/0_008.gif modis/espectroradiometria/science_arquivos/0_009.gif modis/espectroradiometria/science_arquivos/0_010.gif modis/espectroradiometria/science_arquivos/0_011.gif modis/espectroradiometria/science_arquivos/0_012.gif modis/espectroradiometria/science_arquivos/0_013.gif modis/espectroradiometria/science_arquivos/exportarticle_a.gif modis/espectroradiometria/science_arquivos/gw_ol_rts.gif modis/espectroradiometria/science_arquivos/REemail.gif modis/espectroradiometria/science_arquivos/prevterm.gif modis/espectroradiometria/science_arquivos/sign_minus.gif modis/espectroradiometria/science_arquivos/btn_go1.gif modis/espectroradiometria/science_arquivos/saveascitationalert_a.gif modis/espectroradiometria/science_arquivos/REcor.gif modis/espectroradiometria/science_arquivos/capeslogo.html modis/espectroradiometria/science_arquivos/logo.gif modis/espectroradiometria/science_arquivos/btn_clear1.gif modis/espectroradiometria/science_arquivos/blankhtml.html modis/espectroradiometria/science_arquivos/qs_tips.gif

43
4,0K 4,0K 4,0K 229K 228K 40K 4,0K 4,0K 4,0K 4,0K 4,0K 16K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 8,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 4,0K 12K 4,0K 4,0K 4,0K 4,0K modis/espectroradiometria/science_arquivos/sign_plus.gif modis/espectroradiometria/science_arquivos/rsscite.gif modis/espectroradiometria/science_arquivos/204e.gif modis/espectroradiometria/science_arquivos modis/espectroradiometria/science1.html modis/espectroradiometria/science1_arquivos/x.js modis/espectroradiometria/science1_arquivos/tree.gif modis/espectroradiometria/science1_arquivos/quicklink_a.gif modis/espectroradiometria/science1_arquivos/clear.gif modis/espectroradiometria/science1_arquivos/emailarticle_a.gif modis/espectroradiometria/science1_arquivos/0.gif modis/espectroradiometria/science1_arquivos/css_gen_v01.css modis/espectroradiometria/science1_arquivos/a.gif modis/espectroradiometria/science1_arquivos/nextterm.gif modis/espectroradiometria/science1_arquivos/space.gif modis/espectroradiometria/science1_arquivos/arrow_small_a.gif modis/espectroradiometria/science1_arquivos/citedby_a.gif modis/espectroradiometria/science1_arquivos/icon_doi.gif modis/espectroradiometria/science1_arquivos/css_art_v01.css modis/espectroradiometria/science1_arquivos/0_002.gif modis/espectroradiometria/science1_arquivos/0_003.gif modis/espectroradiometria/science1_arquivos/0_004.gif modis/espectroradiometria/science1_arquivos/0_005.gif modis/espectroradiometria/science1_arquivos/0_006.gif modis/espectroradiometria/science1_arquivos/0_007.gif modis/espectroradiometria/science1_arquivos/0_008.gif modis/espectroradiometria/science1_arquivos/0_009.gif modis/espectroradiometria/science1_arquivos/0_010.gif modis/espectroradiometria/science1_arquivos/0_011.gif modis/espectroradiometria/science1_arquivos/0_012.gif modis/espectroradiometria/science1_arquivos/0_013.gif modis/espectroradiometria/science1_arquivos/exportarticle_a.gif modis/espectroradiometria/science1_arquivos/gw_ol_rts.gif modis/espectroradiometria/science1_arquivos/REemail.gif modis/espectroradiometria/science1_arquivos/prevterm.gif modis/espectroradiometria/science1_arquivos/sign_minus.gif modis/espectroradiometria/science1_arquivos/btn_go1.gif modis/espectroradiometria/science1_arquivos/saveascitationalert_a.gif modis/espectroradiometria/science1_arquivos/REcor.gif modis/espectroradiometria/science1_arquivos/capeslogo.html modis/espectroradiometria/science1_arquivos/logo.gif modis/espectroradiometria/science1_arquivos/btn_clear1.gif modis/espectroradiometria/science1_arquivos/blankhtml.html modis/espectroradiometria/science1_arquivos/qs_tips.gif

44
4,0K 4,0K 4,0K 229K 1,3M 2,2M 25M 25M 3,8M 96K 220K 16K 71M modis/espectroradiometria/science1_arquivos/sign_plus.gif modis/espectroradiometria/science1_arquivos/rsscite.gif modis/espectroradiometria/science1_arquivos/204e.gif modis/espectroradiometria/science1_arquivos modis/espectroradiometria/science.htm modis/espectroradiometria modis/MRTLinux.zip modis/tools.asp modis/tools1.asp modis/unzip1 modis/5839-5845.pdf modis/install1 modis Essa lista ficou muito extensa. Se quisermos exibir somente o tamanho total de cada diretrio, retiramos o parmetro -a, acrescentamos o parmetro -s, e nos referenciamos a modis/* ao invs de modis: $ du -h -s modis/* 220K 2,2M 15M 16K 25M 3,8M 25M 96K modis/5839-5845.pdf modis/espectroradiometria modis/imgs-143-1108-2007 modis/install1 modis/MRTLinux.zip modis/tools1.asp modis/tools.asp modis/unzip1

Dessa ltima forma, porm, o tamanho total do diretrio no foi informado. Para isso, basta acrescentar o parmetro -c: $ du -h -s -c modis/* 220K 2,2M 15M 16K 25M 3,8M 25M 96K 71M modis/5839-5845.pdf modis/espectroradiometria modis/imgs-143-1108-2007 modis/install1 modis/MRTLinux.zip modis/tools1.asp modis/tools.asp modis/unzip1 total

45
free Comando muito utilizado para anlise do desempenho do sistema, o free exibe informaes sobre o uso de memria pelo computador. Sintaxe: $ free [-b / -k / -m] [-o] [-s delay ] [-t] Parmetros: -b: Exibe as quantidades em bytes; -k: Exibe as quantidades em kilobytes; -m: Exibe as quantidades em megabytes; -o: No exibe a linha -/+ buffers/cache; -s [tempo]: Especifica o intervalo de tempo, em segundos, entre as atualizaes das informaes. Se esse parmetro no for usado, exibida apenas uma informao. Se usado, vai exibindo as informaes indefinidamente no intervalo de tempo definido, at que o usurio pressione CTRL + C; -t: Exibe uma linha com os valores totais;

Vejamos o uso mais comum do free: $ free total Mem: Swap: 484408 1421712 -/+ buffers/cache: used 477704 264400 828 free 6704 220008 1420884 shared 0 buffers 64948 cached 148356

Das linhas acima, interpreta-se as seguintes informaes: . Memria RAM total: 484408 KB . Memria RAM usada: 477704 KB . Memria RAM livre: 6704 KB . Informaes em buffer: 64948 KB . Informaes em cache: 148356 KB . Memria swap total: 1421712 KB . Memria swap usada: 828 KB . Memria swap livre: 1420884 KB . Buffers/Cache usados: 264400 KB . Buffers/Cache livres: 220008 KB

46
A exibio em KB pode no ser muito confortvel. Se quiser que os tamanhos sejam exibidos em MB, utilize o parmetro -m: $ free -m total Mem: Swap: 496 1906 -/+ buffers/cache: used 489 277 0 free 7 219 1905 shared 0 buffers 66 cached 145

time Esse um comando muito til para medir o desempenho do sistema. Com o time podemos medir o tempo, em segundos, necessrios para executar um processo ou programa. Sintaxe: $ time [opes] [comando] Opes: -o [arquivo]: Grava as estatsticas coletadas durante a execuo do comando para o arquivo especificado, para anlise posterior; -a: Quando usado junto com o parmetro -o, no apaga o contedo do arquivo ao gravar as estatsticas; -v: Exibe os detalhes da execuo do comando.

Assim, suponha que voc tenha um script de backup, e queira saber quanto tempo ele demora para ser executado: $ time backup real user sys 0m39.054s 0m28.560s 0m0.689s

O campo real nos mostra quanto tempo o processo demorou para ser executado. No caso, 39,054 segundos. O campo user informa quanto tempo a CPU gastou processando apenas os dados do comando. Nesse exemplo, 28,560 segundos. O campo sys informa qual o intervalo mdia de espera da CPU entre cada ciclo de processamento dos dados do comando. Aqui, o tempo foi de 0,689 segundos.

uptime

47
Mostra o perodo em que o sistema permaneceu em processamento desde que foi ligado. Uso: $ uptime O uptime no possui parmetros. Basta digitar uptime no terminal. Veja um exemplo: $ uptime 16:40:18 up 7:48, 3 users, load average: 0.43, 0.29, 0.26 Aqui, vemos que o computador esteve ligado por 16:40 horas, mas s esteve em processamento durante 7:48 horas. Durante esse perodo, 3 usurios acessaram o sistema, e a carga mdia do sistema, que vai de 0 a 1, foi de 0,43 no ltimo 1 minuto, 0,29 nos ltimos 5 minutos e 0,26 nos ltimos 15 minutos. dmesg Esse comando utilizado para ver as mensagens de inicializao do sistema. til para analisar eventuais mensagens de erro exibidas devido a qualquer problema que esteja ocorrendo durante a inicializao. Sintaxe: Como as mensagens so muito extensas, utilize o more ou o less para visualizar as informaes: $ dmesg | more $ dmesg | less echo Exibe mensagens na tela. Esse comando utilizado principalmente para a construo de scripts de sistema. Sintaxe: $ echo [opes] [cadeia de caracteres] Opes: -n: No insere uma nova linha; -e: Ativa a interpretao de caracteres de escape, listados a seguir: \NNN: Cdigo ASCII octal do caracter;

48
\\: Barra invertida (\); \a: Alerta sonoro (beep); \b: Backspace; \c: No exibe a linha de final de arquivo; \f: Alimentao de formulrio (form feed); \n: Nova linha; \r: Retorno de carro (carriage return); \t: Tabulao horizontal; \v: Tabulao vertical.

Exemplos de uso: $ echo "Projeto geolix" Projeto geolix $ echo -e "Primeira linha\nSegunda linha\n\tTerceira linha com tabulao horizontal" Primeira linha Segunda linha Terceira linha com tabulao horizontal Com o uso de direcionadores, pode-se usar o echo para inserir texto em arquivos, com a seguinte sintaxe: $ echo [mensagem] [> / >>] [arquivo] Onde > apaga o contedo o arquivo, se existir, e >> adiciona o texto no final do arquivo. Exemplos de uso: $ echo -n > /etc/modules Apaga o contedo do arquivo /etc/modules. $ echo -e "192.168.0.35\tana.geolix.org\tana" >> /etc/hosts Adiciona a seguinte linha no arquivo /etc/hosts: 192.168.0.35 su Esse comando utilizado para um usurio assumir os privilgios de outro usurio do sistema. ana.geolix.org ana

49
Sintaxe: $ su [opes] [usurio] A digitar o comando necessrio digitar a senha do usurio selecionado. Se nenhum usurio for especificado, o sistema entende que o usurio quer assumir os privilgios de administrador do sistema (root). Uma opo muito til o parmetro -c, que permite executar um comando especfico com os privilgios do usurio selecionado, e ao trmino da execuo perder esses privilgios. Exemplos de uso: Um exemplo a compilao de um pacote. O comando make install, que faz a instalao propriamente dita do pacote, s pode ser executado pelo usurio root. Assim, temos que fazer o seguinte: $ su password: # make install # exit Ao invs disso, podemos simplesmente digitar: $ su -c "make install" password: O comando ser executado e, ao seu trmino, perdemos os privilgios de administrador de sistema. sync Esse comando utilizado para gravar os dados armazenados em cache nos locais apropriados. O uso mais comum para gravar os dados em unidades de disco removvel, geralmente disquete. Uso: O sync no possui parmetros. Para us-lo, execute: $ sync

50
reboot Reinicia o computador. Por padro, somente o root pode executar esse comando. Sintaxe: # reboot shutdown Usado para desligar o sistema. Por padro, somente o root pode executar o shutdown. Sintaxe: # shutdown [opes] [hora] [mensagem de alerta] Opes: -t [tempo]: Espera o tempo especificado (em segundos) entre matar os processos e mudar de nvel de execuo; -k: No desliga o sistema, apenas envia a mensagem de alerta a todos os usurios que esto conectados; -r: Reinicia o sistema aps o desligamento; -h: Desliga o computador; -f: No roda o utilitrio fsck no caso de reiniciar o sistema; -F: Fora o uso do fsck no reincio do sistema; -c: Cancela um processo de desligamento que esteja sendo executado no momento.

Em [hora] voc pode especificar o horrio exato para o sistema desligar, como 12:34, por exemplo, ou ento utilizar +[n], para desligar o sistema daqui a [n] minutos. Para desligar o sistema imediatamente, use +0 ou a palavra now. A mensagem de alerta ser enviada a todos os usurios conectados ao sistema, para que eles tenham tempo de salvar seus arquivos e se desconectarem. Exemplos de uso: O uso mais comum do shutdown para desligar o sistema o computador imediatamente: # shutdown -h now

51
7.5. Comandos de terminal clear Limpa a tela do terminal. Uso: $ clear

history O comando history (histrico) mostra a lista dos ltimos comandos executados pelo usurio corrente. Isso til quando h a necessidade de executar um comando extenso, com muitos parmetros, do qual no consigamos nos lembrar, ou para fazer auditoria. Sintaxe: $ history [opes] Exemplos de uso: $ history 104 su 105 exit 106 vim teste.php 107 cp teste.php /var/www/ 108 su 109 su 110 find / -name my.snf 111 find / -name my.cnf 112 su 113 man psql 114 psql template1 postgres 115 psql template1 116 zmore /usr/share/doc/postgresql-8.2/README.Debian.gz 117 mysql -u root 118 cat /etc/apt/sources.list 119 su 120 exit 121 su 122 visudo 123 su -

52
124 exit Para executar novamente o comando man psql, basta anotar o seu nmero, e dar o comando: $ !113 Para procurar um determinado comando, use o history em conjunto com o grep. Considerando um outro exemplo e, um outro trecho resultante do comando history, pode-se procurar pelo comando normalize, pra ver quais parmetros devemos usar: $ history | grep normalize 480 normalize-ogg --bitrate 192 creed_-_say_i.ogg 485 normalize-mp3 --ogg --bitrate 192 creed_-_the_wall.mp3 493 normalize-mp3 --ogg --bitrate 192 vento_aragano.mp3 503 history | grep normalize Agora, podemos ver os parmetros que usamos anteriormente. Existem outros mtodos de utilizao do history, que podem ser vistos na sua pgina de manual: $ man history 7.6. 1.1 1.2 Formato padro de uma linha de comando 1.3 Comparao DOS X LINUX

7.6 Formato padro de uma linha de comando Geralmente os comando no LINUX, observam letras minsculas. Assim, o Shell, poder interpretar corretamente. Essa observncia, vlida tambm, para o nome de arquivos. Exemplo: arquivo.txt e ARQUIVO.TXT, so considerados arquivos distintos. Os comandos em LINUX, no podem ser abreviados, sendo seu formato padro, constitudo pelo nome do comando, seguido de opes e argumentos. Dessa forma, pode ser simplificado em sentena, da seguinte forma: geomatica@katrina:~$ comando [- opo...] [argumento...] A opo, ou opes, so letras que redefinem ou modificam a ao do comando, enquanto que o argumento, ou argumentos, so os objetos que sofrero a ao do comando.

53
Os nomes dos argumentos devem ser separados por espaos em branco, no podendo ser utilizada a vrgula. Pode-se porm, digitar mais de um comando em uma nica linha, desde que sejam separados por ponto e vrgula (;).

7.7 Comparao entre os comandos DOS e LINUX O objetivo apresentar uma relao de comandos equivalentes no DOS e o seu correspondente no sistema operacional LINUX.

Tabela 2 Correspondncia entre os comandos DOS e LINUX Comando do DOS ATTRIB CD CLS COMP COPY DATE DEL DELTREE DIR ECHO EDIT EDLIN HELP MD MORE MOVE PRINT RD REN SORT TIME TYPE VER XCOPY chmod cd clear diff cp date rm rm rf ls echo vi ed man mkdir more mv lp, lpr rmdir mv sort date cat uname a cp r Correspondente no LINUX

Obs.: Esta tabela mostra uma correspondncia entre alguns comandos do DOS e os comandos do LINUX e no uma equivalncia. Os comandos do LINUX so, em geral, mais complexos e poderosos do que os correspondentes no DOS.

54
8. Redirecionamento, filtros e pipes 8.1 Redirecionamento Normalmente, quando um comando executado, a sada direcionada para a tela do terminal e a entrada direcionada do teclado. Em vrias situaes, se faz necessrio redirecionar a entrada e/ou sada de um comando. O LINUX permite faz-lo de maneira simples e elegante, utilizando smbolos de redirecionamento de entrada e sada:

Tabela 3 - smbolos de Redirecionamento Smbolo > >> < 2> Descrio Redireciona a sada. Caso o arquivo j exista, seu contedo sobreposto, caso contrrio o arquivo criado. Redireciona a sada. Caso o arquivo j exista, seu contedo no sobreposto, mas sim inserido no final do arquivo. Redireciona a entrada. Redireciona a sada de mensagens de erros.

Exemplos: $ ls -l > diretor.lis $ cat diretor.lis $ Redireciona a sada do comando ls da tela para o arquivo diretor.lis. $ ls -l >> diretor.lis $ cat diretor.lis $ Redireciona a sada do comando ls da tela para o final do arquivo diretor.lis. $ cat < arq.txt $ Redireciona a entrada do comando cat do teclado para o arquivo arq.txt. $ date > arq.lis 2> arq.err $ Redireciona a sada do comando date para o arquivo arq.lis e redireciona qualquer

55
mensagem de erro para arquivo arq.err.

8.2 Filtros Filtros so comandos ou utilitrios que manipulam dados de entrada e geram uma nova sada. A seguir apresentamos os principais filtros: Sort: O comando sort permite ordenar um ou mais arquivos de entrada e gerar um novo arquivo de sada. Exemplo: $ cat alunos.txt Francisco LP Berra $ sort -o alunos.ord alunos.txt $ cat alunos.ord Berra Francisco LP $ Grep O comando grep (global regular expression printer) procura todas as ocorrncias de um determinado padro (string) em um ou mais arquivos de entrada. A sada do comando uma lista das linhas a onde o padro foi encontrado. Exemplo: $ cat arq.txt amo amor amora amoroso clamor namoro ramo $ grep 'moro' arq.txt amoroso

56
namoro $ 8.3 Pipes Suponha que voc queira utilizar a sada de um comando como entrada de um segundo comando. Uma maneira criar um arquivo temporrio para armazenar a sada do primeiro comando, utilizar o mesmo arquivo como entrada no comando seguinte e, posteriormente, eliminar o arquivo temporrio. Exemplo: $ who > temp.txt $ wc -l < temp.txt 10 $ rm temp.txt $ O comando who, que lista todos os usurios conectados ao sistema, cria o arquivo temporrio temp.txt. O comando wc -l, que conta o nmero de linhas do arquivo, utiliza o mesmo arquivo temporrio para informar quantos usurios esto conectados ao sistema. O LINUX permite que esse tipo de processamento seja implementado de forma bastante simples, utilizando o conceito de pipeline. Atravs da barra vertical ( | ), ou pipe, a sada de um comando pode ser direcionada para entrada de um outro comando sem a utilizao de arquivos temporrios. A idia do pipeline pode ser comparada a uma linha de montagem, onde uma linha de produo fornece insumos para outra linha, sucessivamente. Exemplos: $ who | wc -l 10 $ ls -l | grep '\.txt$' | sort | lpr O comando ls gera uma listagem completa dos arquivos e subdiretrios do diretrio de trabalho. O comando grep seleciona os arquivos que terminam com '.txt', a partir da sada comando ls. O comando sort ordena os arquivos selecionados pelo grep. Finalmente a lista dos arquivos impressa atravs do comando lpr. $ ls -l | sort +4n | grep '\.c$' O comando ls gera uma listagem completa dos arquivos e subdiretrios de trabalho. O comando sort ordena a sada em funo do tamanho de cada arquivo (+4n). O comando pega

57
a sada ordenada e seleciona apenas aqueles que terminem com '.c'. $ ls -l | sort +8 | grep '^d' O comando exibe uma lista de subdiretrios ordenados crescentemente. $ who | sort | tee usuarios.txt | wc -l O comando tee permite recuperar resultados intermedirios de pipes, permitindo, inclusive, armazenar a sada de um pipe em um arquivo.

9. Montando e Desmontando Dispositivos Muitos usurios, ao visitarem sites sobre o sistema operacional ou ao ouvirem o relato de colegas que j usam o Linux, sentem-se incentivados a experimentarem o sistema. A grande maioria j tem o sistema operacional Windows instalado e decide compartilhar o computador tambm com o Linux. Mas quase sempre, o usurio necessita acessar arquivos presentes na partio do Windows. Isso perfeitamente possvel, atravs de um processo conhecido como montagem da partio. Algumas distribuies Linux montam as parties Windows automaticamente, mas em outras, necessrio que o usurio faa isso manualmente. Esse processo simples e ser explicado aqui. Os procedimentos a seguir devem ser executados como usurio root ou outro que tenha permisses de administrador. 9.1 Discos O primeiro passo saber como identificar os discos (HD, CD-ROM, disquete) no Linux. Tais dispositivos, alm de outros (como a porta LPT1) so tidas como existentes no diretrio /dev/. O HD identificado como o dispositivo hda0 (hdb para outro HD no mesmo computador e assim por diante). O nmero 0, indica a partio no HD. Com isso, a segunda partio deve ser identificada como hda1, a terceira como hda2, enfim. No caso de HDs SCSI, as letras hd devem ser trocadas por sd, ficando da seguinte forma: sda0, sda1, sda2, etc. No caso do drive de disquete, a sigla para sua identificao fd0. Se houver outro drive, este deve ser identificado como fd1. No caso dos CD-ROMS, eles so identificados como HDs. Assim, se por exemplo, em seu computador h um HD e um CD-ROM, o HD poder ser reconhecido como hda e o CD como hdb. 9.2 Montando a partio Agora que j se sabe o que so e como funcionam os dispositivos no Linux, sero estudados os comandos mount e umount, que so os responsveis pela montagem dos dispositivos. Mas, antes de montar qualquer dispositivo, preciso saber quais dispositivos esto ligados a ele. Primeiramente, os arquivos que mapeiam dispositivos esto no diretrio /dev da estrutura de diretrios de seu Linux. Sero mostrados a seguir os dispositivos que so

58
mais freqentemente utilizados para montagem. A Tabela 4 apresenta os dispositivos mais usados no cotidiano, com seus respectivos perifricos.

Tabela 4 - Perifricos Arquivo hda hdaX hdb hdbX fd0 fd1 cdrom Mapeia qual perifrico Primeiro disco rgido instalado na mquina (master). A partio X do primeiro disco rgido instalado. hda1 mapeia a primeira partio do disco. O segundo disco rgido/CD-ROM instalado na mquina (slave). A partio X do primeiro disco rgido instalado. hdb1 mapeia a primeira partio do disco. O primeiro drive de disquete. O segundo drive de disquete. O drive de CD-ROM instalado na mquina (caso exista).

Vale aqui uma lembrana: em hd?X, o item X pode variar de acordo com o nmero de parties existentes no disco rgido e ? pode variar de acordo com o nmero de discos rgidos instalados na mquina. Para a partio Windows, voc deve saber qual das existentes ela. Em nosso exemplo, vamos supr que o Windows est na partio hda0 e o Linux na partio hda1. Tendo cincia disso, agora necessrio que voc crie um diretrio no Linux por onde a partio Windows dever ser acessada, ou seja, o ponto de montagem. Geralmente, este diretrio criado dentro da pasta /mnt/ mas pode ser criado em outro. Para o nosso exemplo, vamos chamar este diretrio de win. Assim, seu caminho /mnt/win. O prximo passo comando de montagem: mount - t [tipo] [caminho da partio] [ponto de montagem] Em nosso exemplo, o comando acima ficaria assim: mount -t vfat /dev/hda0 /mnt/win O tipo indica o sistema de arquivos utilizados na partio. Parties fat e fa32 so identificados como vfat. No caso de CD-ROM, o tipo deve ser especificado como iso9660. Por exemplo: mount -t iso9660 /dev/hdb /mnt/cdrom. As parties NTFS podem teriocamente, serem montadas do mesmo jeito. No entanto, existem problemas de compatibilidade entre o kernel do Linux e o sistema de arquivos NTFS, motivo pelo qual, a montagem desse tipo de partio deve seguir procedimentos especiais, que no sero explicadas aqui. Se a partio

59
que voc deseja montar for ext2 ou ext3, basta especificar estes nomes como tipo. No exemplo a seguir, ser demonstrado o procedimento para a montagem de um disquete formatado para Windows: # mount -t vfat /dev/fd0 /mnt/floppy Este comando instrui o kernel para que ele inclua o sistema de arquivos encontrado em /dev/fd0, que do tipo vfat, disponibilizando-o no diretrio /mnt/floppy. Caso haja algum arquivo no diretrio onde foi montado o disquete (ou outro sistema de arquivos), esse contedo ficar indisponvel enquanto o sistema de arquivos estiver montado. O diretrio /mnt/floppy referenciar o diretrio raiz ("/") do sistema de arquivos montado. Existem vrios tipos de dispositivos que podem ser montados. Na Tabela 5, Tipos de sistemas de arquivos constam os tipos mais utilizados. Tabela 5 - Tipos de sistemas de arquivos Tipo vfat ext2 ext3 reiserfs xfs jfs Descrio Disquete formatado para Windows. Disquete formatado para Linux. Disquete formatado para Linux. Formato usado para Linux Formato usado para Linux Formato usado para Linux

iso9660 CD-ROM.

Dica

Para montar dispositivos automaticamente, ou melhor, na hora do boot na

mquina, voc deve editar o arquivo /etc/fstab, onde dever acrescentar uma nova linha, indicando a montagem do dispositivo. Esta opo interessante para HDs com mais de uma partio.

Nota importante no remover um dispositivo (fsico), como um disquete de seu drive, enquanto ele permanecer montado. Existem operaes que so efetuadas quando um dispositivo desmontado. Uma delas a gravao de dados que possam estar no buffer de armazenamento, esperando ser gravados.

Depois que um sistema de arquivos montado, pode-se utiliz-lo normalmente. Ao final da utilizao do sistema de arquivos, deve-se desmont-lo para que se possa, por exemplo, remover o CD do drive. Para isso utilizado o comando umount, que desmonta o sistema de arquivos. A sintaxe do comando umount : umount dispositivo

60
ou ento: umount diretrio Normalmente, apenas o superusurio poder montar e desmontar um sistema de arquivos. Existe uma maneira simples para que o usurio comum acesse o disquete. So os comandos do pacote mtools. O mtools uma coleo de ferramentas que permite ao Linux manipular arquivos MS-DOS. Sempre que possvel o comando tenta simular o comando equivalente a esse sistema. Por exemplo, comandos como mdir a: funcionam na unidade de disquetes a: sem qualquer montagem ou inicializao prvia. Alguns dos comandos suportados pelo pacote mtools so: mattrib, mbadblocks, mcat, mcd, mclasserase, mcopy, mdel, mdeltree, mdir, mdoctorfat, mdu, mformat, minfo, mlabel, mmd, mmount, mpartition, mrd, mread, mmove, mren, mshowfat, mtoolstest, mtype, mwrite, mzip. Para utiliz-los, basta digitar o comando desejado em um terminal como no exemplo abaixo: $ mdir

10. Pacotes DEB O sistema operacional Debian GNU/Linux conta com uma das mais eficientes ferramentas de atualizao do sistema, tanto no que se refere a atualizaes crticas de segurana colocadas em servidores/repositrios pelo pessoal do desenvolvimento, como na instalao/remoo de programas. o chamado apt-get. A tecnologia implementada "engenharia" deste sistema simples de se entender. O Debian ao receber um comando da famlia apt-get, far a leitura do arquivo /etc/apt/sources.list onde est a configurao de repositrios que devero ser consultada para a realizao do comando executado. O arquivo sources.list possui as linhas descrevendo uma lista de repositrios (oficiais ou no) previamente editados segundo sua preferncia ou ainda, podem estar em um CD/DVD ou na web (mais comum). O Debian conta com 3 rvores de desenvolvimento: stable, unstable e testing. Ele famoso pela sua chatice na busca pela perfeio e estabilidade, por isso da demora de anos entre o lanamento de uma verso e outra (entre o Woody e o Sarge foram 3 anos, sendo que o normal entre as outras distros Linux de 6 meses a 1 ano). Atualmente a verso estvel recebeu o nome Etch, a testing o nome Lenny. Os pacotes baixados a partir da rvores stable, foram exaustivamente testados, transferindo-se todos os aspectos de confiabilidade de funcionamento bem como asseguradas as questes relativas a segurana do sistema operacional. Na rvore seguinte, encontram-se os pacotes que j se encontram em um nvel adiantado de testes e desenvolvimento (segundo os padres Debian, no verdade universal

61
para todas distros, pois muitas delas apresentam pacotes aqui relatados como

unstable/testing, como default em seus lanamentos - o que nunca vai ocorrer no Debian, voc escolhe os seus riscos). O testing, por sua vez, contm pacotes menos testados e com maior probabilidade de "bugs". Como eu estava cansado de travamentos, erros e falhas no "outro" sistema, eu sempre uso apenas pacotes stable, salvo raras excees e recomendo que o faam tambm. o forte deste sistema operacional: estabilidade.

10.1 Editando o arquivo sources.list Voc pode editar o sources.list com o editor gedit, da seguinte maneira: # gedit /etc/apt/sources.list No vou descrever aqui o por qu destes comandos, pois sei que voc j leu o Guia Foca Linux e j est craque no shell, no? :) Note que deve ser feito como root, portanto preste ateno. Com grandes poderes, voc automaticamente ganha grandes responsabilidades. Cada linha que voc enxerga um repositrio Debian. Caso a linha esteja com um smbolo "#" na frente, significa que ela ser ignorada. A linha com a referncia security updates especialmente importante, porque neste repositrio que o pessoal do desenvolvimento lana verses com correo a nvel de segurana. Deixe-a sempre desmarcada. Marque a linha referente ao CD-ROM, pois geralmente, as atualizao sero obtidas direto da web. Adicione as seguintes linhas no arquivo:

deb http://ftp.br.debian.org/debian/ etch main deb http://ftp.us.debian.org/debian/ etch main So os repositrios brasileiro e norte-americano da rvore stable. Eu prefiro sempre deixar dois ou trs servidores em aberto, porque voc no fica sem o pacote desejado caso algum deles esteja fora do ar. Mais repositrios voc encontra na pgina oficial do projeto. Salve o arquivo.

10.2 Atualizando o sistema com o apt-get Primeiro comando: o apt-get update

62
Entre em um terminal, como root, e digite: # apt-get update O sistema procurar nos repositrios os pacotes que eles contm e formar uma lista para sua anlise. Agora que sua lista de pacotes est sincronizada com os repositrios Debian, experimente o prximo comando: # apt-get install gnome-audio Significa que que o apt-get vai carregar o binrio gnome-audio (pacote), verificar suas dependncias e depois instal-lo para voc. Este pacote o responsvel por eventos de som no Gnome, pode instal-lo sem problemas.

Mais um comando para sua lista: # apt-get remove gnome-audio Este comando, por sua vez, remover aquele pacote de seu sistema. Se quiser que at arquivos de configurao sejam removidos: # apt-get remove --purge gnome-audio Vamos atualizar seu sistema agora, com novas verses de pacotes transferidas para a rvore stable, bem como as de segurana:

# apt-get dist-upgrade Dependendo da verso instalada em sua mquina, ao executar este comando, far com que o processo de atualizao ir requerer muitos megabytes para atualizar. Vai depender da data de lanamento da verso que est sendo usada e da data que var ser realizada a atualizao. Caso o usurio no saiba o nome do pacote, pode ser aplicado ento o comando abaixo: # apt-cache search games

63
10.3 O synaptic Caso no tenha se sentido confortvel com o terminal de comandos, o Gnome oferece um front-end para o apt-get chamado Synaptic. Instale-o primeiramente: # apt-get install synaptic Depois da instalao ele j aparece no seu menu "Sistema". L voc vai ver, graficamente, tudo o que acontece e pode dar uma passeada nas sees de pacotes, muito bem organizadas. Para instalar um pacote, basta clicar com o mouse em cima do quadrado esquerda de seu nome e seleciona: marcar para instalao. Pronto, simples e prtico.

Caso se queira maiores detalhes sobre o apt, digite no terminal o comando: # man apt-get Esse comando apresenta um manual completo de uso do apt-get com opes e argumentos.

NOME apt-get - APT pacote utilitrio interface linha de comando SINOPSE apt-get [-hvs] [-o=config string] [-c=file] {[update] | [upgrade] | [dselect-upgrade] | [install pkg...] | [remove pkg...] | [purge pkg...] | [source pkg...] | [build-dep pkg...] | [check] | [clean] | [autoclean] | [autoremove]} DESCRIO apt-get uma ferramenta por linha de comando para obteno de pacotes, e pode ser considearda pelos usurios de back-end para outras ferramentas usando a biblioteca APT. Outras interfaces em modo terminal existem com front-end, como o dselect, o aptitude, synaptic, gnome-apt e o wajig. A opo -h ou --help, apresenta informaes sobre a funcionalidade dos argumentos mostrados abaixo. Argumentos update usado para resincronizar os ndices dos pacotes a partir de suas fontes. Os ndices so avaliados para os pacotes obtidos de localizao especfica em /etc/apt/sources.list. Por exemplo, quando estiver usando um arquivo Debian, esse comando faz uma varredura e retorna arquivos Packages.gz disponveis. Uma atualizao mostra os pacotes novos e

64
atualizados. Essa opo update, deve ser sempre executada antes das opes upgrade e distupgrade. upgrade usado para instalar verses mais recentes de todos os pacotes atualmente instalados a partir do /etc/apt/sources.list. Em nenhuma circunstncia, pacotes instalados no sistema, sero removidos a no ser que as novas verses apresentem alteraes nas suas dependncias. Assim, uma atualizao com update deve ser efetuada antes, com o objetivo de ser reconhecido pelo sistema uma nova atualizao. dselect-upgrade O deselect-upgrade usado em conjuno com o front-end, deselect. O deselectupgrade segue as alteraes pelo deselect para os pacotes e permite aes necessrias para realizar remoo de pacotes antigos e instalao de novos.

dist-upgrade O dist-upgrade permite realizar uma atualizao de sistema de forma inteligente alterando quando necessrio as novas verses dos pacotes. O arquivo sources.list do diretrio /etc/apt/ dever conter uma lista de localizaes dos pacotes desejados. Essas preferncias do usurio devem ser editadas nesse arquivo antes de executar esta opo. install A opo install seguida de um ou mais nomes de pacotes desejados para a instalao. Cada pacote tem um nome, e no completamente qualificado por um nome de arquivo (por instncia, no sistema Debian GNU/Linux, libc6 pode ser o argumento provido, e no libc6_1.9.6-2.db). Todos os pacotes requeridos por um pacote especfico para instalao dever ser recuperado e instalado. O arquivo /etc/apt/sources.list usado para localizar o pacote desejado. Uma verso especfica do pacote pode ser instalada utilizando-se o nome completo do pacote evidenciando-se no nome a sua verso (estvel, teste, instvel). remove O remove, idntico ao install, exceto que os pacotes so removidos se estiverem instalados. Se um sinal de + estiver associado ao nome do pacote separado antecedido por um espao, o pacote dever ser instalado se no foi removido. purge A opo purge idntica ao remove exceto que os pacotes sero removidos com todas suas dependncias e arquivos ligados, entre esses, aqueles arquivos de configurao dos

65
pacotes removidos. source O argumento source faz com que o apt-get faa o download dos pacotes fontes. O APT dever examinar os pacotes disponveis para decidir qual pacote fonte dever ser procurado. Isto, far a busca de pacotes em verses mais recentes para fazer o download do cdigo fonte. Os pacotes fontes, so obtidos a partir da edio de linhas no arquivo sources.list iniciadas por deb-src. Quando utilizada a opo --compile, o pacote dever ser compilado para um pacote binrio com a extenso .deb usando-se o dpkg-buildpackage. Se for utilizada a opo download-only, o pacote no ser descompactado.

build-dep O build-dep faz com que o apt-get instale ou remova pacotes satisfazendo e considerando as dependncias para um pacote fonte. check uma ferramenta de diagnstico; ela atualiza o cache e verifica dependncias quebradas. clean O clean apaga o respositrio local dos pacotes instalados. Isso faz com que seja liberado espao de disco.

autoclean Da mesma maneira que o clean, o autoclean, remove do repositrio local os pacotes. A diferena est que esse, somente remove os arquivos de pacote que no foram totalmente baixados e so largamente utilizados.

autoremove O autoremove usado para remover pacotes que foram automaticamente instalados para satisfazer dependncias para alguns pacotes no mais necessrios.

OPES Toda a linha de comando pode ser estabelecida usando um arquivo de configurao, em

66
que as descries indicam as opes de configurao fixadas. Para opes boolean voc pode sobreescrever o arquivo config usando -f, --no-f, -f=no ou outras variaes. -d, --download-only Realiza somente o download; os arquivos so somente recuperados (download) sem serem descompactados ou instalados.

-f, --fix-broken Fixa. Confere a correo ao sistema de dependncias quebradas. Essa opo quando usada com os argumentos install/remove, pode omitir pacotes para permitir a soluo no APT. Qualquer pacote ter o problema completamente corrigido. Existe a possibilidade que estrutura de dependncias possa estar corrompida e, nesse caso, necessrio uma interveno manual para corrigir essa situao. Para isso, geralmente utiliza-se o comando dpkg --remove para eliminar alguns pacotes com problemas.

-m, --ignore-missing, --fix-missing Ignora pacotes conflitantes; Se esses pacotes no puderem ser recuperados ou falhar a verificao da sua integridade depois de recuperados (arquivos de pacotes corrompidos), use a opo -f que dever produzir um erro para algumas das situaes.

--no-download Desabilita o download de pacotes. Isto melhor usado com --ignore-missing para forar o APT a usar somente os pacotes .deb j utilizados.

-q, --quiet Silencioso; produz uma sada para logging, omitindo indicadores de progresso. Pode-se usar a opo -q=# onde o # o nvel (nmero) que se deseja para produzir uma sada.

-s, --simulate, --just-print, --dry-run, --recon, --no-act Sem ao; executa uma simulao de eventos que dever ocorrer no sistema mas sem executar alteraes no sistema instalado. Simula impresses com a sada de uma srie de linhas cada uma, representando uma operao dpkg, configura(conf), remove (remv), unpack (inst). Sinais de raiz quadrada, indicam pacotes quebrados que so de ocorrncias raras.

67
-y, --yes, --assume-yes Automatiza o prompt para yes; assume yes como resposta para todos os prompts e execues de processamentos no interativos.

-u, --show-upgraded Mostra pacotes atualizados; Apresenta uma lista de todos os pacotes que foram atualizados.

-V, --verbose-versions Mostra as verses completas para os pacotes instalados e atualizados.

-b, --compile, --build Compila os pacotes fontes depois de executar o downloads deles.

--ignore-hold Ignora pacotes; Isso faz com que o apt-get ignore um pacote substitudo. Deve ser utilizado em conjuno com o dist-upgrade para sobreescrever um nmero grande e indesejado.

--no-upgrade No atualiza pacotes; Quando usado em conjuno com o install, a opo no-upgrade far com que os pacotes no sofram atualizaes se eles j estiverem instalados.

--force-yes Fora yes; Essa opo pode ser perigosa pois dever fazer com que o apt continue o processo sem solicitar interveno do usurio. Isso, no deve ser usado a no ser em situaes muito especiais.

--print-uris

68
Em vez de buscar os arquivos, so mostradas as usas URIs. Cada URI ter seu caminho, o nome do arquivo de destino, o tamanho e o md5 (chave para verificao de integridade). Observe que o nome do arquivo a ser escrito no necessariamente ser o mesmo existente no stio remoto. Essa opo tambm funciona com os argumentos source e update. Quando usado com o comando update, o MD5 e o tamanho no so includos, faz com que o usurio deva fazer a descompresso dos arquivos. --purge Use purge em vez de remove, para qualquer pacote a ser removido. Um asterisco dever aparecer ao lado do pacote a ser eliminado. --reinstall Reinstala pacotes que sempre estiveram instalados na verso mais recente.

--list-cleanup Essa opo padro (default) ligada, use --no-list-cleanup para tornar desligado. Quando ligado (on) o apt-get dever automaticamente gerenciar os contedos de /var/lib/apt/lists para assegurar que esses arquivos obsoletos seja apagados. Por essa razo, somente o torne desligado, se constantemente for alterada a lista de configurao.

-t, --target-release, --default-release Essa opo controla a entrada padro. um controle sobre qual distribuio dos pacotes deve ser instalados. Exemplo: -t unstable.

--trivial-only Somente para operaes triviais, assume a opo yes. Logicamente, isso pode estar relacionado com a resposta yes para qualquer prompt.

--no-remove Se algum pacote deve ser removido o apt-get imediatamente aborta sem o prompt.

--auto-remove

69
Se o comando for instalar ou remover, as aes deste argumento de comando dever remover dependncias e pacotes no utilizados.

--only-source Somente tem o significado para os argumentos do comando source e build-dep. Indica que os nomes que iniciam com o nome fonte, no sero mapeados para a tabela binria. Isso significa que esta opo especfica, que ser aceita somente para nome de pacotes como argumentos.

--diff-only, --dsc-only, --tar-only Faz o download somente o diff, dsc, ou arquivo tar de um arquivo fonte.

--arch-only Somente processa a dependncia da arquitetura, construindo as dependncias. --allow-unauthenticated Ignora se os pacotes no so autenticados.

-h, --help Mostra um pequeno resumo de uso.

-v, --version Mostra a verso do programa.

-c, --config-file Arquivo de configurao; Especificar um arquivo de configurao para uso. O programa dever ler a configurao padro e essa, o arquivo de configurao.

-o, --option

70
Estabelece uma opo de configurao; Essa dever estabelecer uma opo de configurao arbitrria.

ARQUIVOS /etc/apt/sources.list Determinar de onde os pacotes devem ser buscados.

/etc/apt/apt.conf Arquivo de configurao do APT.

/etc/apt/apt.conf.d/ Fragmentos do arquivo de configurao do APT.

/etc/apt/preferences Arquivo de preferncias verso. Esse arquivo poder especificar o pinning, isto , a preferncia para buscar certos pacotes de uma fonte separada ou de uma verso diferente de uma distribuio. /var/cache/apt/archives/ rea de armazename o dos arquivos de pacotes baixados.

/var/cache/apt/archives/partial/ rea de armazenamento transitria para os pacotes.

/var/lib/apt/lists/ rea que armazena a informao para o estado de cada pacote fonte especificado em sources.list.

/var/lib/apt/lists/partial/

71
rea para armazenamento da informao do estado temporrio.

11. Permisses Cada arquivo no LINUX apresenta trs nveis de proteo definidos por trs categorias de usurios. Todo arquivo ou diretrio tem um dono (user) e pertence a um grupo (group). Qualquer usurio do sistema que no seja o dono do arquivo e no pertena ao grupo do arquivo enquadra-se na categoria outros (others). O administrador do sistema, o chamado superusurio (root), no pertence a nenhuma das categorias acima, tendo acesso irrestrito a todos os arquivos do sistema. Para cada categoria de usurio, existem trs tipos de acesso que podem ser concedidos: leitura (read), escrita (write) e execuo (execute). O sistema LINUX no faz distino entre os acessos de escrita e a eliminao, ou seja, um arquivo que pode ser alterado tambm pode ser eliminado. As tabelas abaixo mostram as permisses para arquivos e diretrios: Tabela 6: Permisses de arquivos Arquivos r w x Descrio Permisso para ler e copiar o arquivo. Permisso para alterar ou eliminar o arquivo. Permisso para executar o arquivo.

Tabela 7 - Permisses de diretrios Diretrios r w x Descrio Permisso para ler o contedo do diretrio (listar o nome dos arquivos). Permisso para criar, remover e renomear arquivos no diretrio. Permisso de busca: O usurio que no possuir esta permisso no poder se posicionar no diretrio nem acessar os arquivos na rvore abaixo deste diretrio.

Atravs da opo -l do comando ls podemos visualizar o cdigo de proteo dos arquivos. Este cdigo est representado pelos 9 caracteres que seguem o tipo de cada arquivo (primeiro caractere). Os trs primeiros caracteres correspondem a proteo para o dono (user) do arquivo, os trs prximos definem a proteo para a categoria grupo (group) e os ltimos trs caracteres especificam a proteo do arquivo em relao ao demais usurios (other). Ento, as setenas abaixo, significam:

72
-rwxrwxrwx um arquivo no qual usurios, grupos e outros possuem acesso para leitura, escrita e execuo. -rwxr-xr-x um arquivo no qual s o usurio possue todas as permisses de leitura, escrita e execuo. No entanto, grupos e outros usurios, s possuem permisses para leitura e execuo. Exemplo: Usando o comando ls com a opo -al: $ ls -al rudiney@katrina:~/cnpq$ ls -al total 3213 drwxr-xr-x 3 rudiney rudiney drwxr-xr-x 74 rudiney rudiney -rw-r--r--rw-r--r-$ No exemplo acima, o comando aplicado no diretrio cnpq do usurio rudiney na mquina katrina, mostra algumas informaes. Para o arquivo ana.doc o usurio rudiney (dono do arquivo), no grupo rudiney pode ler e alterar, porm no pode executar. Para o arquivo renata.doc o usurio rudiney (dono do arquivo) possui acesso para leitura e escrita mas, no tem acesso para execuo, enquanto grupo rudiney e outros, s possuem acesso para leitura. A proteo assinalada ao arquivo diretrio determina o primeiro nvel de proteo para todos os arquivos deste diretrio e tem prioridade sobre as protees associadas individualmente a cada arquivo. Por exemplo, caso um usurio no tenha permisso de escrita em um arquivo diretrio, no poder eliminar nenhum arquivo deste diretrio, ainda que as protees dos arquivos indiquem o contrrio. drwxr-xr-x 8 rudiney rudiney 176 2007-08-10 17:28 . 3504 2007-08-19 17:39 .. 280 2007-08-10 17:28 PROJETO_CNPQ

1 rudiney rudiney 350208 2007-08-04 16:48 ana.doc 1 rudiney rudiney 1408512 2007-08-04 16:52 renata.doc

11.1 Alterao das Permisses Para alterarmos as permisses em um arquivo utilizamos o comando chmod (change file mode). Ele possui dois formatos:

Formato 1 $ chmod [ugoa] [+=-] [rwx ugo] arquivos A letra u representa os privilgios do dono do arquivo; a letra g os privilgios do grupo e a letra o os privilgios dos demais usurios. A letra a (all) representa todas as categorias de

73
usurios. O sinal + significa a adio de um privilgio e o sinal - a retirada de um privilgio. As opes r, w e x representam respectivamente as permisses de leitura, escrita(alterao) e execuo. Podemos alterar vrios privilgios em um nico comando, separando-os por vrgulas. Classes de usurios e nveis de proteo que no forem especificados no comando no sero alterados.

Exemplo: $ ls -l -rw-rw-rw- 1 ana alunos 138 Ago 14 16:15 arquivo $ chmod g-w,o-rw arquivo $ ls -l -rw-r----$ 1 ana alunos 138 Ago 14 16:30 arquivo

Formato 2 $ chmod nnn arquivo Onde nnn o cdigo em hexadecimal que representa os tipos de acesso concedidos cada categoria de usurio. Cada permisso tem um nmero associado: execute = 1 write read =2 = 4.

A tabela abaixo ilustra as combinaes possveis: Tabela 8 - Representao de permisses atravs de nmero hexadecimal. Nmero em hexadecimal 0 1 2 3 4 5 6 7 ----x -w-wx r-r-x rwrwx Nenhum acesso permitido. Acesso para execuo Acesso para escrita Acesso para escrita e execuo Acesso para leitura Acesso para leitura e execuo Acesso para leitura e execuo Acesso para leitura, escrita e execuo Permisses Descrio

74
Exemplo: $ ls -l -rw-rw-rw- 1 ana alunos 138 Ago 14 16:15 $ chmod 640 arquivo $ ls -l -rw-r----$ 1 ana alunos 138 Ago 14 16:30 arquivo arquivo

11.2 Alterao do Grupo e Dono Se voc membro de mais de um grupo, voc pode eventualmente precisar alterar o grupo de um arquivo. Isto feito atravs do comando chgrp. Sua sintaxe : $ chgrp grupo arquivo Exemplos: $ ls -l arquivo -rw-r----1 ana alunos 138 Ago 14 16:15 arquivo

$ chgrp monitores arquivo $ ls -l arquivo -rw-r----- 1 ana $ Caso se deseja pesquisar quais grupos existem no sistema, pode-se utilizar o comando cat /etc/group da seguinte forma: $ cat /etc/group importante ressaltar que para utilizar o comando chgrp, o usurio deve pertencer ao novo grupo especificado e ser o dono do arquivo, ou ento o superusurio. Enquanto o comando chgrp permite a alterao do grupo do arquivo, o comando chown permite alterar o seu owner (dono). # chown dono arquivo monitores 138 Ago 14 16:25 arquivo

75
Exemplos: # ls -l arquivo -rw-r----- 1 # ls -l arquivo -rw-r----- 1 # Este comando s pode ser utilizado pelo superusurio, pois s ele tem acesso a todas as contas e usernames do sistema. paulo alunos 138 Jan 14 16:25 arquivo ana alunos 138 Jan 14 16:15 arquivo # chown luiz arquivo

12. Referncias para consulta Como o Linux um software gratuito, existem vrios sites com manuais e explicaes gratuitas sobre o mesmo, ou seja, grande parte dos assuntos discutidos sobre o Linux pode ser encontrada nestes sites. Abaixo podemos conferir alguns desses sites: 1. http://focalinux.cipsga.org.br/ : site com vrios manuais para downloads. 2. http://www.linux.org/ : site oficial do Linux onde todas as distribuies podem ser baixadas gratuitamente sem dificuldades. 3. http://www.softwarelivre.gov.br/links : site com vrios links importantes sobre o Linux. 4. http://www.debian.org : site oficial de suporte da distribuio DEBIAN com um conjunto de informaes e documentao muito completa sobre esta distribuio. 5. http://www.rau-tu.unicamp.br/linux/ : site de perguntas e respostas sobre Linux. Caso no encontre a resposta no site, voc pode formular e enviar sua pergunta e aguardar uma resposta de um colaborador. 6. http://www.dicas-l.com.br : site de dicas sobre linux atualizado diariamente. Possui lista de usurios, rea de documentao e pesquisa sobre solues de problemas.

Você também pode gostar