32
http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX UNIX Objetivos •Introduzir o sistema operacional UNIX •Mostrar alguns comandos básicos •Foi desenvolvido pelo Bell Laboratories em 1969 •Maior parte dos laboratórios de pesquisa usa o sistema UNIX •A interface com o usuário é através da linha de comando e •É necessário saber a estruturação dos arquivos e comandos básicos

Paula Kuser Falcão UNIX UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

Embed Size (px)

Citation preview

Page 1: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

UNIX

Objetivos

•Introduzir o sistema operacional UNIX•Mostrar alguns comandos básicos

•Foi desenvolvido pelo Bell Laboratories em 1969

•Maior parte dos laboratórios de pesquisa usa o sistema UNIX

•A interface com o usuário é através da linha de comando e

•É necessário saber a estruturação dos arquivos e comandos

básicos

Page 2: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

Convenções tipográficas•negrito: comandos que devem ser teclados como estão•Palavras entre [colchetes]: indicam teclas que devem ser apertadas.

Por exemplo:% ls diretório [Enter] significa que no sinal %, deve digitar ls seguido do nome de um diretório e pressionar a tecla "Enter"

UNIX é sensível a minúsculo/maiúsculo, então LS não é o mesmo que ls.

O mesmo acontece para nomes de arquivos/diretórios. Os arquivos: exemplo.txt, Exemplo.txt, EXEMPLO.TXT são três arquivos diferentes.

Observações iniciais

Page 3: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

username: calvinpassword: aBc123Isto loga a pessoa com username calvin no sistema.

Logging on

É necessário ter um username e um password

Page 4: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

O comando ls lista o conteúdo do diretório onde foi dado o comando. Aquele diretório onde entramos é chamado home directory. É onde os arquivos e subdiretórios do usuário são salvos.Para encontrar o que está no seu home directory ,digite:% ls

Se não houver arquivos visíveis, o prompt retornará.ls, não faz com que TODOS os arquivos sejam listados, mas apenas aqueles cujos nomes não começam com um ponto (.) Arquivos que começam com um ponto são os “arquivos escondidos” e geralmente contém algum tipo de informação importante relativa a configuração.Eles estão escondidos porque eles não devem ser alterados.Opções:% ls -als é um exemplo de um comando que pode ter opções:

-a é um exemplo de uma opção.As opções mudam o comando (manual on line)% man ls

1.1 Listando arquivos e diretórios ls (list)

Page 5: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

Comando para a criação de (sub)diretórios.Fazer agora um subdiretório chamado unixtutorial para guardar os arquivos que serão criados no tutorial UNIX.% mkdir unixtutorialPara ver o diretório criado digite :% ls

1.2 Criando diretóriosmkdir (make directory)

1.3 Mudando para outro diretóriocd (change directory)

O comando cd diretório significa mudar do diretório corrente para o diretório "diretório". % cd unixtutorialDigite ls para ver o que tem la dentro (deveria estar vazio)

Exercício 1aFaça um diretório dentro de unixtutorial chamado backup

Page 6: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

Ainda no diretório unixtutorial digite:% ls -a

Você vai ver que no diretório unixtutorial têm dois diretórios chamados (.) e (..)Em UNIX, (.) significa o diretório corrente. Portanto digitando:

% cd . (obs: há um espaço entre cd e o ponto) significa fique onde está.Isso pode parecer inútil agora, mas usando (.) como o nome do diretório corrente pode economizar muito na digitação.

(..) significa o superior do diretório corrente, então digitando

% cd .. levará você para um diretório acima.

Obs: digitando cd sem nenhum argumento sempre retorna ao home directory.

1.4 Os diretórios '.' e '..'

Page 7: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

Pathnames permitem você saber onde você está em relação ao sistema. Por exemplo, para saber em qual diretório está, digite% pwd

O pathname completo vai parecer algo como:/shared/home/guest01

o que significa que guest01 (seu diretório home) está no diretório home (o diretório do grupo).

1.5 Pathnames pwd (print working directory)

Exercício 1bUse os comandos ls, pwd e cd para explorar o sistema.

Page 8: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

% ls unixtutorial/backup

1.6 Mais sobre diretórios home e pathnames Entenda pathnames

Primeiro digite cd para voltar para o diretório home, então digite:% ls unixtutorial para listar o conteúdo do diretório

Agora digite:% ls backup

Você verá a mensagem:backup: No such file or directory Porque backup não está no seu diretório corrente. Para usar um comando num arquivo (ou diretório) que não está no diretório corrente, é preciso ou cd para o diretório correto, ou especificar o endereço (pathname) completo.

Page 9: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

~ (home directory)

Home directories podem ser chamado pelo caracter til ~. Ele pode ser usado para especificar caminhos começando no home directory.

Digitando:% ls ~/unixtutoriallista o conteúdo do diretório unixtutorial, independente de onde você estiver.

Sumário

ls lista arquivos e diretórios

ls -a lista todos arquivos e diretórios

mkdir cria um diretório

cd diretório muda para um determinado diretório

cd muda para o diretório home

cd ~ muda para o diretório home

cd .. muda para o diretório superior

pwd mostra o endereço do diretório

Page 10: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

cp arquivo1 arquivo2 é o comando que faz uma cópia do arquivo1 no diretório corrente e chama esta cópia de arquivo2

Vamos pegar o arquivo armazenado em uma área de acesso do sistema, e usar cp para copiá-lo no diretório unixtutorial. Primeiro, cd para o diretório unixtutorial% cd ~/unixtutorial

No prompt UNIX, digite:% cp /shared/home/paula/tutorials/UNIX/science.txt . O comando acima significa copiar o arquivo science.txt para o diretório corrente, mantendo o nome do arquivo.

2.1 Copiando Arquivoscp (copy)

Exercício 2aCrie uma cópia de segurança do arquivo science.txt copiando ela para um arquivo chamado science.bak

Page 11: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

mv arquivo1 arquivo2 move (ou renomeia) arquivo1 para arquivo2 Para mover um arquivo de um lugar para outro, use o comando mv.

Este comando move os arquivos ao invés de copiá-los, terminando com apenas um arquivo e não dois.

Também pode ser usado para renomear arquivos, movendo o arquivo para o mesmo diretório, dando um nome diferente

Vamos mover o arquivo science.bak para o seu diretório backup.Primeiro, mude para o diretório unixtutorial. Estando dentro do unixtutorial digite:

% mv science.bak backup/.

Digite ls e ls backup para ver se funcionou.

2.2 Movendo arquivosmv (move)

Page 12: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

Para remover (deletar) um arquivo, use o comando rm.

Como exemplo vamos criar uma cópia do science.txt, arquivá-lo e apagá-lo.Dentro do diretório unixtutorial, digite:% cp science.txt temparquivo.txt% ls (Para verificar se criou o arquivo)% rm temparquivo.txt % ls (para verificar se apagou o arquivo)

Você pode usar o comando rmdir para remover um diretório (se o diretório estiver vazio). Tente remover o diretório backup. % rmdir backupUNIX não permite remover um diretório que não esteja vazio!

2.3 Apagando arquivos e diretórios rm (remove), rmdir (remove diretório)

Exercício: Crie um diretório teste usando mkdir e remova com rmdir.

Page 13: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

2.4 Mostrando na tela o conteúdo do arquivo

clear (clear screen)Antes de começar a próxima seção limpe o terminal com clear.% clear

cat (concatenate)Cat pode ser usado para mostrar o conteúdo do arquivo na tela.% cat science.txt

lessless escreve o conteúdo do arquivo na tela, uma página de cada vez. % less science.txt Pressione a [barra de espaço] para ver a próxima página, digite [q] se você quiser sair do modo leitura.

Page 14: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

headO comando head escreve as primeiras dez linhas do arquivo na tela.Primeiro limpe a tela com clear e digite:% head science.txt Depois digite:% head -5 science.txt Qual a diferença?

2.4 Mostrando na tela o conteúdo do arquivo

tailO comando tail digita as últimas dez linhas do arquivo na tela.

Page 15: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

Busca simples usando lessUsando less, você pode pesquisar o arquivo texto por uma palavra chave. Por exemplo, procura pela palavra science no arquivo science.txt. % less science.txt

agora, ainda em less (isto é, não pressione [q], digite uma barra invertida seguida da palavra science:/science

Digite [n] para procurar pela próxima vez que a palavra aparece.

2.5 Buscando o conteúdo de um arquivo

grep grep é um dos vários utilitários do UNIX. Procura os arquivos por palavras ou padrões.

Digite:% grep science science.txt grep imprime cada linha contendo a palavra science

Page 16: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

Digite:% grep Science science.txt O comando grep é case sensitive; faz distinção entre Science e science. Para ignorar a distinção entre maiúscula e minúscula use a opção -i% grep -i science science.txt

Para buscar por uma frase ou padrão, é preciso incluir a frase entre aspas simples. Por exemplo, para procurar por 'spinning top', digite:% grep -i 'spinning top' science.txt

Algumas opções do grep são:-v mostra as linhas que NÃO tem a palavra-n precede cada linha que tem a palavra com o número da linha-c imprime apenas o número total das linhas

É possível usar mais do que uma opção por vez. Por exemplo, o número de linhas sem as palavras science ou Science:% grep -ivc science science.txt

2.5 Buscando o conteúdo de um arquivo

Page 17: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

cp arquivo1 arquivo2 copia arquivo1 e chama arquivo2

mv arquivo1 arquivo2 move ou renomeia arquivo1 para arquivo2

rm arquivo remove um arquivo

rmdir diretório remove um diretório

cat arquivo mostra um arquivo

more arquivo mostra um arquivo uma página por vez

head arquivo mostra as primeiras linhas de um arquivo

tail arquivo mostra as últimas linhas de um arquivo

grep 'keyword' arquivo busca um arquivo por palavras-chave

wc arquivo conta o número de linhas/palavras/caracteres em um arquivo

wc (word count)% wc -w science.txt : Conta o número de palavras do arquivo% wc -l science.txt : Conta o número de linhas do arquivo

2.5 Buscando o conteúdo de um arquivo

Sumário

Page 18: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

3. Redirecionando A maioria dos processos iniciados pelos comandos UNIX escrevem para a tela (output) e pegam os comandos do teclado (input).

3.1 Redirecionando a saída de dados Utilizamos o símbolo > para redirecionar o output. Por exemplo, para criar um arquivo chamado list1 que contém uma lista de frutas, digite:% cat > list1Agora digite alguma lista de coisas. Pressione [Return] depois de cada item:lisinaargininaglicinaalanina^D (Control D para parar)O comando cat lê a entrada do teclado e > redireciona a saída para o arquivo list1.Para ler o conteúdo do arquivo digite:% cat list1

Page 19: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

Exercício 3a•Crie um arquivo chamado list2 contendo as palavras tirosina, valina e serina.•Leia o arquivo.•Agora adicione outros amino ácidos ao arquivo list1. A forma >> adiciona as saídas no arquivo. Digitando:% cat >> list1E escrevendo nomes de mais amino ácidoshistidinaleucinatriptofano^D (Control D to stop)

Você deve ter agora dois arquivos: list1 e list2.

Juntar esses dois arquivos em um com cat:% cat list1 list2 > biglistO que estamos fazendo é lendo os arquivos list1 e list2 e colocando o texto desses dois arquivos no terceiro arquivo biglist

Page 20: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

3.2 Redirecionando a entrada de dados Usamos o símbolo < para redirecionar a entrada de um comando.O comando sort ordena uma lista em ordem numérica ou alfabética. Digite:% sort E escreva o nome de algumas proteínas, pressionando [Return] depois de cada um.hexoquinasetripsinacalmodulina^D (control d para parar)A saída será:calmodulinahexoquinasetripsina

Usando < você pode direcionar a entrada a partir de um arquivo. Por exemplo:% sort < biglist E a lista biglist será ordenada e colocada na tela.% sort < biglist > slist Vai ordenar a lista biglist e escrevê-la no arquivo slist.

Page 21: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

3.3 Pipes

Para ver quem está no sistema digite:% who

Para ter uma lista ordenada de quem está no sistema:% who > names.txt% sort < names.txt

Isso pode ser feito em uma só linha de comando utilizando o pipe. O símbolo para este comando é a barra vertical |

Por exemplo:% who | sort vai dar o mesmo resultado que os dois comandos anteriores.

Page 22: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

Sumário

comando > arquivo redireciona saída para um arquivo

comando >> arquivo acrescenta saída a um arquivo

comando < arquivo redereciona entrada para um arquivo

comando1 | comando2 pipe a saída do comando1 para a entrada do comando2

cat arquivo1 arquivo2 > arquivo0

junta arquivo1 e arquivo2 no arquivo0

sort ordena os dados

who lista usuários que estão logados

Page 23: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

O caracter * é chamado wildcard, e pode significar nenhum ou mais que um caracter em um arquivo (ou diretório).Por exemplo, no seu diretório unixtutorial, digite:% ls list*Lista todos os arquivos que começam com list% ls *listLista todos os arquivos que terminam com list

O caracter ? significa exatamente UM caracterAssim ls ?aso vai encontrar arquivos como vaso, caso, mas não atraso.

4.1 Wildcards: caracteres * e ?

4.2 Convenções em nomes de Arquivos

Caracteres com significados especiais como / * & % , devem ser evitados quando nomeamos arquivos e diretórios. Também deve-se evitar os espaços em branco entre nomes.

Page 24: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

Manuais on-line% man wc

Alternativa:% whatis wc : dá uma informação de uma linha sobre o comando, mas não diz nada sobre opções.

AproposQuando você não tem certeza sobre o comando:% apropos keyword

dá para você os comandos com palavra chave. Ex.% apropos copy

4.3 Help

Page 25: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

Sumário

* qualquer número de caracteres

? UM caracter

man comando lê o manual on line do comando

whatis comando descrição breve do comando

apropos palavra chave

encontra os comandos com a palavra chave

Page 26: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

5. Permissões de Acesso

•O acesso aos arquivos depende das permissões.

•Existem três tipos de permissões:•read, r•write, w•execute, x

•Existem três classes de acesso•owner, o•group, g•other, o•(all, a)

Page 27: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

% ls -l (l long listing!) Com esse comando obtem-se muitos detalhes sobre o conteúdo do diretório.

-rwxrw-r-- 1 paula bioinfo 2450 Sept29 11:52 arquivo1

nome do arquivo

tamanho,data e horário

dono e grupopermissões

Se o d está presente ele estará sempre no lado esquerdo da lista e significa que é um diretório. Caso não for diretório, começará com -.

Os outros 9 símbolos indicam as permissões, e são lidos em 3 grupos de 3.

•permissões de arquivo para o dono do arquivo (ou diretório),•permissões ao grupo de pessoas ao qual o arquivo pertence (bioinfo), •permissões para todos os outros.

Exemplo:-rwxrwxrwx: é um arquivo que todo mundo pode ler, escrever, executar (e apagar)-rw-------: um arquivo que apenas o dono pode ler e escrever

Page 28: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

5.1 Mudando os direitos de acesso chmod (changing mode)Só o dono do arquivo pode usar chmod para mudar as permissões de um arquivo.As opções de chmod são: Símbolo Significado

u usuário (user)

g grupo (group)

o outros (other)

a todos (all)

r ler (read)

w escrever (e apaga) (write)

x executa (e acessa diretório)

+ adiciona permissão

- tira permissão

Exemplo, para remover as permissões de ler e escrever do arquivo biglist para grupo e outros:% chmod go-rwx biglist Para dar permissão de leitura para o arquivo biglist para todos% chmod a+rw biglist

Page 29: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

5.2 Processos e Jobs

Cada processo é identificado por um único PID (process identifier). % ps

Para rodar um processo em background (deixando o prompt livre), digite & no final da linha de comando.

Por exemplo, o comando sleep espera alguns segundos antes de continuar. Digitando:% sleep 10 Faz esperar 10 segundos antes do prompt retornar. Tem que ficar esperando.

Mas se digitar% sleep 10 & (para rodar em background)O prompt retorna na mesma hora permitindo que você rode outro programa.

Se você esqueceu de colocar o símbolo &, pode levar o programa a background digitando ^Z (ctrl-Z) e:% bg

Page 30: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

ps (process status)Processos podem ser terminados usando o PID% sleep 100 &

% ps PID TT S TIME COMANDO 20077 pts/5 S 0:05 sleep 100 21563 pts/5 T 0:00 netscape 21873 pts/5 S 0:25 nedit % kill 20077

Se um processo não é terminado, use a opção -9% kill -9 20077

5.3 Matando um processo kill

Page 31: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

6. Editores de texto

1. pico ...amigável e orientado pelo menu2. vi ...editor poderoso mas não muito fácil de usar3. emacs

Para abrir e editar um arquivo:

% pico filename% vi filename%emacs filename

Mais sobre UNIX em http://www.cbi.cnptia.embrapa.br/Services

Manuals UNIX Intro

Page 32: Paula Kuser Falcão UNIX  UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns comandos básicos Foi desenvolvido

http://www.cbi.cnpia.embrapa.br Paula Kuser Falcão UNIX

Chime

Chime é um programa para mostrar estruturas moleculares em três dimensões.

Exercício

Fazer o tutorial do Chime: http://www.umass.edu/microbio/chime/chimehow/chimehow.htm

Fazer os itens do OPTIONAL ADVANCED FEATURES