Вы находитесь на странице: 1из 71

RH033 - Red Hat Linux Essentials.

Unidade 1 - Histria e Idias do Linux Unidade 2 - Princpios Gerais Bsicos do Uso no Linux Unidade 3 - Execuo de Comandos e Obteno de Ajuda Unidade 4 - Explorao do Sistema de Arquivos Unidade 5 - Usurios, grupos e permisses Unidade 6 - Uso do Bash Shell Unidade 7 - I/O Padres e Pipes Unidade 8 - Ferramentas para o Processamento de Textos Unidade 9 - vim: um editor de texto avanado Unidade 10 - Ferramentas de Configurao do sistema Unidade 11 - Investigao e Administrao de Processos Unidade 12 - Configurao do Bash Shell Unidade 13 - Busca e Processamento de Arquivos Unidade 14 - Network Clients Unidade 15 - Temas Avanados em Usurios, Grupos e Permisses

RH033 - Red Hat Linux Essentials.

Unidade 1 - Histria e Idias do Linux


Voc suspira pelos bons tempos do Minix-1.1, quando os homens eram homens e escreviam seus prprios "device drivers"?Voc est sem um bom projeto em mos e deseja trabalhar num S.O. que possa modificar de acordo com as suas necessidades? Acha frustrante quando tudo funciona no Minix? Chega de noite ao computador para conseguir que os programas funcionem? Ento esta mensagem pode ser exatamente para voc. Como eu mencionei h um ms atrs, estou trabalhando numa verso independente de um S.O. similar ao Minix para computadores AT-386. Ele est, finalmente, prximo do estado em que poder ser utilizado (embora possa no ser o que voc espera), e eu estou disposto a disponibilizar o cdigo-fonte para ampla distribuio. Ele est na verso 0.02... contudo eu tive sucesso ao executar bash , gcc , gnu-make, gnu-sed, compresso etc. nele.

RH033 - Red Hat Linux Essentials.

Unidade 2 - Princpios Gerais Bsicos do Uso no Linux


OBS: Regra n 1 Nunca, nunca use o root se puder evitar.
Login: usuario Password: [usuario@localhosst Desktop]$ [usuario@localhosst Desktop]$ cd / (aperte enter) [usuario@localhosst /]$ cd /home/usuario/Desktop (aperte enter) [usuario@localhosst Desktop]$ cd / (aperte enter) [usuario@localhosst /]$ ls (aperte enter) bin dev initrd.img lib32 media proc selinux tmp vmlinuz boot etc initrd.img.old lib64 mnt root srv usr vmlinuz.old cdrom home lib lost+found opt sbin sys var [usuario@localhosst /]$ cd /home/usuario/Desktop (aperte enter) [usuario@localhosst Desktop]$ ls (aperte enter) [usuario@localhosst Desktop]$ pwd /home/usuario/Desktop [usuario@localhosst Desktop]$

Unidade 2 - Princpios Gerais Bsicos do Uso no Linux


[usuario@localhosst Desktop]$ cd .. ( aperte enter ) [usuario@localhosst ~]$ cd .. (aperte enter) [usuario@localhosst home]$ ls usuario [usuario@localhosst ~]$ cd .. (aperte enter) [usuario@localhosst /]$ ls bin dev initrd.img lib32 media proc selinux tmp vmlinuz boot etc initrd.img.old lib64 mnt root srv usr vmlinuz.old cdrom home lib lost+found opt sbin sys var [usuario@localhosst /]$ cd /home/usuario/Desktop (aperte enter) [usuario@localhosst Desktop]$ cd / (aperte enter) [usuario@localhosst /]$ cd /h (aperte TAB) [usuario@localhosst /]$ cd /home/u (aperte TAB) [usuario@localhosst /]$ cd /home/usuario/Des (aperte TAB) [usuario@localhosst Desktop]$ clear (aperte enter)

Unidade 2 - Princpios Gerais Bsicos do Uso no Linux


[usuario@localhosst Desktop]$ echo $ps1 Case sensitive, A diferente de a [usuario@localhosst Desktop]$ echo $PS1 \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ [usuario@localhosst Desktop]$ touch teste.txt [usuario@localhosst Desktop]$ ls teste.txt Para logarmos como superusurio ( root ) podemos usar As opes su - , su -l ou su root [usuario@localhosst Desktop]$ su Passwd: [root@localhosst ~]# su usuario [usuario@localhosst Desktop]$

O root pode logar-se como qualquer usurio, sem precisar de senha, e em algumas Distribuies, at mesmo, se o usurio estiver bloqueado. O root no obedece a nenhuma regra, restio ou impedimento, por isso, quem usa o root DEVE saber o que esta fazendo.

Unidade 2 - Princpios Gerais Bsicos do Uso no Linux


[usuario@localhosst Desktop]$ ls teste.txt [usuario@localhosst Desktop]$ vi teste.txt

Linha, coluna

Pgina, caracter

Unidade 2 - Princpios Gerais Bsicos do Uso no Linux


Apertando a tecla esc podemos sair do mode de insero e entrar no modo comando. Apertando insert, acontece o oposto. No modo insero digitamos um texto, como em qualquer editor de texto, j no modo comando temos algumas ferramentas que podem nos ajudar.
:q Fechar. :w Salvar. :wq Fechar e salvar. :x Fechar e salvar tambem. :numero Vai para a pgina numero. /palavra Procura por palavra no texto. n Procura prxima ocorrncia de Expresso no texto N Procura ocorrncia anterior de Expresso no texto :yy Copia linha atual do texto para memria :p Cola contedo da memria no texto :dd Apaga linha atual (e coloca na memria) :n Comando : Um nmero n (1, 2, ...) seguido de qualquer comando executa o comando n vezes :u Desfaz ltima ao executada :. Refaz ltima ao executada

RH033 - Red Hat Linux Essentials.

Unidade 3 - Execuo de Comandos e Obteno de Ajuda


1 Leia o manual. 2 Procure na documentao off-line. 4 Use as ferramentas de ajuda do sistema 5 Google 6 Foruns, listas de discuo, wikis, etc. Software livre quase sempre sinonimo de software bem documentado ( nem sempre ), existe documentao ensinando, basta saber onde procurar.

Unidade 3 - Execuo de Comandos e Obteno de


Ajuda
Vamos comear com a o manual, o comando man
[usuario@localhosst Desktop]$ man [ferramenta] ( aperte enter ) Altere [ferramenta] pelo nome da ferramenta que deseja saber mais, como por exemplo a ferramenta vi. [usuario@localhosst Desktop]$ man vi Use os direcionais do teclado para navegar entre o texto, use a letra q para sair do manual. Como outro exemplo tambem podemos usar o man para lermos o manual do man [usuario@localhosst Desktop]$ man man As pginas de manual so divididas em 9 categorias, cada pgina dividida em vrias sesses como por exemplo: NAME, SYNOPSIS, CONFIGURATION, DESCRIPTION, OPTIONS, EXIT STATUS, RETURN VALUE, ERRORS, ENVIRONMENT, FILES, VERSIONS, CONFORMING TO, NOTES, BUGS, EXAMPLE, AUTHORS, and SEE ALSO.

Unidade 3 - Execuo de Comandos e Obteno de


Ajuda
Vamos comear com a documentao of-line que vem presente no proprio sistema. Todo pacote instalado traz com sigo pginas de manual, documentao e as vezes alguns how-to O endereo padro das pginas normalmente :

/usr/shared/doc/[nome-da-ferramenta]
Como exemplo [usuario@localhosst /]$ ls /usr/shared/doc/squid changelog.Debian.gz README.auth_module.msnt_auth.html.gz changelog.gz README.auth_module.ncsa_auth.gz CompleteFaq.gz README.auth_module.pam_auth.gz CONTRIBUTORS.gz README.auth_modules.gz copyright README.auth_module.smb_auth.gz debug-sections.txt.gz README.auth_module.unix_group.gz examples README.Debian.gz NEWS.Debian.gz README.gz QUICKSTART.gz README.morefds.gz README.auth_module.digest_pw_auth.gz README.squid_kerb_auth.gz README.auth_module.getpwnam_auth.gz README.transparent-proxy.gz README.auth_module.ip_user.gz RELEASENOTES.html.gz README.auth_module.ldap_auth.gz

Unidade 3 - Execuo de Comandos e Obteno de


Ajuda
Ainda existe as ferramentas de ajuda do sistema, junto com o man O comando info criado pelo projeto GNU e cobre quase todas as ferramentas do projeto. A sintaxe Info [nome-do-programa] Tambm possvel usar a opo --help em cada comando digitado, como no exemplo: ls --help E quando no temos idia nem do comando necessrio para tal? O comando apropos procura por programas e comandos atravs da descrio. Sintaxe: apropos [descrio] por exemplo apropos e-mail E por ultimo, mas no menos importante o comando whatis. O comando whatis procura pelo comando no manual e retorna sua breve descrio. Exemplo: Whatis group

Unidade 3 - Execuo de Comandos e Obteno de


Ajuda
Sobre procurar ajuda na internet, depois do oraculo do saber ( google ) vamos procurar em fontes oficiais de informao confiavel: http://centosbr.org/modules/newbb/ Forum do CentOS http://www.br.redhat.com/docs/ Documentos e manuais, nem sempre em portugues. http://www.br.redhat.com/products/rhn/rhndetails/faq/ FAQ's e perguntas frequentes. http://www.howtoforge.com/ Se no tem no how-to forge por que no da para fazer. http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/pt-BR/index.html Ainda existe milhares de formas de conseguir ajuda e tirar duvidas, mas seria impossivel cataloga-las e dar exemplo aqui. Mas fica a dica, siga a ordem de busca colocada aqui e dificilmente no conseguira algo. Em ultima instncia, de algo muito alienigina, que nem o google conhece ( e provavelmente no existia at voc descobrir ) temos ainda a opo de entrar em contato direto com a red hat, porem somente os assinantes bl bl bl podem ligar para eles. Conforme o contrato eles podem, desde deslocar um tecnico at o local, como recompila o pacote (o software em si ou o proprio kernel ) especificamente para vocs e disponibilizar para download. Mas normalmente, se no seguir os passos que informei e ligar direto para a red hat, provavelmente o e-mail de resposta ser algo como: Por favor leia a pgina http://www.br.redhat.com/docs/inicio-for-dummies.html

RH033 - Red Hat Linux Essentials.


Descrio

Unidade 4 - Explorao do Sistema de Arquivos


Diretr io /bin/ /boot/ /dev/ /etc/ /home/ /lib/ /mnt/ Comandos binrios essenciais para todos os usurios (ex: cat, ls, cp) Arquivos do Bootloader (ex: ncleo, initrd). Dispositivos (ex: /dev/null). Arquivos de configurao especficos do computador. Diretrios de usurios. Diretrio com as bibliotecas essenciais para os arquivos binrios contidos nos diretrios /bin/ e /sbin/. Sistemas de arquivos "montados" temporariamente.

/media/ Pontos de "montagem" para mdia removvel, como CD-ROMs (surgiram na verso 2.3 do FHS). /opt/ /proc/ Pacotes estticos de aplicaes. Sistemas de arquivo virtual, que possui o estado do ncleo e processos do sistema; a maioria dos arquivos baseada no formato texto (ex: tempo de execuo, rede).

Unidade 4 - Explorao do Sistema de Arquivos


/root/ Diretrio home para o super usurio (root).

/sbin/
/tmp/ /srv/ /usr/ /var/ /var/lock/

Arquivos binrios para propsito de adminstrao do sistema.


Arquivos temporrios. (Ver tambm /var/tmp). Dados especficos que so servidos pelo sistema. Hierarquia secundria para dados compartilhados de usurios, cujo acesso restrito apenas para leitura. Arquivos "variveis", como logs, base de dados, pginas Web e arquivos de e-mail. Arquivos de lock. Utilizados para manter o controle sobre recursos em uso.

/var/log/
/var/mail/

Arquivos para log. Utilizado para log de dados em geral.


Caixas de email dos usurios do sistema.

/var/run/
/var/spool/ /var/tmp/

Contm informao sobre a execuo do sistema desde a sua ltima inicializao. (ex: usurios e daemons em execuo).
Spool para tarefas em espera para execuo. (ex: filas de impresso e emais ainda no lidos). Arquivos temporrios. Quando em modo multi-usurio, prefervel em relao ao /tmp.

RH033 - Red Hat Linux Essentials.

Unidade 5 - Usurios, grupos e permisses


Para estudarmos usurios, primeiro precisamos aprender do que constituido um usurio no linux. Todos os usurios so guardados no arquivo /etc/passwd e suas senhas em /etc/shadow Exememplo de entrada no arquivo /etc/passwd san:x:1000:1000:Samuel Santiago da Silva,,,:/home/san:/bin/bash

O arquivo dividido em colunas, o delimitador de coluna o : Como mostra a linha acima um usurio formado de 7colunas, sendo 1 User Name, unico no sistema, no pode ser repetido, case sensitive. 2 Senha, neste caso o x indica que a senha esta sombreada para o arquivo /etc/shadows. 3 UID user ID, numero unico no sistema que indica teu usurio. 4 GID Group ID, cada grupo tem um numero unico, mas vrios usurios podem ter o mesmo grupo e consequentemente o mesmo numero, vale lembrar que este campo represente o grupo padro do usurio, um usurio pode fazer parte de inumeros grupos. 5 Observaes, aqui voc pode colocar vrias informaes, separadas por virgula, mas por conveno colocamos o nome completo do usurio, mas tambem podemos colocar setor, telefone, ramal etc... 6 A pasta home do usurio, caso ele tenha uma 7 Qual o 1 programa que vai executar ao logar com esse usurio.

Unidade 5 - Usurios, grupos e permisses


Para ficar mais seguro e complexo o arquivo shadow s pode ser acessado pelo root Segue um exemplo de arquivo /etc/shadow
gdm:*:14728:0:99999:7::: san:$6$cQ2R2xGC$ZkrI.wMy8z9C8w54CGJ62r9Xkju2C/:14821:0:99999:7:::

O 1 campo mostra o user name, exatamente como em /etc/passwd O 2 campo mostra a senha criptografada Do 3 campo em diante so informaes de criao e expirao de senha.
Uma coisa interessante que mesmo que 2 usurios tenham senhas iguais o hast gerado para criptografar a senha ser diferente. Podemos setar a complexibilidade da senha no arquivo /etc/default/passwd Mesmo que saibamos como alterar diretamente no arquivo os usurios, no devemos mexer diretamente nos arquivos, usamos ferramentas simples mas muito completas. useradd, userdel, passwd, usermod

Unidade 5 - Usurios, grupos e permisses


Adduser [opes] [user name] Opes comumente usadas: -d - Caminho do diretrio home do usurio. -g - Especifica o grupo do usurio. -c - Inclui um comentrio referente ao usurio, tais como nome, setor, etc -s - Especifica o shell de comando que o usurio ir utilizar. -m - Cria o diretrio home do usurio e copia os arquivos de /etc/skel/ para o home criado Em algumas distribuies no h necessidade de incluirmos essa opo para a criao do home, mas para evitarmos no o criarmos bom acostumarmos a coloc-la na criao do usurio. No usamos a opo -p ( password ) pois a senha fica no history de comandos e pode ser recuperado, usamos o comando passwd para alterar a senha. Exemplo de criao de usurios: Adduser -d /home/san -g TI -c Samuel Santiago da Silva -m -s /bin/bash Uma coisa importante sobre a opo -s. Podemos criar um usurio que executa um servio, mas no pode logar no computador, um exemplo disso o usurio do apache que tem na opo -s o seguinte caminho /sbin/nologin Ou ainda podemos usar para que os usurio possam usar apenas 1 unico software enquanto estiverem logados.

Unidade 5 - Usurios, grupos e permisses


Por exemplo, vamos supor que colocamos a seguinte linha na opo -s adduser -d /home/san -g TI -c Samuel Santiago da Silva -m -s /bin/evolution Ao logar no computador vai abrir a tela do evolution ( atraz dessa janela no havera mais nada ) para o usurio e quando ele fechar esse programa automaticamente far logoff. Usurios criados dessa forma so usurios locais, funcionando somente no computador em que foram criados. Existe formas de centralizar o gerenciamente, como no AD, mas no nosso objetivo neste momento aprendermos sobre isso. Para trocar a senha ( ou definir uma, pois ainda no o fizemos ) usamos o comando passwd O root o unico usurio que pode trocar a senha de outros usurios, um usurio comum s consegue executar passwd para seu proprio usurio.

passwd [opes] [usurio]


Se [usurio] for omitido trocar a senha do usurio que executou o comando. Se [opes] for omitido vai apenas solicitar a nova senha do usurio. Opes frequentes: -e Expirar, expira a senha do usurio e o obriga a trocar a senha no proximo logon. -l Lock, trancar a senha do usurio, o mesmo no vai mais poder logar. -u unlock, destranca a senha do usurio, liberando para que o mesmo possa logar.

Unidade 5 - Usurios, grupos e permisses

Unidade 5 - Usurios, grupos e permisses


Os grupos, assim como os usurios so guardados dentro de um arquivo chamado /etc/group e as senhas de grupo so guardadas em /etc/gshadow. Exemplo de /etc/group
san:x:1000: sambashare:x:122:san vboxusers:x:123: 1 : Nome do grupo. 2 : Senha do grupo - Assim como as conas de usurios tm senhas, os grupos podem ter senhas para os seus membros. Se o campo de senha estiver vazio, significa que o grupo no requer senha, atualmente isso no muito usado. 3 : ID do grupo 4: lista de membros, lista o user name dos membros, separados por virgula. Exemplo de arquivo /etc/gshadow

san:!:: sambashare:!::san vboxusers:!::

Unidade 5 - Usurios, grupos e permisses


No exemplo anteriror o que temos
1 Nome do grupo 2 A senha criptografada do grupo. Se determinada, usurios no membros do grupo podem juntar-se a ele digitando a senha deste grupo usando o comando newgrp. Se o valor deste campo !, nenhum usurio pode acessar o grupo usando o comando newgrp. O valor !! tratado da mesma maneira como o valor ! no entanto, tambm indica que nenhuma senha foi determinada anteriormente. Se o valor zero, somente os membros do grupo podem nele se autenticar (log in). 3 Administradores do grupo Os membros do grupo aqui listados (numa lista delimitada por vrgulas) podem adicionar ou remover membros do grupo usando o comando gpasswd. 4 Membros do grupo Os membros do grupo aqui listados (numa lista separada por vrgulas) so membros regulares e no-administrativos do grupo

Unidade 5 - Usurios, grupos e permisses


No linux as permisses so mais simples, porem bem usadas podem se tornar um complexo esquema de acesso e controle. Para cada arquivo, guardamos a informao de tipo, permisso do dono, Grupo Dono e os outros. Reparem a saida de ls -lha

Reparem nas primeiras informaes a esquerda da imagem -rw------Cada representa um campo, que pode ser interpretado da seguinte forma.

Unidade 5 - Usurios, grupos e permisses


Dividimos esses Simbolos em 3 grupos de trs caracteres ( e sobra 1 ) comeando da direita para a esquerda, sendo Tipo, dono, grupo, outros

Unidade 5 - Usurios, grupos e permisses


O tipo de arquivo pode ser classifica das seguintes maneiras:

Arquivos comuns. So, por exemplo, arquivos de texto, arquivos de dados e arquivos binrios. Diretrios. So arquivos que contm nomes de outros arquivos que esto armazenados ou organizados em grupos. Links. So arquivos que fazem referncia a outros arquivos dentro do sistema de arquivos. So subdivididos em hard (diretos) e soft (simblicos) links. Caractere. So arquivos que representam dispositivos fsicos -hardware- que podem ser acessados seqencialmente, como portas paralelas e/ou seriais. Na verdade, so uma subdiviso dos device files -arquivos de dispositivos. Bloco. So arquivos que representam dispositivos fsicos que podem ser acessados em blocos de bytes, como o HD. Assim como os arquivos do tipo caractere, so uma subdiviso dos arquivos de dispositivos. Sockets. So arquivos utilizados para comunicao entre processos. Pipes. Tambm so arquivos utilizados para a comunicao entre processos

Unidade 5 - Usurios, grupos e permisses


Agora vamos entender as permisses:

Unidade 5 - Usurios, grupos e permisses


O padro de arquivos 644 O padro para diretorios 755
Para alterarmos as propriedades de uma pasta ou arquivo usamos o chmod [usuario@localhosst /]$ chmod [opes] <modo_arquivo> <arquivo> Opo Descrio -c Mostra informaes sobre os arquivos modificados. -f No imprime mensagens de erro. -R Recursivo. Muda o modo de acesso de todos os arquivos e subdiretrios abaixo do especificado. -v Descreve, detalhadamente, as alteraes de atributos. <modo_arquivo> Pode ser simblico ou absoluto.

Modo simblico: uma lista de expresses na forma <identificador><operando><valor>, separadas por vrgula. ...<identificador> u Usurio g Grupo o Outros a Todos (all). ...<Operando> + Adiciona permisses s existentes. - Retira a permisso das existentes. = Assinala, explicitamente, uma permisso (anulando as outras). ...<Valor> r Permisso para leitura. w Permisso para escrita. x Permisso para execuo. s Bit setuid, se atribudo a 'u'; bit setgid, se atribudo a 'g'. t Bit sticky.

Unidade 5 - Usurios, grupos e permisses


.Modo absoluto definido na forma <atributo_especial><dono><grupo><outros>, onde o <atributo_especial> opcional -caso seja omitido, assume-se o valor 0 (zero) como padro. ...<atributo_especial> 0 Nenhum atributo ligado. 1 Bit sticky ligado. 2 Bit setgid ligado. 3 Bits sticky e setgid ligados. 4 Bit setuid ligado. 5 Bits setuid e sticky ligados. 6 Bits setuid e setgid ligados. 7 Bits setuid, setgid e sticky ligados. ...<dono><grupo><outros> 0 Nenhuma permisso. 1 Permisso para execuo. 2 Permisso para escrita. 3 Permisso para escrita e execuo. 4 Permisso para leitura. 5 Permisso para leitura e execuo. 6 Permisso para leitura e escrita. 7 Permisso para leitura, execuo e escrita.

Unidade 5 - Usurios, grupos e permisses


Os bits de atributo definem um controle adicional s permisses de proteo do arquivo [Ferreira (2003)]. Os atributos de um arquivo so trs e cada um deles desempenha uma funo bem especfica. O primeiro conhecido como bit setuid, que, se estiver ativado, faz com que o arquivo seja executado como se o fosse pelo seu dono -no faz sentido para diretrios- [Ferreira (2003)]. Exemplo passwd O segundo atributo o bit setgid, que, se estiver ativado, faz com que o arquivo seja executado como se o fosse por um membro do grupo do seu dono -todo arquivo criado em um diretrio com o bit setgid ativado, criado com o mesmo grupo do diretrio[Ferreira (2003)]. Por fim, o terceiro atributo conhecido como bit sticky e, se estiver ligado, faz com que o arquivo possa ser apagado apenas pelo seu dono [Ferreira (2003)]. Um grande exemplo da utilizao deste bit de atributo est no diretrio /tmp, onde todos os usurios cadastrados no sistema podem utilizar o diretrio livremente. Contudo, nenhum usurio pode apag-lo, visto que ele pertence ao super-usurio -root- e possui o seu bit sticky ligado. Sendo assim, pode ser apagado apenas pelo usurio root.

Unidade 5 - Usurios, grupos e permisses


Estabelecendo as permisses especiais de forma octal 1000 = Ajusta o bit stickbit na execuo 2000 = Ajusta o bit setgid na execuo 4000 = Ajusta o bit setuid na execuo Veja os exemplos -rw-r--r-- 1 san san 201K 2010-08-18 11:47 vi.png san@NB-Vostro1020:~/Documentos/Curso Linux$ chmod 4644 vi.png -rwSr--r-- 1 san san 201K 2010-08-18 11:47 vi.png san@NB-Vostro1020:~/Documentos/Curso Linux$ chmod 2644 vi.png -rw-r-Sr-- 1 san san 201K 2010-08-18 11:47 vi.png san@NB-Vostro1020:~/Documentos/Curso Linux$ chmod 1644 vi.png -rw-r--r-T 1 san san 201K 2010-08-18 11:47 vi.png san@NB-Vostro1020:~/Documentos/Curso Linux$ chmod 1644 vi.png -rwSr-Sr-T 1 san san 201K 2010-08-18 11:47 vi.png Caso as opes padres ( wrx ) estiverem setadas ( existirem), as letras usadas sero minusculas. -rwsr-sr-t 1 san san 201K 2010-08-18 11:47 vi.png

Unidade 5 - Usurios, grupos e permisses

RH033 - Red Hat Linux Essentials.

Unidade 6 - Uso do Bash Shell


Nesta unidade vamos estudar comandos bsicos e como junta-los em ferramentas poderosas. Entre outros comandos vamos estudar: RPM, history, cut, head, tac e cat, tail, cp, mv e finalmente o mount. No Red Hat e derivados existe uma ferramenta muito poderosa para instalar e gerenciar pacotes ( programas ) chama rpm (Red Hat Package Manager ) O RPM possui cinco modos bsicos de operao: instalao, desinstalao, atualizao, consulta e verificao. A seguir passaremos a realizar uma anlise de cada um destes modos de operao. Softwares distribudos no formato rpm geralmente possuem a terminao .rpm, como por exemplo gnosamba0.3.3-1.i386.rpm. Esta representao contm o nome do software (gnosamba), a verso (0.3.3), nmero do release (1) e a arquitetura (i386). A instalao de um software requer nada mais do que a execuo, como superusurio root do comando: $ rpm -i gnosamba-0.3.3-1.i386.rpm

Unidade 6 - Uso do Bash Shell


A remoo de um pacote to simples quanto sua instalao: $ rpm -e netsaint-plugins Na remoo de um software basta especificar-se o seu nome. No necessrio indicar o nome completo (netsaint-plugins-1.2.4-1.i386.rpm). Na desinstalao, caso a remoo de um pacote implique em problemas para o funcionamento de outros softwares pela eliminao de componentes compartilhados, teremos o seguinte erro:

$ rpm -e kdelibs-1.1.2-9 error: removing these packages would break dependencies: libjscript.so.2 is needed by kdebase-1.1.2-11 ...
Caso realmente se deseje a remoo do software, ignorando todos e quaisquer problemas passveis de serem gerados, especificar a opo --nodeps na linha de comando: $ rpm -e --nodeps kdelibs-1.1.2-9

Unidade 6 - Uso do Bash Shell


A atualizao de um software tambm bastante simples: $ rpm -Uvh gnome-audio-1.0.0-7.noarch.rpm O que na verdade ocorre quando se faz a atualizao de um pacote que a verso anterior removida e substituda pela nova. A opo -U pode ser usada com segurana mesmo quando o software no se encontra instalado em seu sistema. O banco de dados RPM nos permite consultar a lista de softwares instalados. Isto feito atravs do comando rpm -q. Por exemplo, se quisermos verificar se o software gnosamba est instalado, basta emitir o comando: $ rpm -q gnosamba gnosamba-0.3.3-1

Unidade 6 - Uso do Bash Shell


As consultas podem tambm ser feitas de um modo mais genrico. Caso no seja conhecido o nome correto do software, pode-se proceder como abaixo: $ rpm -qa | grep samba samba-2.0.5a-1 gnosamba-0.3.3-1 samba-client-2.0.5a-1 Desta forma, conhecendo-se apenas uma parte do nome de um pacote, podemos obter a informao desejada conjugando o uso do programa rpm com o comando grep. O rpm nos permite determinar tambm a qual pacote pertence determinado arquivo. Por exemplo, se desejarmos determinar a qual pacote pertence o arquivo smbd, basta emitir o comando:

$ rpm -qf /usr/sbin/nmbd samba-2.0.5a-1

Unidade 6 - Uso do Bash Shell


Importante, necessrio que se especifique o caminho completo at o arquivo. Caso emitamos o comando: $ rpm -qf nmbd file nmbd: Arquivo ou diretrio no encontrado ser emitida uma mensagem de erro mesmo existindo o arquivo. 2.5 A verificao de um pacote consiste em comparar a informao entreos arquivos que o compem e aqueles que efetivamente se encontram no sistema. Esta comparao consiste em verificar, entre outras coisas, o tamanho, soma MD5, permisses, tipo de arquivo, a quem o arquivo deve pertencer (dono e grupo). O comando rpm -V verifica um pacote. Qualquer forma de verificao j abordada nos itens anteriores vlida. Por exemplo: $ rpm -V gnosamba

Unidade 6 - Uso do Bash Shell


Se tudo estiver correto nada impresso na tela. Caso algum arquivo estiver faltando, ser impressa uma mensagem de erro informando a inconsistncia encontrada: $ rpm -V gnosamba missing /usr/doc/gnosamba-0.3.3/TODO Neste caso o arquivo TODO, integrante do pacote gnosamba, est faltando. Se o seu sistema comear a se comportar misteriosamente, talvez valha a pena fazer uma verificao global: rpm -Va > verificacao-dependencias Como a sada deste comando em um sistema com problemas pode gerar muitas linhas, conveniente redirecionar o resultado para um arquivo para verificao posterior.

Unidade 6 - Uso do Bash Shell


O mecanismo history do Bourne Again Shell, uma caracterstica adaptada do C Shell, mantm uma lista dos comandos mais recentes executados pelos usurios, tambm chamados de eventos, fornecendo uma rpida maneira de reexecutar qualquer evento da lista. No bash digite history Existem opes que nos ajudam a usar o history de forma til. !! ( bang ) executa novamente o ltimo comando executado. !n n refere-se ao n do comando no historico. ! -n Refere-se ao comando atual -n no historico. !string refere-se ao comando mais atual que comece com string ^string1^string2 substituio rpida, repete o ultimo comando, trocando string1 por string2

Unidade 6 - Uso do Bash Shell


cut indicado para arquivos ou variveis com um separador comum entre os campos, ele trabalha com o conceito de delimitao de campos, pode ser espao, tab, ponto, ponto e virgula ou qualquer outro, voce define qual o delimitador, verifique no arquivo ou varivel o que pode ser usado como delimitador, cut vai usa-lo como separador de camplos.
As opes mais usadas so -d ( delimitador ) e -f (field, campo). Para usar voc indica qual o delimitador e quantos devem ser pulados, cut exibe o texto que voc solicitou, como no exemplo abaixo: san@NB-Vostro1020:~/Documentos/Curso Linux$ free -ml total used free shared buffers cached Mem: 3926 1565 2360 0 59 666 Low: 3926 1565 2360 High: 0 0 0 -/+ buffers/cache: 839 3087 Swap: 11500 0 11500 Agora com o comando: san@NB-Vostro1020:~/Documentos/Curso Linux$ free -lm |grep buffers/cache:|rev|cut -d " " -f1 |rev 3086 O que o comando acima faz?

Unidade 6 - Uso do Bash Shell


Comando head, tail: Servem, respectivamente, para ler o inicio de um texto e ler o final de um texto. Por pado as duas ferramentas pegam 10 linhas em sua funo, mas com a opo -n podemos ditar quantas linhas queremos, como exemplo: tail -n 15 /etc/squid/squid.conf Ainda usand o o tail temos a opo -f, que mantem o arquivo aberto em nosso terminal, e a cada nova linha adicionada no arquivo, em tempo real o tail mostra na tela. Estas duas opes so muito uteis para lermos logs, ou procurarmos por algo em um log, pois nos ajuda a direcionar e diminui nossa area de buscas, deixando mais dinamico nossas buscas. Tambem muito util, por exemplo, usar o tail -f nos arquivos .bash_history de certos usurios para acompanharmos o que ele anda fazendo, vendo os comandos digitados e executados.

Unidade 6 - Uso do Bash Shell


O comando cat concatena arquivos, imprime seu conteudo e ainda pode receber texto digitado pelo teclado para um arquivo. Por exemplo: cat > teste.txt ( agora voc pode ficar digitando texto at apertar crtl d, quando ento o texto vai ser finalizado e salvo. Podemos tambem concatenar arquivos dessa forma cat teste.txt > copia_teste.txt Ou cat teste.txt >> copia_teste.txt O comando tac faz exatamente a mesma coisa, porem o texto vem em reverso.

Unidade 6 - Uso do Bash Shell


O comando cp usado para copiar arquivos, assim como o copy no DOS, porem com muitas opes, como por exemplo: cp [opes] origem destino opes i, --interactive Pergunta antes de substituir um arquivo existente. -f, --force No pergunta, substitui todos os arquivos caso j exista. -r Copia arquivos dos diretrios e subdiretrios da origem para o destino. recomendvel usar -R ao invs de -r. -R, --recursive Copia arquivos e sub-diretrios (como a opo -r) e tambm os arquivos especiais FIFO e dispositivos. -v, --verbose Mostra os arquivos enquanto esto sendo copiados. -s, --simbolic-link Cria link simblico ao invs de copiar. -l, --link Faz o link no destino ao invs de copiar os arquivos. -p, --preserve Preserva atributos do arquivo, se for possvel. -u, --update Copia somente se o arquivo de origem mais novo que o arquivo de destino ou quando o arquivo de destino no existe. -x No copia arquivos que esto localizados em um sistema de arquivos diferente de onde a cpia iniciou. -a Copia todos os artibutos (preservando proteo, dono e datas) --preserve=timestamps Preserva, dos atributos, apenas aqueles relativos data

Unidade 6 - Uso do Bash Shell


O comando mv usado para mover arquivos. mv [options] source destination options: -f Substitui o arquivo de destino sem perguntar; -v Mostra os arquivos que esto sendo movidos; -i Pergunta antes de substituir. Source: Nome do arquivo que ser movido ou renomeado; Destination: Nome do arquivo que receber o contedo do source.

Unidade 6 - Uso do Bash Shell


O comando mount usado para montar arquivos e parties no linux. Como visto anteriormente no linux tudo faz parte de um unico grande sistema de arquivos, de uma arvore hierarquica, cada novo HD, CD, PEN DRIVE etc anexado a estrutura ja existente. Fazemos isso montando o dispositivo junto a grande arvore (/) # mount opcoes dispositivo ponto_de_montagem

Opo -t [tipo]
ext2 - Extended File System verso 2 (a mais comum). ext3 - Extended File System verso 3, com suporte a journaling. reiserfs - Para parties reiserfs, com suporte a journaling. xfs - Para parties xfs, com suporte a journaling. vfat - Para parties Windows 95 que utilizam nomes extensos de arquivos e diretrios. msdos - Para parties DOS normais. iso9660 - Para montar unidades de CD-ROM. o padro. umsdos - Para montar uma partio DOS com recursos de parties EXT2, como permisses de acesso, links, etc. Ntfs Para montar parties para windows.

Unidade 6 - Uso do Bash Shell


Mais opes -r Caso for especificada, monta a partio somente para leitura. -w Caso for especificada, monta a partio como leitura/gravao. o padro. Exemplo: Montar uma partio Windows (vfat) de /dev/hda1 em /mnt somente para leitura: mount -t vfat /dev/hda1 /mnt Remontar a partio raz como somente leitura: mount -o remount,ro / Ainda temos as opes: -a monta todas as entradas presentes em /etc/fstab O comando umont faz o oposto, e tambem tem a opo -a, que no caso desmonta todas as unidades de /etc/fstab.

RH033 - Red Hat Linux Essentials.

Unidade 7 - I/O Padres e Pipes


Uma coisa muito especial no linux a antrada pado, saida pado e saida de erros... Como dito antes, no linux tudo so arquivos, inclusive a entrada e saida de informao. Entrada padro Standart input ou stdin, esta a entrada de texto, por padro o stdin vem conectado ao seu teclado, mas pode ser redirecionado. O descritor deste arquivo o 0. Saida padro Standart output ou stdout, este um fluxo de saida, sendo a saida normal do programas, por padro encontra-se vinculado ao terminal. O descritor deste arquivo o 1. Erro padro Standart error, stderr. Est saida somente para as mensagens de erro, quando geradas, o descritor deste arquivo o 2.

Unidade 7 - I/O Padres e Pipes


Pipe Do ponto de vista do programa, no existe diferena entre ler dados de texto a partir de uma arquivo e ler esses mesmos dados a partir do teclado. Ento colocar a saida de um programa (arquivo, ao etc ) como entrada de outro ( arquivo, programa, ao, etc..) possivel ( e uma mo na roda ). O pipe ( duto, cano ) representado pelo simbolo |. Essemplo: grep 01523 order* | less No caso acima o comando grep procura em todos arquivos que comeam com order linhas que comeem com 01523, a saida enviada pra less, de forma invisivel para o usurio. ls | grep b | sort -r | tee arquivo.out | wc -l
O comando "ls", como bem sabemos, lista o contedo do diretrio, porm devido ao pipe ele no envia o resultado para tela e sim ao comando "grep b". O comando "grep b" por sua vez filtra os nomes de arquivos que contm a letra "b". Devido ao segundo pipe a sada do comando "grep b" enviada para "sort -r", que classifica os nomes em ordem crescente. A sada do "sort -r " ento passada pra o comando "tee", que divide os dados em dois, como se fosse uma conexo em t, fazendo com que as informaes processadas pelo comando "sort -r" sejam escritas no arquivo "arquivo.out". Ento o comando "wc -l" conta as linhas do arquivo "arquivo.out". Assim obtemos como resultado a quantidade de arquivos que contm a letra "b" impresso na tela e o nome desses arquivos em "arquivo.out".

Unidade 7 - I/O Padres e Pipes


Bom, operadores de redirecionamento, como o nome j diz, serve para direcionarmos a sada de um programa para um arquivo, ou outro programa e muito mais. OPERADOR > Este operador serve para direcionar a sada de um comando para um NOVO arquivo. Por exemplo, voc sabe que o comando ls serve para listar o contedo da pasta atual, um ls > saida.txt cria um arquivo novo com o conteudo de ls. OPERADOR < Este operador serve para direcionar a sada de um arquivo para um comando, por exemplo: rm -rf < saida.txt OPERADOR >> Este operador funciona praticamente igual ao operador >, porm, ele no sobrescreve o arquivo para o qual a sada esta sendo direcionada. Ele vai incluir o resultado ao final do arquivo.

Unidade 7 - I/O Padres e Pipes


Funo de redirecionamento Enviar stdout para arquivo Sintaxe para bash Comando > arquivo

comando 1>arquivo
enviar stderr para arquivo enviar stdout e stderr para arquivo enviar stdout para arquivo1 e stderr para arquivo2 receber stdin de arquivo anexar stdout a arquivo Comando 2> arquivo Comando > arquivo 2>&1 Comando > arquivo1 2>arquivo2 Comando < arquivo Comando >> arquivo Comando 1>> arquivo redirecionar stdout de comando1 para comando2 redirecionar stdout e stderr de comando1 para 2 Comando1 | comando2 Comando1 2>&1 | comando2

RH033 - Red Hat Linux Essentials.


Unidade 8 - Investigao e Administrao de Processos
Uma das principais tarefas em um servidor linux cuidar os processos. O linux tem diversas ferramentas simples, poderosas e metidas a macguver A primeira coisa a fazermos e aprender a identificar o que um processo e como interpleta-lo. 1520 san 0 rhythmbox Basicamente, temos 4 importantes informaes sobre um processo. O PID, o usurio dono, a preferncia, o nome do processo. Vamos ver como cada uma dessas informaes nos ajuda.

Unidade 8 - Investigao e Administrao de


Processos
(saida do comando Top )
PID USER 1520 san 2221 san PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 20 0 898m 111m 37m S 6 2.8 3:11.72 rhythmbox 20 0 87552 35m 13m S 6 0.9 1:18.14 npviewer.bin

PID (Process Identifier) um nmero de identificao que o sistema d a cada processo. Para cada novo processo, um novo nmero deve ser atribudo, ou seja, no se pode ter um nico PID para dois ou mais processos ao mesmo tempo. Cada PID unico no sistema ao mesmo tempo. Os sistemas baseados em Unix precisam que um processo j existente se duplique para que a cpia possa ser atribuda a uma tarefa nova. Quando isso ocorre, o processo "copiado" recebe o nome de "processo pai", enquanto que o novo denominado "processo filho". nesse ponto que o PPID (Parent Process Identifier) passa a ser usado: o PPID de um processo nada mais do que o PID de seu processo pai.
User Conforme j mencionado, cada processo precisa de um proprietrio, um usurio que seja considerado seu dono. A partir da, o sistema saber, atravs das permisses fornecidas pelo proprietrio, quem pode e quem no pode executar o processo em questo. Para lidar com os donos, o sistema usa os nmeros UID e GID.

Unidade 8 - Investigao e Administrao de


Processos
Preferencia No linux um processo pode ter preferencia para ser executado, isso , ele ganha mais tempo de processador que os outros processos. O numero padro para todos os processos pai 0 ( normalmente o processo filho ganha o mesmo numero do pai ) e pode vriar de -20 at +19, quanto mais baixo o numero melhor ser o desempenho do processo. No comum sairmos mudando a prioriedade dos processos, pois isso pode causar instabilidade no sistema, caso mau executado.
Nome do processo normalmente um nome que lembra o binario do programa ou o proprio nome do programa. ps uma ferramenta otima para verificarmos os processos, suas dependencias e acharmos processos que esto desestabilizando nosso server. ps [opes]

Unidade 8 - Investigao e Administrao de


Processos
As opes mais importantes so os seguintes:
* a - mostra todos os processos existentes; * e - exibe as variveis de ambiente relacionadas aos processos; * f - exibe a rvore de execuo dos processos; * l - exibe mais campos no resultado; * m - mostra a quantidade de memria ocupada por cada processo; * u - exibe o nome do usurio que iniciou determinado processo e a hora em que isso ocorreu; * x - exibe os processos que no esto associados a terminais; * w - se o resultado de processo no couber em uma linha, essa opo faz com que o restante seja exibido na linha seguinte. A seguir a tabela de saida e a explicao de cada campo.

Unidade 8 - Investigao e Administrao de


Processos
USER - nome do usurio dono do processo; UID - nmero de identificao do usurio dono do processo; PID - nmero de identificao do processo; PPID - nmero de identificao do processo pai; %CPU - porcentagem do processamento usado; %MEM - porcentagem da memria usada; VSZ - indica o tamanho virtual do processo; RSS - sigla de Resident Set Size, indica a quantidade de memria usada (em KB); TTY - indica o identificador do terminal do processo; START - hora em que o processo foi iniciado; TIME - tempo de processamento j consumido pelo processo; COMMAND - nome do comando que executa aquele processo; PRI - valor da prioridade do processo; NI - valor preciso da prioridade (geralmente igual aos valores de PRI); WCHAN - mostra a funo do kernel onde o processo se encontra em modo suspenso; STAT - indica o estado atual do processo, sendo representado por uma letra: R - executvel; D - em espera no disco; S - Suspenso; T - interrompido; Z - Zumbi. Essas letras podem ser combinadas e ainda acrescidas de: W - processo paginado em disco; < - processo com prioridade maior que o convencional; N - processo com prioridade menor que o convencional; L - processo com alguns recursos bloqueados no kernel.

Unidade 8 - Investigao e Administrao de


Processos
pstree
O comando pstree usado para visualizar a rvore de processos. # pstree

init-+-alarmd |-apache---5*[apache] |-atd |-cron |-6*[getty] |-i2oevtd |-inetd

Unidade 8 - Investigao e Administrao de


Processos
O comando top usado como um monitor do sistema que mostra a atividade do processador em tempo real. Exibindo as tarefas que esto sendo executadas na CPU e fornecendo uma interface amigvel para o gerenciamento de processos. top -opo Entre as opes, tem-se as que se seguem: -d - atualiza o top aps um determinado perodo de tempo (em segundos). Para isso, informe a quantidade de segundos aps a letra d. Por exemplo: top -d 30; -c - exibe a linha de comando ao invs do nome do processo; -i - faz o top ignorar processos em estado zumbi; -s - executa o top em modo seguro.

Unidade 8 - Investigao e Administrao de


Processos
Pelo nome pode-se pensar que o comando kill mata aplicaes. Porm, seu objetivo na verdade enviar sinais para os processos. H vrios sinais diferentes que o kill pode enviar para um processo. Veja a lista de todos os sinais conhecidos: # kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 32) SIGRTMIN 33) SIGRTMIN+1 34) SIGRTMIN+2 35) SIGRTMIN+3 36) SIGRTMIN+4 37) SIGRTMIN+5 38) SIGRTMIN+6 39) SIGRTMIN+7 40) SIGRTMIN+8 41) SIGRTMIN+9 42) SIGRTMIN+10 43) SIGRTMIN+11 44) SIGRTMIN+12 45) SIGRTMIN+13 46) SIGRTMIN+14 47) SIGRTMIN+15 48) SIGRTMAX-15 49) SIGRTMAX-14 50) SIGRTMAX-13 51) SIGRTMAX-12 52) SIGRTMAX-11 53) SIGRTMAX-10 54) SIGRTMAX-9 55) SIGRTMAX-8 56) SIGRTMAX-7 57) SIGRTMAX-6 58) SIGRTMAX-5 59) SIGRTMAX-4 60) SIGRTMAX-3 61) SIGRTMAX-2 62) SIGRTMAX-1 63) SIGRTMAX

Unidade 8 - Investigao e Administrao de


Processos
Podemos saber qual a funo de cada sinal consultando a man page signal. # man 7 signal Os importantes para hoje so apenas os sinais -9 Mata um processo, encerra, z fini!. -19 Envia Stop para o processo. -18 Envia Start para o processo. -15 Envia sinal de desligamento para o processo, encerra o processo de forma elegante. kill [numero-do-sinal] [PID] kill -9 1320( encerra imediatamente o processo 1320)

killall encerra os processos pelo nome, como por exemplo


killall -9 vi ( encerra imediatamente todos os processos ( no somente pai-filho, mas toda a instancia de software que tenha vi no nome ))

Unidade 8 - Investigao e Administrao de


Processos
bg O comando bg permite que um programa rodando em primeiro plano ou parado, rode em segundo plano (background), liberando o shell para outras atividades. Existem 3 maneiras diferentes de colocar um programa em background, veja os exemplos: Inicie o vi e depois pressione as teclas Ctrl+Z, o vi interrompido e colocado em segundo plano. # vi [1]+ Stopped # top & [2] 1130 O caracter "&" colocou o top para ser executado em segundo plano, vamos ao ltimo exemplo: Vamos executar a man page do comando du: # man du Agora interrompa a sua execuo pressionando as teclas Ctrl+Z: # man du [3]+ Stopped man du Agora use o comando bg da seguinte maneira: # bg 3 bg 3 [3]+ man du &

Unidade 8 - Investigao e Administrao de


Processos
Mas por que colocar os processos em segundo plano? Imagine que voc esteja consultando uma man page de um determinado comando e deseja utilizar uma de suas opes, muitos sairiam da man page ou abririam outro terminal, felizmente no precisamos fazer isso, usando as opes para colocar as tarefas em segundo plano faremos tudo no mesmo terminal. Ou seja, o Linux lhe oferece a oportunidade de executar outros processos sem que voc tenha de parar o que estava fazendo.

O processo foi colocado em background, agora vamos visualizar estes processos para colocarmos eles para rodarem em primeiro plano.

Unidade 8 - Investigao e Administrao de


Processos
jobs

O comando jobs mostra os processos que esto parados ou rodando em segundo plano.
Vamos listar os processos que esto em segundo plano: # jobs -l

[1] 1129 Parado vi [2]- 1130 Parado (sada tty) top [3]+ 1192 Parado (sada tty) man du

Observe a sada do comando, foram listados os nmeros dos processos, os PIDs e o estdos dos processos. Agora com essa informao vamos colocar os processos em segundo plano para rodar em primeiro plano.

Unidade 8 - Investigao e Administrao de


Processos
fg O comando fg permite que um programa rodando ou parado em segundo plano rode em primeiro plano. Podemos colocar os programas que esto sendo executados em segundo plano para rodar em primeiro usando o nome do programa que queremos rodar ou o nmero da tarefa que ele representa no comando jobs. Neste exemplo vamos startar o vi, o seu nmero de tarefa 1, veja os exemplos: # fg vi ou # fg 1 Observe que o vi agora est rodando em primeiro plano ou em foreground, podemos fazer isso com todos os outros processos que esto em segundo plano ou background.

Unidade 8 - Investigao e Administrao de


Processos
Modificando as prioridades de execuo dos processos s vezes, algumas tarefas requerem mais tempo de execuo do que outras. Por esta razo cada processo possui uma prioridade de execuo. As prioridades dos processos podem ser determinadas examinando a coluna PRI do programa top ou do comando "ps -l". nice

O comando nice atribui um nmero de prioridade para um processo. Por default os processos de usurios so criados com prioridade 0. Ns podemos definir as prioridades oscilando entre +19 e -19, os nmeros positivos indicam processos de baixa prioridade e os nmeros negativos indicam processos de alta prioridade.
nice -n [nmero da prioridade] [comando/programa] Vamos inicializar o vi com um nvel de prioridade baixa, veja o exemplo: # nice -n 19 vi # ps -lax | grep vi 000 0 1072 1014 19 19 8504 3560 do_sel SN pts/1

0:00 vi

Unidade 8 - Investigao e Administrao de


Processos
renice O renice um comando que altera a prioridade de um processo em execuo. renice [nmero da prioridade] [opo] processo Podemos usar as seguintes opes: * -g - Faz com que o parmetro seguinte seja interpretado como um IDs de grupos de processos. * -u - Faz com que o parmetro seguinte seja interpretado como um nome de usurio. * -p - Faz com que o parmetro seguinte seja interpretado como um ID de processo.

Unidade 8 - Investigao e Administrao de


Processos
Suponha que voc seja dono de um servio de hospedagem de sites e diariamente precisa disponibilizar, numa pasta acessvel por FTP, o arquivo de log de acessos de um cliente. Como podemos fazer isso?

Unidade 8 - Investigao e Administrao de


Processos
O cron pode ser interpretado como um servio do Linux que carregado durante o processo de boot do sistema. Trata-se de uma ferramenta que permite programar a execuo de comandos e processos de maneira repetitiva ou apenas uma nica vez.
O primeiro passo abrir o /etc/crontab. Para isso, voc pode usar editores de textos como vi. Tambm possvel digitar o comando "crontab -e" para editar o arquivo exclusivo de seu usurio. Neste caso, a edio feita como se voc estivesse usando o vi. O /etc/crontab tem o seguinte formato: [minutos] [horas] [dias do ms] [ms] [dias da semana] [usurio] [comando]

O preenchimento de cada campo feito da seguinte maneira:


* Minutos: informe nmeros de 0 a 59; * Horas: informe nmeros de 0 a 23; * Dias do ms: informe nmeros de 0 a 31; * Ms: informe nmeros de 1 a 12; * Dias da semana: informe nmeros de 0 a 7; * Usurio: o usurio que vai executar o comando (no necessrio especific-lo se o arquivo do prprio usurio for usado); * Comando: a tarefa que deve ser executada.

Unidade 8 - Investigao e Administrao de


Processos
Exemplo de entrada no crontab # tarefa 1 30 22 2,10 * * echo "Porque ns amamos a liberdade" Neste exemplo, a frase "Porque ns amamos a liberdade" exibida s 22 horas e 30 minutos, nos dias 2 e 10, em todos os meses e em todos os dias da semana. Repare na linha "#tarefa 1". Trata-se de um comentrio. Digite # e tudo o que for digitado na linha no ser considerado pelo cron. um recurso til para inserir descries quando se tem vrias tarefas a serem executadas. Para rodar todo dia de hora em hora: 00 * * * * script Para rodar de dez em dez minutos todos os dias: 00-59/10 * * * * script Note a diviso por 10 do intervalo 00-59. Para rodar uma seqncia de horas: 20 10,12,16,18,22 * * * script Para rodar numa seqncia de dias do ms s 14:00: 00 14 03-15 * * script Para rodar ao meio-dia e a meia-noite de tera a sbado: 00 00, 12 * * 2-6 script Para enviar um e-mail as 20:20 no dia 23/03 para Pedro dizendo "Viva o Linux porque ns amamos a liberdade!": 20 20 23 3 * root echo "Viva o Linux porque ns amamos a liberdade!"|mail Pedro

Unidade 9 - Busca e Processamento de Arquivos


find Sua utilidade principal encontrar arquivos dentro de um sistema de arquivos. H diversos critrios que voc pode usar para a busca: nome, tipo, data de modificao, tamanho, proprietrio, etc. Voc pode especificar o local da pesquisa (quando no informado, a pesquisa ocorre no diretrio atual e seus subdiretrios) e pode tambm combinar critrios de pesquisa. Vamos a alguns exemplos. Buscas por nome - Encontrar arquivos que terminem com mdb no diretrio atual e subdiretrios: $ find -name '*mdb' - Encontrar arquivos que contenham Avaliao em qualquer parte do nome, independente da casa (maisculas/minsculas), no diretrio atual e subdiretrios: $ find -iname '*avaliao*' - Encontrar links que apontam para arquivos que contenham Informtica no nome, no diretrio /home: $ find /home -lname '*Informtica*' - Semelhante ao acima, porm ignorando a casa: $ find /home -ilname '*Informtica*'

Unidade 9 - Busca e Processamento de Arquivos


Buscas por tipo - Encontrar diretrios em /var que se chamem exatamente samba: $ find /var -type d -name samba - Encontrar arquivos em /home cujo nome termine em .tmp: $ find /home -type f -name '*.tmp' Buscas por datas - Encontrar arquivos e diretrios modificados em /home h menos de 3 dias (repare no sinal de menos): $ find /home -mtime -3 - Encontrar arquivos que no so acessados h mais de 60 dias em /var (repare no sinal de mais): $ find /var -type f -atime +60 Fora isto, pode-se executar comandos para cada resultado encontrado pelo find. Por exemplo: voc poderia trocar a permisso de cada arquivo importado, ou imprimi-lo, ou executar qualquer outra coisa =) Basta acrescentar o parmetro -exec ao fim do comando e especificar o que deve ser feito, usando {} como nome do arquivo, e terminando o comando com \; mais exemplos: - Acrescentar o bit SGID aos diretrios embaixo de /home: $ find /home/* -type d -exec chmod g+s '{}' \; - Remover todos os arquivos em /home que terminem com .tmp: $ find /home -type f -name '*.tmp' -exec rm -f '{}' \;

Unidade 9 - Busca e Processamento de Arquivos


find [diretrio] [opes/expresso] Diretrio Inicia a procura neste diretrio, percorrendo seu sub-diretrios. opes/expresso -name [expresso] Procura pelo nome [expresso] nos nomes de arquivos e diretrios processados. -depth Processa os sub-diretrios primeiro antes de processar os arquivos do diretrio principal. -maxdepth [num] Faz a procura at [num] sub-diretrios dentro do diretrio que est sendo pesquisado. -mindepth [num] No faz nenhuma procura em diretrios menores que [num] nveis. -mount, -xdev No faz a pesquisa em sistemas de arquivos diferentes daquele de onde o comando find foi executado. -amin [num] Procura por arquivos que foram acessados [num] minutos atrs. Caso for antecedido por "-", procura por arquivos que foram acessados entre [num] minutos atrs at agora. -atime [num] Procura por arquivos que foram acessados [num] dias atrs. Caso for antecedido por "-", procura por arquivos que foram acessados entre [num] dias atrs e a data atual.

Unidade 9 - Busca e Processamento de Arquivos


-gid [num] Procura por arquivos que possuam a identificao numrica do grupo igual a [num]. -group [nome] Procura por arquivos que possuam a identificao de nome do grupo igual a [nome]. -uid [num] Procura por arquivos que possuam a identificao numrica do usurio igual a [num]. -user [nome] Procura por arquivos que possuam a identificao de nome do usurio igual a [nome]. -inum [num] Procura por arquivos que esto localizados no inodo [num]. -links [num] Procura por arquivos que possuem [num] links como referncia. -mmin [num] Procura por arquivos que tiveram seu contedo modificado h [num] minutos. Caso for
antecedido por "-", procura por arquivos que tiveram seu contedo modificado entre [num] minutos atrs at agora. -mtime [num] Procura por arquivos que tiveram seu contedo modificado h [num] dias. Caso for antecedido por "-", procura por arquivos que tiveram seu contedo modificado entre [num] dias atrs at agora. -ctime [num] Procura por arquivos que teve seu status modificado h [num] dias. Caso for antecedido por "-", procura por arquivos que tiveram seu contedo modificado entre [num] dias atrs at agora.

-nouser Procura por arquivos que no correspondam a identificao do usurio atual. -nogroup Procura por arquivos que no correspondam a identificao do grupo do usurio atual. -perm [modo] Procura por arquivos que possuam os modos de permisso [modo]. Os [modo] de permisso pode ser numrico (octal) ou literal.

Вам также может понравиться