introdução ao unix lagemar/uff dezembro 2001. conteúdo zintrodução zarquivos e diretórios...

102
Introdução ao Unix LAGEMAR/UFF Dezembro 2001

Upload: internet

Post on 16-Apr-2015

130 views

Category:

Documents


14 download

TRANSCRIPT

Page 1: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Introdução ao Unix

LAGEMAR/UFFDezembro 2001

Page 2: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Conteúdo

Introdução Arquivos e diretórios Manipulação de arquivos Operações em arquivos Proteção, atalhos e localização Padrões e busca Edição Personalização Processos Armazenamento

Page 3: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Bibliografia

Sato, H.K. - Comandos básicos para uso do Unix. PPPG/UFBa, 1993

Fiamingo, F.G. - Introduction to Unix. OSU, 1996 Jones, D. - Course 85321. CQU, 2000 Greenfield, L. - Linux Users Guide. LDP, 1996 Siever, E. - Linux - o guia essencial. Campus,

2000 Welsh, M. - Dominando o Linux. Ciência Moderna,

1997 Cornes, P. - Linux A-Z. Prentice-Hall, 1997

Page 4: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Aula 0 - Introdução

Conceitos de sistemas operacionaisCaracterísticas do UnixLogin e LogoutAjuda online

Page 5: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Sistema operacional

Gerenciador de recursos Processador Memória Dispositivos

Entrada e saídaArmazenagemComunicações

Máquina estendida

CPU

Rede

E/SMEM

Disco

Page 6: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Hardware

Sistema Operacional

Programas

Estrutura de um Sistema

Page 7: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Conceitos básicos

Processo programa em execução

Arquivo informações logicamente relacionadas

Processos e arquivos são organizados em árvores

Page 8: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Estrutura do Unix

Núcleo interage com o hardware

Chamadas do sistema acesso aos serviços do núcleo

Interpretador de comandos interface para as chamadas do sistema

Comandos programas utilitários do sistema

Page 9: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Hardware

Sistema Operacional

Programas

Estrutura de um Sistema

Page 10: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Hardware

Shell

Utilitários

System calls

Kernel

Bibliotecas

Aplicativos

Estrutura do Unix

Page 11: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Características do Unix

Multiusuário/MultitarefaVariedade de ferramentasFlexibilidade/ConcisãoTudo é um arquivoArquivos tem um lugarProcessos tem vida

Page 12: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Componentes

CompiladoresBibliotecasRede TCP/IPX-Windows

Page 13: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Sabores de Unix

SunOS/Solaris Sun Microsystems Digital Unix (Tru64) Digital/Compaq AIX IBM HP-UX Hewlett Packard Irix SGI UNICOS Cray NetBSD, FreeBSD UC Berkeley / the Net Linux Linus Torvalds / the

Net

Page 14: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Histórico do Unix

1969 - Criado por Ken Thompson e Dennis Ritchie dos Lab. Bell (PDP-7) 1971 - Transportado para um PDP-11 (memória 16 KB, disco 512 KB) 1973 - Rescrito na linguagem C de Dennis Ritchie 1974 - Distribuído pela AT&T para as universidades 1977 - Versões para outras máquinas. 500 sistemas em uso 1980 - BSD 4.1 de Berkeley 1984 - Autorizada a comercialização do Unix. 100.000 sistemas em uso 1988 - System V R4 (AT&T e Sun) 1991 - Linus Torvalds anuncia Linux 0.01 para 386 na Internet 1992 - Linux licenciado sob GPL 1993 - USL comprado pela Novell 1996 - Versão 2.0 do Linux

Page 15: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Acesso ao sistema

Terminais vt100, telnet, xterm

Login Nome do usuário Senha

Logout exit ^D

Page 16: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Senhas

Nunca use: qualquer palavra de qualquer dicionário um nome, apelido, marca, título, slogan... informações que você carrega na carteira números ou informações associados a você exemplos publicados de senhas

Nunca escreva ou dê sua senha para ninguém

Page 17: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Senhas

Use: mínimo de 6 caracteres misturas de letras, números e símbolos mistura de maiúsculas e minúsculas mistura de palavras erros de grafia senhas que você se lembre

Troque sua senha com freqüência

Page 18: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Troca de senha

Comando passwdComando yppasswd (nis)Comando nispasswd (nis+)

Page 19: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Ajuda online

Comando manComando infoManuais online (html, pdf)Linux Documentation Project

http://www.linuxdoc.org

Page 20: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Aula 1 - Arquivos e diretórios

Estrutura de diretóriosNomes e tipos de arquivosCaminhosComandos pwd, cd, ls, mkdir, rmdir

Page 21: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Estrutura de Diretórios

Arquivos são organizados em diretórios

Diretórios são arquivos com informações sobre outros arquivos

Diretórios são organizados em árvores

Page 22: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Nomes e tipos de arquivos

O nome de um arquivo pode conter até 255 caracteres

São permitidos caracteres alfanuméricos e alguns símbolos: . _ # % =

Não devem ser usados os caracteres especiais definidos pelo interpretador de comandos

Page 23: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Caracteres especiais

; separador de comandos + execução em background ( ) agrupamento de comandos | concatenador de comandos > < símbolos de redirecionamento ” \ ’ enfatiza os outros caracteres ` substituição de comandos separadores de palavras:

novalinha espaço tab

metacaracteres de caminhos:* ? [ ] ~ + - @ !

Page 24: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Caminhos

Absolutos - referem-se à raiz dos diretórios:/home/paulo/teste.f/etc/passwd/var/spool/mail

Relativos - referem-se ao diretório corrente:dados/abc.xyz

Page 25: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Comandos

pwd mostra o diretório correntecd muda o diretório correntels lista um diretório (opções l, a,

r)mkdir cria um diretóriormdir remove um diretório

Page 26: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Arquivos ocultos

Arquivos que começam por um ponto só são mostrados pelo comando ls -a

. representa o diretório corrente.. representa o diretório acima

Page 27: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Aula 2 - Manipulação de arquivos

Expansão de caminhosComandos cp, mv, rm, touch Visualização: cat, more, less, tail,

head

Page 28: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Expansão de caminhos

O Unix utiliza metacaracteres para abreviar os caminhos * qualquer número de caracteres ? um caracter [abc...] um dos caracteres na lista [a-z] um dos caracteres na faixa [^abc...] qualquer caracteres fora da lista (ou

faixa)

Os metacaracteres são traduzidos direta-mente pelo interpretador de comandos

Page 29: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Exemplos de expansão

$ ls temp/*

motd passwd $ ls /dev/tty?

/dev/tty0 /dev/tty2 /dev/tty4 /dev/tty6 /dev/tty8

/dev/ttyl /dev/tty3 /dev/tty5 /dev/tty7 /dev/tty9 $ ls /dev/tty?[23456]

/dev/ttyS2 /dev/ttyp2 /dev/ttyq2 /dev/ttyr2 /dev/ttys2

/dev/ttyS3 /dev/ttyp3 /dev/ttyq3 /dev/ttyr3 /dev/ttys3

/dev/ttyS4 /dev/ttyp4 /dev/ttyq4 /dev/ttyr4 /dev/ttys4

/dev/ttyS5 /dev/ttyp5 /dev/ttyq5 /dev/ttyr5 /dev/ttys5

/dev/ttyS6 /dev/ttyp6 /dev/ttyq6 /dev/ttyr6 /dev/ttys6

Page 30: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Ênfase

Para inibir a tradução dos caracteres especiais: \ (contrabarra): protege o caracter

especial seguinte ’ (aspa): protege todos os caracteres

especiais até a próxima aspa ” (aspa dupla) protege todos os

caracteres especiais até a próxima aspa dupla, exceto $ e ` (crase)

Page 31: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Exemplos de ênfase

$ echo 'Aspas simples "protegem" aspas duplas’

Aspas simples "protegem" aspas duplas $ echo "Isto nao e' \"especial\"?"

Isto nao e' "especial"?

Page 32: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Copiando arquivos - cp

cp copia arquivos ou diretóriosFormato: cp origem destinoSe o destino for um diretório, copia

um ou mais arquivos para o diretórioOpções:

-i pede confirmação -p preserva a data e hora -R copia recursivamente

Page 33: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Copiando arquivos - exemplos

cp file1.f file2.f *.c /home/joao/geralcp ../fonte . cp fonte .. cp fonte ./abccp fonte /home/mariacp /home/joao/abc/* /home/maria/xyzcp -R /home/joao/abc/*

/home/maria/xyz

Page 34: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Movendo arquivos - mv

mv move ou renomeia arquivos ou diretórios

Formato: mv origens destinoSe o destino for um diretório, copia para

o diretórioOpções:

-i pede confirmação -f força a movimentação, mesmo que o

arquivo exista

Page 35: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Movendo arquivos - exemplos

mv abc xyz.amv book manualmv manual/* .

Page 36: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Apagando arquivos - rm

rm apaga arquivosFormato: rm arquivosOpções:

-i pede confirmação -f força a remoção -r remove recursivamente - PERIGO

Page 37: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Apagando arquivos - exemplos

rm abcrm abc defrm -i *.orm -r testesrm -r * .o espaço em branco fatal

Page 38: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Alterando a data - touch

touch atualiza a data (e hora) de acessso ou modificação de arquivos

Formato: touch arquivosOpções

-a altera apenas a data de acesso -m altera apenas a data de modificação data altera para data especificada

Se o arquivo não existir, é criado com tamanho 0 bytes

Page 39: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Visualização: cat

cat mostra o conteúdo de arquivosFormato: cat arquivosPode ser usado para concatenar

arquivos, como veremos adiante

Page 40: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Visualização: more e less

more mostra, por partes, o conteúdo de arquivos

Formato: more arquivosComandos:

return para avançar uma linha espaço para avançar uma página b para voltar uma página h para ajuda de outros comandos

Versão moderna: less

Page 41: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Visualização: tail e head

head mostra as 10 primeira linhas de um arquivo

tail mostra as 10 últimas linhas de um arquivo

Opção -n mostra n linhas

tail -r mostra de trás para a frentetail -f mostra continuamente

Page 42: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Resumo da visualização

headtail

cat

more

Page 43: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Aula 3 - Proteção e atalhos

Atributos de arquivosComandos chmod, umask, chown e

chgrpLinksComando ln

Page 44: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Proteção no Unix

Baseado no UID e GIDRelações

usuário (u) grupo (g) outros (o)

Acessos leitura (r) gravação (w) execução (x)

Page 45: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Atributos de arquivos

$ ls -l

drwxr-x--- 2 sato staff 512 Aug 16 14:17 biblio

-rw-r--r-- 1 sato staff 13 Aug 27 15:50 carta

-rwxr-xr-x 1 sato staff 3339 Sep 03 13:35 prog1

outros

grupo

usuário

tipo

UID GID tam. data nomen

Page 46: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Alterando a proteção - chmod

chmod altera a proteção dos arquivosFormato: chmod proteção arquivosOpção

-R recursivoModos

mneumônico numérico

Page 47: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

chmod - funcionamento

Modo mneumônico Quem Operação Acesso

u usuário + acrescenta r leiturag grupo - retira w gravaçãoo outros = atribui x execuçãoa todos (all)

Modo numérico r = 4 w = 2 x = 1

Page 48: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

chmod - exemplos

chmod +x abcchmod uo-w abcchmod a=rx abcchmod 640 abcchmod 5 abcchmod -R a+r .

Page 49: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Acesso a arquivos e diretórios

Bit Arquivos Diretóriosr ler listarw escrever alterarx executar acessar

Page 50: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Definindo a proteção - umask

umask define a proteção no momento da criação do arquivo ou diretório

Formato: umask nnnonde n é o complemento da

proteçãoArquivos nunca são criados com o bit

de execução

Page 51: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Definindo a proteção - exemplos

umask 002cria arquivos com 664 e diretórios com

775umask 077

cria arquivos com 600 e diretórios com 700

Page 52: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Aula 4 - Operações em arquivos

Localizando arquivos - findRedirecionamento de entrada e

saídaComandos wc, sort, cut, cmp e diff

Page 53: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Localizando arquivos - find

find procura arquivos em uma árvoreFormato: find origem opçõesOpções

-name procura por nome (padrão) -print mostra o resultado (padrão) -type procura por tipo de arquivo -size procura por tamanho

Existem muito mais opções (use o man)

Page 54: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

find - exemplos

$ find . -print

./backup

./backup/motd.bak

./backup/passwd.bak

./text

./text/motd

./text/passwd $ find

./backup

./backup/motd.bak

./backup/passwd.bak

./text

./text/motd

./text/passwd

Page 55: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

find - exemplos

$ find . -name "*.bak" -print

./backup/motd.bak

./backup/passwd.bak $ find . -name "*.bak" -exec rm -i {} \;

rm: remove ./backup/passwd.bak (yes/no)? y

rm: remove ./backup/motd.bak (yes/no)? y

Page 56: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Redirecionamento de E/S

Funcionamento padrão dos comandos:

ComandoSaídapadrão

Saída deerros

Entradapadrão

0 1

2

Page 57: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Redirecionamento de E/S

Formas de redirecionamento:

Desc. Nome Abrev. Padrão Redir 0 Entrada padrão stdin Teclado < 1 Saída padrão stdout Vídeo >

2 Saída de erros stderr Vídeo 2>

O símbolo >> indica uma anexação O símbolo << indica um delimitador O símbolo < pode ser omitido na

maioria dos comandos

Page 58: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Redirecionamento - exemplos

$ ls -l /usr/local/bin > lista$ ls -l /etc >> lista$ mail alfredo < arquivo$ mail alfredo << fim$ ls /bin | mail alfredo$ ls -l /var/spool 2> acesso_negado$ ls -l /var/spool 2> acesso_negado

1>&2

Page 59: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Redirecionamento - exemplos

$ find / -name passwd -print

find: /var/spool/cron: Permission denied

find: /var/spool/atjobs: Permission denied

find: /var/spool/atspool: Permission denied

find: /var/spool/cron: Permission denied

/usr/bin/passwd

find: /root: Permission denied

/etc/passwd $ find / -name passwd -print 2> /dev/null

/usr/bin/passwd

/etc/passwd

Page 60: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

É comum um programa utilizar como entrada o resultado de outro:

Encadeamento de comandos

>

ComandoSaídapadrão

Entradapadrão

Comando

Arquivotemporário

<

Page 61: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

A saída de um comando pode ser enviada diretamente para a entrada de outro:

O símbolo | representa a canalização (ou pipe)Os comandos do Unix funcionam como filtros

Encadeamento de comandos

|Comando

Saídapadrão

Entradapadrão

Comando

Page 62: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Encadeamento - exemplos

$ ls /bin | more $ find . -name "*.bak" -print | xargs rm

rm: remove ./backup/passwd.bak (yes/no)? y

rm: remove ./backup/motd.bak (yes/no)? y

Page 63: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Contando arquivos - wc

wc quantifica o conteúdo de um arquivo

Formato: wc opções arquivosOpções

-l conta linhas -w conta palavras -c conta caracteres (bytes)

Page 64: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Contando arquivos - exemplos

$ wc < /etc/passwd

21 42 775 $ wc /etc/passwd

21 42 775 $ ls /bin | wc -l

82

Page 65: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Ordenação - sort

sort ordena o conteúdo de um arquivoFormato: sort opções arquivosPode ser combinado com uniq para

eliminar linhas repetidasOpções:

-n ordem numérica -r ordem reversa -t separador de campos (padrão: tab) +n salta n campos

Page 66: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Ordenação - exemplos

$ wc -l * | sort -r $ sort lista | uniq -c $ sort +2 -n -t: /etc/passwd $ sort -k3 -n -t: /etc/passwd GNU sort

Page 67: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Seleção - cut

cut seleciona as colunas de um arquivoFormato: cut opções arquivosDois ou mais arquivos podem ser unidos

em colunas pelos comandos paste e joinOpções

-d delimitador (padrão: tab) -f lista de campos selecionados -c lista de colunas (bytes)

Page 68: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Seleção - exemplos

$ cut -d: -f1,5 /etc/passwd $ cut -d: -f3-5 /etc/passwd $ cut -c4 arquivo | paste - arquivo

Page 69: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Comparação - cmp, diff

cmp compara o conteúdo de dois arquivos

Formato: cmp arq1 arq2Use diff para obter a lista de

diferençasOpções

-l lista os bytes diferentes -s só retorna o código de terminação

Page 70: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Aula 5 - Padrões e busca

Reconhecimento de padrõesMetacaracteresComando grep

Page 71: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Reconhecimento de padrões

Expressões regulares (regexp) permitem reconhecer padrões de texto

As regexp são formadas por caracteres e metacaracteres interpretados pelos programas aplicativos

Devem ser colocadas entre aspas para evitar a expansão pelo interpretador de comandos

Page 72: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Metacaracteres

Carac. Casa com c o caracter c . qualquer caracter * 0 ou mais ocorrências da expressão regular

anterior ^ o início da linha $ o fim da linha

[abc] lista de caracteres \ inibe o sentido do caracter especial

seguinte

Page 73: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Regexp - exemplos

mal a cadeia mal ^mal mal no início da linha mal$ mal no fim da linha ^mal$ uma linha só com mal [Mm]al Mal ou mal m[aeiou]l a segunda letra é uma vogal m[^aeiou]l a segunda letra não é uma

vogal m.l a segunda letra é qualquer

caracter

Page 74: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Regexp - exemplos

^...$ qualquer linha com exatamente 3 caracteres

^\. qualquer linha que comece por um ponto ^[^.] qualquer linha que não comece por

um ponto bugs* bug, bugs, bugss, etc... ”word” uma palavra entre aspas ”*word”* uma palavra com ou sem aspas

Page 75: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Regexp - exemplos

[A-Z][A-Z]* uma ou mais letras maiúsculas [A-Z].* uma letra maiúscula, seguida

por zero ou mais caracteres [A-Z]* zero ou mais letras maiúsculas [^0-9A-Za-z] qualquer símbolo (exceto letra

ou algarismo

Page 76: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Busca de texto - grep

grep procura uma expressão regular em um ou mais arquivos

Formato: grep [opções] regexp [arquivos]

Opções: -i não diferencia maiúsculas ou minúsculas -v mostra as linhas que não contém a

expressão -c mostra o número de linhas encontradas

Page 77: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

grep - exemplos

$ grep aluno1 /etc/passwd

aluno1:*:500:500::/home/aluno1:/bin/bash $ ls -l |grep Aug

-rw-rw-rw- 1 pb staff 4764 Aug 10 2000 aliases.text

-rw-rw-rw- 1 pb staff 5347 Aug 10 2000 aniv.htm

drwxr-xr-x 2 pb staff 512 Aug 14 15:44 c++

drwxr-xr-x 2 pb staff 512 Aug 22 15:59 linuxbin -rw-rw-rw- 1 pb staff 8021 Aug 10 2000 qaviso.html -rw-r--r-- 1 pb staff 1474 Aug 29 18:56 uso

Page 78: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Aula 6 - Edição

Comandos tr e sedEditor vi

Page 79: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Tradução de caracteres - tr

tr traduz um conjunto de caracteres em outro

Formato: tr cadeia1 [cadeia2]Opções:

-c traduz pelos caracteres que não estão na cadeia1

-d apaga os caracteres definidos na cadeia1

-s elimina os caracteres múltiplos

Page 80: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

tr - exemplos

$ tr a z < /etc/passwd $ tr ’[A-Z]’ ’[a-z]’ < /etc/passwd $ tr -d ’ ’ < /etc/passwd

Page 81: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Edição de Arquivos - sed

sed edita um ou mais arquivos sem intervenção do usuário

Formato: sed [opções] [arquivos]Opções:

-e ’instruções’ aplica as instruções aos arquivos

-f arquivo aplica as instruções do arquivo -n suprime a saída normal

Page 82: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Instruções sed

As instruções tem a forma geral[endereço1][,endereço2] comando [argumentos] Endereços:

n a linha n . a linha corrente $ a última linha do arquivo , o mesmo que 1,$ ; o mesmo que .,$ /padrão/ qualquer linha com o padrão

Page 83: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Comandos sed

d apagar linhasp imprime linhass substitui um padrão por uma cadeia

n primeiras ocorrências na linha (padrão: n=1) g todas as ocorrências p mostra as linhas com substituições w escreve as linhas com substituições

w escreve as linhas em um arquivoy traduz caracteres

Page 84: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

sed - exemplos

1,$s/antes/depois/g/George/s/W//4d3d1,10w/tmp/hello

Page 85: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Editor vi

Disponível em todos os UNIXPéssima interface com o usuárioComandos são letrasModos de operação

Edição Inserção Comando

Page 86: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Editor vi - Modo de edição

h,j,k,l esquerda, direita, cima, baixo 0. $ início e fim da linha x apaga caracter r, R substitui caracter ou texto dd apaga linha yy copia linha p, P insere texto apagado J junta duas linhas ZZ salva e sai um número antes do comando indica repetição

Page 87: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Editor vi - Modo de inserção

a, A insere depois do cursor, no fim da linha i, I insere antes do cursor, no início da

linha o, O abre uma linha abaixo, acima do

cursor BS apaga o caracter anterior ESC sai do modo de inserção

Page 88: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Editor vi - Modo comando

/ procura um padrão ! executa um comando do UNIX : comandos de editor (aceita comandos

sed) w grava em um arquivo q abandona a edição x o mesmo que wq ou ZZ r lê de um arquivo n edita próximo arquivo ! força a execução do comando

Page 89: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Aula 7 - Personalização

PerfisVariáveis de ambienteAliasesHistórico de comandosOutros editores (emacs, pico, ...)

Page 90: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Perfis

Arquivos com comandos do UNIXExecutados logo após o loginConfiguram o ambiente de um usuárioOcultos no diretório de login do usuárioDependem do tipo de login e shellExemplos: .profile, .login, .bashrc, .xsession

Page 91: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Variáveis de ambiente

Armazenam informações sobre: caminhos parâmetros de programas ou do

sistemaEscopo:

locais ao interpretador de comando globais para todas as cópias do shell

Page 92: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Variáveis de ambiente - exemplos

Exemplos de variáveis do sistema: PATH caminhos onde buscar os programas MANPATH caminhos das páginas de manuais HOME diretório de login PWD diretório atual PS1 texto do prompt TERM tipo do terminal SHELL interpretador de comandos

Exemplos de variáveis de programas: GS_LIB bibliotecas do Ghostscript CWPROOT diretório raiz do Seismic Unix

Page 93: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Variáveis de ambiente - uso

Uso: Referência: adicionar $ ao início do nome Inicialização: arquivos de perfil do usuário

ou do sistemaComandos:

echo $var mostra o valor de var set exibe todas as variáveis ativas

Page 94: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Variáveis de ambiente - atribuição

Bourne shell e assemelhados: MANPATH=/usr/man:/usr/local/man PATH=$PATH:/usr/local/bin export PATH

C shell set manpath=/usr/man:/usr/local/man setenv path=($path /usr/local/bin)

Page 95: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Aliases

Aliases são sinônimos para comandos

Formato: alias nome=comandoOutros comandos:

alias mostra todos os sinônimos unalias elimina um sinônimo

Page 96: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Aliases - configuração

Arquivos de configuração: .cshrc C shell .kshrc Korn shell .bashrc Bourne Again shell

Executados a cada nova shellDevem ser definidos na variável ENV

nos casos ksh e bash

Page 97: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Histórico de comandos

Os comandos utilizados são guardados em um arquivo histórico

Utilizaçao do arquivo: Csh comandos ! e fc Ksh comandos do vi ou emacs Bashsetas do teclado

O tamanho do histórico é determinado pelo usuário

Page 98: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

O comando fc

Formato: fc [opção] [comando]O comando é um nome ou númeroOpções:

-e edita o comando (padrão: anterior) -l lista os comandos anteriores

Alias r reexecuta um comando equivale a fc -e -

Page 99: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

O editor emacs

Poderoso (= complicado)Domínio públicoDisponível em muitos ambientesMulti-janelaMulti-função (mail, desenvolvimento)Comandos são letras precedidas de

Ctrl (C) ou Esc (M)Usado pela shell Korn

Page 100: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

emacs - comandos essenciais

C-h ajuda online (inclui tutorial)C-x C-s salva arquivoC-x C-c sai do editorC-x C-u desfaz a última ediçãoC-x i inclui arquivoC-g aborta a operação correnteC-s localiza caracteresC-d elimina caracter sob o cursor

Page 101: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Aula 8 - Processos

Comando ps e topSubprocessosComandos crtl-Z, &, jobs, fg, bg, kill

e at

Page 102: Introdução ao Unix LAGEMAR/UFF Dezembro 2001. Conteúdo zIntrodução zArquivos e diretórios zManipulação de arquivos zOperações em arquivos zProteção, atalhos

Aula 9 - Armazenamento

Comandos mount e umountUso do espaço em disco: df e duComandos tar, compress e zipDiscos removíveis e fitasComandos dd e cpio