Paula Kuser Falcão UNIX UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns...
Transcript of Paula Kuser Falcão UNIX UNIX Objetivos Introduzir o sistema operacional UNIX Mostrar alguns...
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
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
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
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)
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
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 '..'
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.
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.
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
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
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)
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.
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.
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.
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
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
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
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
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
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.
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.
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
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.
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
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
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)
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
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
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
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
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
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