IV Curso de Bioinformática Algoritmos e técnicas computacionais para montagem e análise de genomas



Documentos relacionados
Aula 02. Introdução ao Linux

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

GNU/Linux/Bash. Aula 2

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

Roteiro 3: Sistemas Linux arquivos e diretórios

Práticas de Desenvolvimento de Software

Labgrad. Usúario: <matricula> Senha: senha

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva

Introdução a. Shell Script. Clésio Matos

Objetivos Instalação Gerência de Pacotes UNIX Shell. Curso UNIX. Matheus Braun Magrin Felipe dos Santos Silveira

Introdução ao Linux: Parte I

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

Sistema Operacional LINUX


Aula 4 Comandos Básicos Linux. Prof.: Roberto Franciscatto

Entendendo o Sistema Operacinal. Prof. Armando Martins de Souza armandomartins.souza@gmail.com

Sistema Operacional Unidade 5 - Iniciando o modo texto. QI ESCOLAS E FACULDADES Curso Técnico em Informática

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

Comandos Básicos do Linux/Unix

16:21:50. Introdução à Informática com Software Livre

Formação de Administradores de Redes Linux LPI level 1. Aula 3 SENAC TI Fernando Costa

Partição Partição primária: Partição estendida: Discos básicos e dinâmicos

Universidade Federal da Fronteira Sul Campus Chapecó Sistema Operacional

Aula 04 - Hackeando a linha de comando

Revisão Aula Explique a MBR(Master Boot Record)

Aula 01. Introdução ao Linux

Julgue os itens a seguir referentes a conceitos de software livre e licenças de uso, distribuição e modificação.

LISTA DE COMANDOS DO LINUX 1

SIMULADO Windows 7 Parte V

CURSO BÁSICO DE PROGRAMAÇÃO AULA 8. Introdução ao Linux Introdução a linguagem C

NOÇÕES DE INFORMÁTICA:

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Treinamento para Manutenção dos Telecentros

Windows. Introdução. Introdução Sistema Operacional. Introdução Sistema Operacional. Introdução Sistema Operacional. Introdução Sistema Operacional

Campus - Cachoeiro Curso Técnico de Informática. Sistema de Arquivos. Prof. João Paulo de Brito Gonçalves

Informática. Aula 04/12. Prof. Márcio Hollweg. Visite o Portal dos Concursos Públicos

Manipulação de Arquivos Ubuntu. Haline de Souza Scotti Rodrigo Fantinati Ferreira

Curso de Linux Básico com o Linux Educacional

1 Objetivos da Oficina

Guia de Início Rápido

Professor: Roberto Franciscatto. Curso: Engenharia de Alimentos 01/2010 Aula 3 Sistemas Operacionais

Uso Eficiente da Linha de Comando com os Shells do Unix. Fábio Olivé

Estes apontamentos das aulas teóricas são da autoria de Pedro Vasconcelos (2007) tendo sido adaptados e modificados por Armando Matos (2010)

Laboratório de Sistemas Operacionais

Salvando arquivos em PDF nos Sistemas Mainframes, utilizando emuladores de terminal

4. Conceitos Básicos de Computação: Sistemas Operacionais

Computação Instrumental

Oficina de ferramentas de Gerência para Redes em Linux. Prof. Jefferson Santiago

Aula 01 Visão Geral do Linux

Informática. Professor: Diego Oliveira. Conteúdo 03: Sistemas Operacionais

Introdução à Programação de Computadores

Escola Adalgisa de Barros

LABORATÓRIO UNIDADES 1 REVISÃO LINUX E COMANDOS BÁSICOS ABRINDO A MÁQUINA VIRTUAL UBUNTU SERVER PELO VIRTUALBOX

Versão PIMACO AUTOADESIVOS LTDA. Assistente Pimaco Ajuda ao Usuário

Instalando o Debian em modo texto

Linux, Windows, Antivírus, Teclado e .

Introdução a Sistemas Abertos

Informática Aplicada. Aula 2 Windows Vista. Professora: Cintia Caetano

INTRODUÇÃO A LINUX. Características Sistema operacional Software livre Criado em 1991 por Linus Torvalds Dividido em duas partes principais 26/11/2013

SISTEMAS OPERACIONAIS

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL

PROVA DE CONHECIMENTOS ESPECÍFICOS PROFESSOR II INFORMÁTICA

NÚCLEO DE CIDADANIA DIGITAL Caminho Livre para o novo mundo! Conceitos básicos de Linux.

O WINDOWS 98 é um sistema operacional gráfico, multitarefa, produzido pela Microsoft.

CET GRSI Sistema Operativo de Rede. António Paulo Santos

Formação de Administradores de Redes Linux LPI level 1. Aula 2 SENAC TI Fernando Costa

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

LINX POSTOS AUTOSYSTEM

Informática. Aula 03 Sistema Operacional Linux. Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software [1]

Informática Fácil NOÇÕES DE LINUX. Prof.: Adelson Gomes Ferraz Antonio Carlos Reis

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

GUIA INTEGRA SERVICES E STATUS MONITOR

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Treinamento Linux. Aula 4-04/04/12

Administração de Sistemas Operacionais Não-Proprietários II

Introdução ao Shell Script

2. O AMBIENTE DE PROGRAMAÇÃO EM C

APOSTILA LINUX EDUCACIONAL

Usar Atalhos para a Rede. Logar na Rede

O Windows também é um programa de computador, mas ele faz parte de um grupo de programas especiais: os Sistemas Operacionais.

Introdução ao Linux. Instituto Federal de Educação, Ciência e Tecnologia do Sul de Minas Gerais Campus Pouso Alegre

Arquivos e Pastas. Instrutor Antonio F. de Oliveira. Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro

Universidade Federal de Goiás. Alexandre Ferreira de Melo CERCOMP / UFG

Capítulo 7 O Gerenciador de Arquivos

Manual do Spectacle. Boudhayan Gupta Boudhayan Gupta Tradução: André Marcelo Alvarenga

Sistema Operativo em Ambiente Gráfico

PROCESSOS COMPONENTES DE UM PROCESSO. A execução de um processo possui vários componentes. PID e PPID

Informática Básica. Microsoft Word XP, 2003 e 2007

Este tutorial está publicado originalmente em

Manual de Comando Linux

Tutorial: Programando no Linux

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

LINGUAGEM DE PROGRAMAÇÃO WEB

SISTEMA OPERACIONAL & SOFTWARE LIVRE

PROJETO INFORMÁTICA NA ESCOLA

Transcrição:

IV Curso de Bioinformática Algoritmos e técnicas computacionais para montagem e análise de genomas Linux Introdução ao Sistema Operacional e Comandos Básicos do Shell

Introdução Linux é o nome dado tanto para o Kernel (núcleo de um sistema operacional) quanto para o sistema operacional que roda sobre ele. Desenvolvido por Linus Torvalds e inicialmente distribuído em 1991 como um pacote GPL simples contendo apenas o Kernel e alguns utilitários básicos. O próprio usuário deveria compilar e configurar outros programas, alguns deles essenciais, para que o sistema atendesse suas necessidades. Sua fama de sistema operacional apenas para técnicos incitou a distribuição de pacotes mais completos, que poupassem alguns esforços na instalação do Linux e que podiam ser desenvolvidos e direcionados para públicos e hardware específicos. Atualmente, dentre um grande número de distribuições, as mais populares são aquelas que contam com o conjunto de aplicativos e utilitários do projeto GNU, da Free Software Foundation, uma das maiores contribuidoras no desenvolvimento do Linux e da Linus Torvalds proliferação da filosofia do software livre.

Por que Linux para Bioinformática? Linux é GRATUITO, e a maioria das suas ferramentas também; Maioria das aplicações de Bioinformática é desenvolvida para Linux; Alto desempenho e fácil controle de processos/uso de recursos; Amplamente utilizado pela comunidade científica; Possibilidade de ser modificado significativamente para interesses específicos; Excelente suporte para scripting e programação; Excelente suporte para clusterização, multiprocessamento, computação distribuída; Número expressivo de ferramentas Open Source/Free;

Ubuntu Fedora Debian Slackware SUSE Gentoo Red Hat... Distribuições Linux

Sistema de Arquivos Windows Partição Windows Partição Extra C: D: C:/Program Files C:/Windows D:/Backup D:/Filmes D:/Músicas C:/Windows/ system32

Sistema de Arquivos Linux Partição Linux / /bin /home /media /bin/cap3 /home/user /media/hd2 /media/hd2 /Filmes Partição Extra /media/hd2 /Músicas /media/hd2 /Backup

Gerenciador de Arquivos do X

Shell O X pode proporcionar uma experiência Linux equivalente à da interface do gerenciador de janelas do Windows, com Mouse, movimentação e redimensionamento de janelas, ícones, botões e informações na tela. Muitas das ferramentas avançadas de computação, como as de bioinformática, não são implementadas para um gerenciador de janelas como o X, sendo necessária a utilização de um interpretador de comandos Linux (Shell) para que a ferramenta seja utilizada.

Shell Ferramentas tradicionais ágeis, estáveis e confiáveis como cat, sed, grep, uniq, diff, awk,... *, indispensáveis para programadores Linux possuem implementações nativas com acesso por linha de comando (Shell). *, ** Introduzidos nas próximas seções O Shell torna-se uma ferramenta poderosa por possibilitar o acesso imediato a qualquer arquivo do sistema e a integração entre entradas e saídas de programas por metacaracteres **.

Shell Exemplos de Shell: - Bourne ou sh, C shell ou sch, Korn ou ksh e bash Abrir uma janela do Shell no X - Busque pelo aplicativo Terminal ou Gnome-terminal ou ainda Konsole no painel de aplicativos do seu gerenciador de janelas. - Atalho: ALT+F2 gnome-terminal konsole Qual Shell estou usando? echo $SHELL

Utilizando o Shell usr@machine:dirname$ Ex: gcc@ubuntu:/$ thiago@bioinfo03:~# ~ : Diretório Home $ : Indica conexão sem privilégios de root # : Indica coneção como root

Utilizando o Shell Padrão de Linha de Comando usr@machine:path$ comando -[opcoes] [argumentos] Ex1: gcc@ubuntu:~$ rm r projeto_antigo Apaga projeto_antigo recursivamente. Caso seja uma diretório, apaga também todos os seus arquivos e subdiretórios. Ex2: $ head n 10 arquivo.txt Imprime na saída padrão as primeiras 10 linhas de arquivo.txt Por padrão os argumentos precedidos por - ou -- definem o tipo do próximo argumento ou uma opção. No Ex1, -r é uma opção que faz com que o rm seja recursivo e projeto_antigo é o nome do diretório/arquivo. No Ex2, -n precedendo o número 10 significa que head vai imprimir as 10 primeiras linhas de arquivo.txt

Utilizando o Shell - Navegação Comandos para navegação no sistema de arquivos Cmd Descrição Argumentos Principais pwd ls tree cd Mostra o caminho do dir. atual Lista arquivos e pastas do diretório atual Lista uma árvore de arquivos e pastas cuja raiz é a diretório atual Muda de diretório -a ou --all -l ou --list -h -d -L level Atalhos especiais: ~ : Diretório home do usuário. : Diretório atual.. : Diretório pai do diretório atual Lista arquivos ocultos Exibe detalhes Human readable Lista apenas os diretórios omitindo Lista no máximo level níveis da árv.

Utilizando o Shell Arquivos e Pastas Comandos para gerenciamento de arquivos e pastas Cmd Descrição Exemplos mkdir Cria um diretório $ mkdir dir1 Cria dir1 cp Copia arquivo ou pasta $ cp ~/arq1 /bin Copia arq1 para /bin mv Move arquivo ou pasta $ mv ~/arq1 /bin Move arq1 para /bin rm Remove arquivo ou pasta $ rm ~/arq1 Remove arq1 touch Modifica o time stamp de um arquivo, criando-o por padrão caso não exista ln Cria um link para um arquivo $ ln s /home/user/arqui vo.txt link_name $ touch a Cria o arquivo a, ou modifica a timestamp do arquivo a para a data e hora atuais Cria o link link_name no diretório atual que aponta para /home/usr/arquivo.txt

Cmd cat less more wc Utilizando o Shell Exibição de Arquivos Como visualizar um arquivo pelo Shell? Descrição Imprime o arquivo na saída padrão (stdout) Pagina o arquivo na saída e exibe-o na saída padrão, oferecendo a possibilidade de navegar pelo arquivo. Equivalente ao less, com menos recursos. Conta o número de linhas, caracteres e bytes de um arquivo Stdout ou Saída Padrão Ex: Tela, Impressora, Arquivo Stdin ou Entrada Padrão Ex: Teclado, Arquivo, Pipe Stderr ou Saída de Erro Padrão Ex: Tela, Arquivo Entrada e Saída de Programas Linux

Utilizando o Shell Editores de Texto Devido à limitação do terminal de exibir apenas caracteres, os editores de texto para o Shell devem ser do tipo WYSIWYM (what you see is what you mean). Formatação, inserção de imagens e gráficos devem ser realizadas por ferramentas externas que interpretam marcações no texto, como em arquivos HTML, Tex, ou LaTex. VI Editor avançado de Texto presente em todas as distribuições Linux por estar padronizado pela Single Unix Specification. Concorrente do Emacs. NANO Editor de texto básico, com atalhos intuitivos, bem menos complexo que o VI.

Editores de Texto Nano Editando um arquivo com o Nano Abre o arquivo de nome filename, criando-o caso não exista $ nano filename Abre o arquivo o nano sem nenhum arquivo associado. O nome do arquivo deve ser indicado ao salvar o documento $ nano Os atalhos principais são exibidos na tela, o que torna o Nano muito fácil de usar. ^G == Ctrl+G

Editores de Texto Vi O Vi é um editor de texto que opera em dois modos principais: Normal: Texto digitado é interpretado como comando. É acessado, a partir de qualquer modo, pressionando-se a tecla esc do teclado. Inserção: Texto digitado torna-se parte do documento. É acessado pressionando a tecla i do teclado no modo normal

Editores de Texto Vi Principais comandos do VI (modo Normal) http://pt.wikipedia.org/wiki/vi

Exercício Prática 1 1. Entrar no diretório home do usuário 2. Dentro do seu diretório home, criar uma pasta com seu nome, em seguida entre nela 3. Criar as pasta teste1 teste2 e teste3 (no mesmo comando) 4. Criar as pastas subteste1 dentro de teste1 5. Mover a pasta subteste1 para a pasta teste2 6. Remover a pasta subteste1 7. Crie um arquivo vazio na pasta criada no passo 2 7. Copiar o arquivo../pratica_linux/sequencias1.fasta para a pasta criada no passo 2 com o nome sequencias_copia.fasta, em seguida visualize o conteúdo do arquivo sequencias_copia.fasta (usar o vi) e insira seu nome o numero do seu grupo no arquivo cabecalho. 8. Adicionar o conteúdo do arquivo sequencias_copia.fasta no arquivo sequencias2.fasta (no mesmo dir, usando o comando cat) e concatená-los ao cabeçalho.

Utilizando Shell Ferramentas Várias ferramentas Unix simples e eficazes podem ser utilizadas para a manipulação de dados diretamente pelo Shell. Vantagens: - Relativa facilidade de uso - Excelente documentação - Versões estáveis há décadas - Possibilidade de comunicação entre as ferramentas através do pipe - Implementação extremamente otimizada

Ferramentas Manual A documentação das ferramentas pode ser acessada usando o comando man. Ex: $ man ls Essa documentação é apenas para referência, não funcionando como um tutorial Mas se eu não souber qual comando procurar? A ferramenta apropos pode ser utilizada para buscar nos manuais disponíveis por palavras-chave específicas. Ex: $ apropos a create directory

Ferramentas Meta-Caracteres Alguns caracteres são interpretados como comandos no Shell. Esses caracteres são denominados metacaracteres. Meta-caracteres mais comuns: * : Qualquer string? : Qualquer caractere [a-b] : Range de caracteres ASCII (letras ou números) [abc, cde] : Lista de strings

Exemplos: Ferramentas Meta-Caracteres $ cp /bin/*. Copia todos os arquivos da pasta /bin para o diretório atual $ ls *.??? Copia todos os arquivos que possuem uma extensão de 3 caracteres. Ex: foo.txt, bar.foo

Ferramentas Redirecionamento Alguns caracteres especiais, se usados na linha de comando, podem modificar o Stdin e o Stdout dos programas. < : Modifica a entrada padrão do programa para um arquivo Ex: $ programa.pl < lista_de_genes.fasta > : Redireciona a saída padrão de um programa para um arquivo Ex: $ programa.pl > relatorio >> : Redireciona a saída padrão de um programa para o final de um arquivo (concatena) Ex: $ programa.pl >> relatorios

Ferramentas para texto - grep O grep realiza busca por expressões por linha em arquivos de texto. Exemplos: $ grep > genes.fasta Exibe na saída padrão as linhas do arquivo genes.fasta que contém o caractere >. $grep l GAATTC *.seq > has_ecori.txt Redireciona para o arquivo has_ecori.txt uma lista dos arquivos.seq do diretório atual que contém GAATTC.

Ferramentas para texto head/tail Head: Exibe na saída padrão as primeiras linhas de um arquivo Ex: $ head arquivo.txt Exibe na saída padrão as primeiras 10 linhas de arquivo.txt $ head n 21 arquivo.txt Exibe na saída padrão as primeiras 21 linhas de arquivo.txt

head/tail Tail: Exibe na saída padrão as primeiras linhas de um arquivo Ex: $ tail n 15 arquivo.txt Exibe na saída padrão as últimas 15 linhas de arquivo.txt $ tail n +2 arquivo.txt Exibe na saída padrão todas as linhas do arquivo a partir da segunda.

Pipes A saída de um programa pode ser redirecionada diretamente para a entrada de outro. Essa ferramenta torna possível a combinação de vários processos para a realização de tarefas mais complexas. $ grep Toolik Lake shaver_etal.csv grep Aug > toolik_aug.csv Redireciona para o arquivo toolik_aug.csv as linhas do arquivo que contém as strings Aug e Toolik Lake.

Sort O Sort ordena as linha de um arquivo de acordo com parâmetros fornecidos pelo usuário. Exemplos: $ sort nomes > nomes.sorted Escreve em nomes.sorted o conteúdo de nomes ordenado (tabela ASCII). $ tail n +2 arquivo.txt sort k 2 n Retira o cabeçalho da tabela que está no arquivo.txt e ordena as linhas numericamente de acordo com a segunda coluna.

Uniq Por padrão, o Uniq remove ocorrências de linhas duplicadas de um arquivo de texto. Para que isso ocorra o arquivo deve estar ordenado. Exemplos: $ sort nomes uniq nomes.uniq Escreve em nomes.uniq o conteúdo removendo os duplicados.

Cut O Cut fatia o arquivo de entrada verticalmente. É ideal para seleção de colunas de tabelas. Exemplos: $ grep > asb.fa cut -c 2- > contigs.ids Escreve os nomes dos contigs do arquivo asb.fa em contigs.ids $ cut -f 5,7,9 d, ctd.txt > ctd.579.txt Seleciona as colunas 5, 7 e 9 do arquivo ctd.txt, escrevendo-as em ctd.579.txt

Exercício Cut/Sort/Uniq Conte o número de ocorrências de cada aminoácido do arquivo aminoacidos utilizando os comandos CUT, SORT e UNIQ redirecionando o resultado para um arquivo. Dica: utilize o manual para verificar as opções de cada uma das ferramentas.

awk O awk é uma linguagem de programação complexa que oferece recursos para processamento de texto, mas seu uso mais comum é a de seleção de colunas para reformatar arquivos. Exemplos: $ awk F, {print $2 $1} tabela.csv head n 3 less Inverte a posição das colunas 1 e 2 da tabela.csv e exibe na tela pelo less.

sed Sed é utilizado para efetuar transformações em texto, como substituições. Exemplos: $ sed s/>contig/>hybridcontig/ assembly.fa > assembly.renamed.fa Substitui a primeira ocorrencia da string >Contig em cada linha do arquivo assembly.fa por >HybridContig. $ sed s/t/u/g dna.seq > rna.seq

Monitoramento de Processos Cmd Descrição top Exibe a lista de processos em execução com info em tempo real ps Imprime no stdout a lista de processos em execução kill Envia um signal para um processo. Default KILL df du Exemplos: Exibe informações sobre o espaço dos discos montados na máquina Exibe o tamanho das pastas e arquivos de um diretório free Exibe informações sobre a memória física e swap utilizada pelo sistema

Nohup e & Nohup desvincula o processo da linha de comando do terminal. & executa o processo em segundo plano. Ex: $ nohup perl programa.pl Ex: $./sleep 20 & Programa sleep é executado em segundo plano.