biologia molecolare laboratorio di bioinformatica...

31
Biologia molecolare Biologia molecolare Università degli Studi di Verona Dipartimento di Biotecnologie Laboratorio di Bioinformatica II Laboratorio di Bioinformatica II Ottobre 2014 - Sergio Marin Vargas Breve guida Linux

Upload: phungbao

Post on 15-Feb-2019

228 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Biologia molecolareBiologia molecolare

Università degli Studi di Verona

Dipartimento di Biotecnologie

Laboratorio di Bioinformatica IILaboratorio di Bioinformatica II

Ottobre 2014 - Sergio Marin Vargas

Breve guida Linux

Page 2: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Caratteristiche di LinuxCaratteristiche di Linux

Linux possiede molte caratteristiche che ne fanno

Nel 1991, uno studente finlandese, Linus

Torvalds, per la sua tesi di laurea scrive

un ''mini-unix per PC'', basandosi su

software GNU, e nasce così LINUX.

Linux possiede molte caratteristiche che ne fanno un ottimo sistema operativo:

�robusto e affidabile�ampio supporto di processori e periferiche�networking avanzato�strumenti di sviluppo e debugging�interfaccia grafica�ampia disponibilità di software�gratuito e open source (licenza GNU)

Page 3: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

DistribuzioniDistribuzioni LinuxLinux

� Principali distribuzioni◦ Debian, Ubuntu◦ RedHat, Fedora◦ Novell SuSe, Open Suse

MandrivaNovell SuSe, Open Suse◦ Mandriva◦ Slackware

� Altre distribuzioni◦ 1000+

Page 4: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

UbuntuUbuntuUbuntu è una espressione in lingua bantu (Africa sub-Sahariana) che indica "benevolenza verso il prossimo".Indica anche una regola di vita, basata sulla compassionee il rispetto altrui.

http://www.ubuntu.com/

Ubuntu deriva da Debian� Ubuntu deriva da Debian� Ubuntu sarà sempre◦ “free to download” ◦ “free to use” and ◦ “free to distribute to others”

� Desktop Edition� Server Edition� X86-32, x86-64, and Mac� Ubuntu, Kubuntu, Xubuntu, …

Page 5: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

• Opera su diversi tipi file:

– normaliArchivi di dati, testi, comandi, programmi sorgente, programmi eseguibili, immagini, ecc.

directory

Il Il filesystemfilesystem di Linuxdi Linux

– directory Entità che raggrupa diversi files al suo interno.

– deviceDispositivi hardware collegati, vengono visti come file speciali (stampanti, dischi esterni, chiavette, ecc).

– linkRiferimento ad un altro file o directory. Le operazioni sul link si riflettono sull’oggetto collegato.

Page 6: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

La La vostravostra home home dentrodentro ilil filesystemfilesystem

� Ora voi sietenella vostra home

� È una cartella in cui potetescrivere i vostrifile, fare cartellee mettere in ORDINE le cose.

Page 7: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

• Un file è individuabile attraverso il nome e lesottodirectory del path (percorso) dalla root /

• Le “path”possono essere relative (rispetto alladirectory di lavoro) o assolute (iniziano con /)

Esempio: path assoluta e path relativa (sul file

Struttura logica: Struttura logica: pathnamespathnames

Esempio: path assoluta e path relativa (sul file “file.txt” della cartella “/home/utente”)

o Path assoluta (Posizionati su una qualsiasi directory)/home/utente/file.txt (path assoluta)

./file.txt (path assoluta se sono su /home/utente)

o Path relativa (Posizionati su “/home”)utente/file.txt

o Path relativa (Posizionati su “/home/utente”)file.txt

Page 8: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

La La ShellShell

• In Linux si interagisce con il sistema attraverso un programmachiamato shell il quale viene invocato automaticamente alLogin.

• Esistono diverse shell (sh, bash, tcsh, …)

o la maggior parte dei comandi ha la stessa sintassi nellediverse shell, la più utilizzata resta la “sh”diverse shell, la più utilizzata resta la “sh”

o la scelta di una shell è essenzialmente questione di gusti• In Linux i comandi sono dati sotto la shell che li interpreta,

esegue e scrive (se necessario) il risultato sul terminale.• L’attenzione della shell è espressa dal prompt , carattere che

può essere deciso dall’utente.• Esempi di prompt :

>%[pccmslb]:~>utente@server:~$

Page 9: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Il Il terminaleterminale

• I vostri comandi sono interpretati dalla shell,per interagire con questa si usa il terminale,

un ambiente dove si possono scrivere i

comandi e leggere le risposte.

Page 10: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

LoginLogin

• Una volta partito il sistema l’utente esegue laprocedura di Login.

• Se si è installato un ambiente grafico di desktop,la procedura è gestita dall’ambiente stesso.

• Il Login richiede sempre uno username e una• Il Login richiede sempre uno username e unapassword.

• All’utente viene assegnato una zona di discoidentificata come home directory (/home/utente/)

• Alla fine della procedura di Login l’utente “sitrova” dentro il terminale, in una particolare shell,posizionato nella sua home directory cioè in unazona di disco in cui ha tutti i privilegi per crearenuovi files o directories.

Page 11: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

PerchePerche un un buonbuon informaticoinformatico((biotecnologobiotecnologo) ) devedeve saperesapereutilizzareutilizzare linuxlinux dada terminaleterminale

� Perché molti programmi sono “artigianali” e si controllano in modo meno raffinatoe si controllano in modo meno raffinato(pochi soldi per lo sviluppo…) .

� Perchè va bene per gli automatismi (piccoliprogrammini, come ad esempio per blast, phyton, ma molti, molti altri programmi) .

Page 12: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Comandi principali: manComandi principali: man

Ovviamente per illustrare il funzionamento del comando si può fare anche:

In Linux il comando di help non si chiama help !Per avere informazioni su un qualsiasi comando si usa man che mostra l’uso del comando e delle sue opzioni in modo formattato.

Ovviamente per illustrare il funzionamento del comando man stesso, si può fare anche:

man man

Page 13: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Comandi principali: Comandi principali: lsls• Permette di elencare il contenuto (in files) di una

cartella.

Opzioni:

• -l (informazioni estese)

• -a (visualizza file nascosti, cioè inizianti con il .)

• -R (visualizza sottocartelle)

• -t (ordina la lista di file secondo l’ora dell’ultima modifica)• -t (ordina la lista di file secondo l’ora dell’ultima modifica)

• Esempio:

• Carattere jolly “*”:

$ ls -laR

$ ls –l *.py

Page 14: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Comandi principali: Comandi principali: lessless, more e , more e catcat• Permette di visualizzare un file (di testo) con

la gestione della paginazione

• Permette di visualizzare un file (di testo) con solo la gestione dell’avvanzamento di pagina

less nomefile

solo la gestione dell’avvanzamento di pagina

• Permette di visualizzare un file (di testo) senza la gestione della paginazione

more nomefile

cat nomefile

Page 15: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Comandi principali: cd e Comandi principali: cd e pwdpwd• Permette di cambiare la cartella corrente

Opzioni:

• cartella corrente: .

• cartella padre: ..

• home directory: ~ (oppure lasciare in bianco)

cd altra_cartella (relativo)

cd /path/altra_cartella (assoluto)

• home directory: ~ (oppure lasciare in bianco)

• Esempio:

• Visualizzare il path assoluto della cartellacorrente

$ cd .. (va alla cartella sup.)

$ cd ./utente/cartella (se esiste)

$ cd (va alla home)

pwd

Page 16: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

I permessi nei file linuxI permessi nei file linux

• La prima lettera indica se è una directory (d) , un link simbolico (l) o un file (-) mentre le restati 9 ( a gruppi di 3 ) definiscono i permessi per proprietario, gruppo e altri utenti.

• I tipi di permesso possono essere:• lettura (r)• scrittura (w)

Permessi

• scrittura (w)• esecuzione (x)

• Per cambiare il proprietario di un file si usa il comando chown, è necessario essere proprietario del file o “super user” (sudo).

• Per cambiare i permessi di un file si usa il comando chmod, è necessario essere proprietario del file o “super user” (sudo).

$ chmod 760 nomefile

$ chmod 666 nomefile

$ chmod 777 nomefile

$ chmod +r nomefile

$ chmod -w nomefile

$ chmod -x nomefile

$ chown propietario.gruppo nomefile

Page 17: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Comandi principali: Comandi principali: mkdirmkdir e e rmdirrmdir

• Creare nuove cartelle

• Esempio:

mkdir nome_cartella

• Esempio:

• Eliminare una cartella (solo se vuota)

$ mkdir nuovacartella1 nuovacartella2

rmdir nome_cartella

Page 18: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Comandi principali: Comandi principali: cpcp, , mvmv e e rmrm

• Copiare file e cartelle

• Spostare o rinominare file e cartelle

cp [opzioni…] sorgente… destinazione

mv [opzioni…] sorgente… destinazione

• Eliminare file (opzioni: -i per modalità interattiva, -r

ricorsiva, elimina le cartelle senza passare per il cestino!!!)

• Eliminare cartelle (Cancella la cartella e tutto il suo

contenuto. Attenzione ad utilizzarla, cancella tutto !!!)

rm [opzioni…] file

rm –r nome_cartella

Page 19: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

La pipeline: |La pipeline: |• Permette di passare l’output di un comando

direttamente sull’input del comando

successivo in un’unica riga di comando

Esempi:

ls -l | less

ls -l | morels -l | more

cat nomefile | less

less nomefile

cat nomefile | more

more nomefile

Page 20: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Comandi principali: Comandi principali: grepgrep• Ricerca in uno o più file di testo le linee che

corrispondono alla espressione indicata.

• Opzioni:• -i Ignora le differenze tra lettere maiuscole e minuscole.• -n Precede ogni linea dei risultati con il numero di linea all'interno del file

(partendo da 1).• -l Indica solo i nomi dei file in cui è stata trovata almeno una corrispondenza• -l Indica solo i nomi dei file in cui è stata trovata almeno una corrispondenza

(ciascun file è elencato una sola volta, indipendentemente dal numero dicorrispondenze in esso trovate).

• -v Nega i modelli specificati, producendo un elenco delle linee che nonsoddisfano alcun modello.

• -c Produce per ciascun file solo il conteggio del numero di linee checorrispondono.

grep nomefile espressione

ls –l | grep 2014

ls –l | grep rwx | less

Page 21: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Eseguire programmiEseguire programmi• In windows gli eseguibile sono “.exe”, in linux un eseguibile si riconosce perche il

terzo attributo del file è “x”, questi normalmente vengono colorati col colore verde:

• Per che un programma possa essere eseguito, questo deve trovarsi in una delle

$ ls --color=always

$ ls -l

• Per che un programma possa essere eseguito, questo deve trovarsi in una dellecartelle indicate dalla variabile di ambiente PATH, oppure deve essere lanciato con la path assoluta:

$ echo $PATH (Per visualizzare i percorsi eseguibili)

Se il programma si trova in una delle cartelle di $PATH:

$ nomeprogramma

Se il programma si trova nella cartella corrente e non nella $PATH:

$ ./nomeprogramma

Se il programma non si trova ne nella cartella corrente ne nella $PATH:

$ /path_assoluta/nomeprogramma

Page 22: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Operare con i processiOperare con i processi• Un processo è un programma in esecuzione

(front-end o background).

• Visualizzare informazioni sui processi

ps [opzioni…] [PID]

Esempi:

ps –ef | less

ps –ef | grep PID

• Eliminare un processo

• Monitorare l’utilizzo delle risorse da parte dei

processi

ps –ef | grep PID

kill [opzioni…] PID

Esempio: kill -9 2435

top [opzioni]

Esempio: top

Page 23: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Comandi principali: Comandi principali: dudu e dfe df

• du: visualizza la dimensione della cartella

corrente, mostrando il valore delle

sottocartelle e alla fine il totale

• Esempio (opzione -h � human format):

$ du

• Esempio (opzione -h � human format):

• df: visualizza i “file system” (dischi)

mostrando lo spazio totale, quello utilizzato e

quello ancora disponibile.

$ du -h

$ df -h

Page 24: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Creare e modificare files di testoCreare e modificare files di testo

� L’editor di base a riga di comando, in tutte ledistribuzione di linux è “vi” o nell’ultima versionemigliorata “vim”.

� L’editor vim dispone di numerosi comandi, essi siinvocano premendo la sequenza di tasti

vim nome-file

invocano premendo la sequenza di tasticorrispondente.◦ Premendo i tasti in vim, infatti, i caratteri corrispondenti

non vengono inseriti nel testo, ma vengono interpretaticome comandi, a meno che non si sia entrati nel modoinserimento con l’opportuna sequenza di tasti

� Per uscire da una certa modalità si preme il tastoESC.

� I commandi in vim sono “case sensitive”.

Page 25: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Comandi dentro vim (Comandi dentro vim (11))

Salva il testo corrente:w

Esce e salva:x

Esce da vim:q

Esce senza salvare:q!

Elimina una parolade,dw

Elimina una riga (3D � Elimina 3 righe)dd, D

Esce da una modalità (es. inserimento testo)ESC

Entra in modalità inserimento testo (insert)i

Entra in modalità sovrascrittura testo (replace)R

Page 26: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Comandi dentro vim (2)Comandi dentro vim (2)

Incollap

Copia una parolaye,yw

Undou

Copia una linea (5Y � Copia 5 linee)yy, Y

:s/old/new � Sostituisce old con new

:1,$s/old/new/g � Sostituisce tutte le occorrenze

:s

Ripete l’ultima ricercan

Entra in modalità inserimento comandi:

Cerca la parola “xxx”:/xxx

Modalità inserimento, aggiungendo una rigaO, o

Page 27: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Collegamento locale e remotoCollegamento locale e remoto

• Il collegamento locale avviene tramite il terminale.

• Il collegamento remoto avviene tramite il protocollo “ssh”, con ilcomando ssh da linux o tramite programmi come “putty” dawindows. Il ssh è a tutti gli effetti un “terminale remoto”.

• Un server viene riconosciuto dal nome del server (se inserito nelDNS) oppure dal suo indirizzo IP.

• Per copiare files tra server e client si utilizza il protocollo “scp”, mediante il comando scp oppure con programmi come “winscp”.

Page 28: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Servers del laboratorio di Servers del laboratorio di Bioinformatica ApplicataBioinformatica Applicata• L’elenco aggiornato dei server si trova in questo link:

http://molsim.sci.univr.it/bioinfo/web/index.php?option=com_content&view=article&id=50&Itemid=80

Oppure su (Cliccando su “STUDENTS / Servers”) in:

http://molsim.sci.univr.it/abg

• BiotecnologieBox (2 GB - 2 core)o IP address: 157.27.253.104o IP address: 157.27.253.104o User: studenti

• Bioinfo2 (4 GB - 4 core)o IP address: 157.27.253.93o User: studenti

• Bioinfo3 (4 GB - 4 core)o IP address: 157.27.253.95o User: studenti

• Francy (16 GB - 8 core)o IP address: 157.27.253.186o User: studenti

• Maddalena (6 GB - 4 core)o IP address: 157.27.253.102o User: studenti

• Molsim (6 GB - 4 core)o IP address: 157.27.253.38o User: NO user studenti

Page 29: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Comando ssh (secure shell)Comando ssh (secure shell)

• Il comando ssh ha la seguente sintassi:

• Esempio 1, collegamento al server “molsim.sci.univr.it” con l’utente sergio

ssh [opzioni] nomeutente@nomeserver [comando]

ssh [email protected]

• Esempio 2, collegamento al server “157.27.253.93” (bioinfo2) con l’utente “studenti”.

• Esempio 3, collegamento al server “157.27.253.95” (bioinfo3) con l’utente “studenti”, eseguendo il comando “ls -l”

.

ssh [email protected]

ssh [email protected]

ssh [email protected] ls -l

Page 30: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Comando scp (secure copy)Comando scp (secure copy)

• Il comando scp ha la seguente sintassi:

• Esempio copia da locale a remoto, copia del file “file.txt” dalcomputer locale al server “157.27.253.93” con l’utente “studenti” nella cartella remota /home/studenti con lo stesso nome:

scp FileSorgente nomeUtente@host:directory/FileDestinazione

scp nomeUtente@host:directory/FileSorgente FileDestinazione

nella cartella remota /home/studenti con lo stesso nome:

• Esempio copia da remoto a locale, copia del file “file.txt” dalcomputer remoto “157.27.253.93” con l’utente “studenti” che sitrova nella cartella /home/studenti al computer locale nellacartella “/varie” ma col nome “nuovofile.txt”:

scp file.txt [email protected]:/home/studenti/file.txt

scp [email protected]:/home/studenti/file.txt /varie/nuovofile.txt

Page 31: Biologia molecolare Laboratorio di Bioinformatica IImolsim.sci.univr.it/2014_bioinfo2/Introduzione_a_linux.pdfBiologia molecolare Università degli Studi di Verona Dipartimento di

Grazie per la vostra per la vostra attenzione