Unix/GNU-Linux. Cristina Baroglio Dipartimento di Informatica Università di Torino

Documenti analoghi
Unix/ GNU- Linux. Marco Botta Dip artim en to d i In form atica Un iversità d i Torin o i.u n ito.it. Slides by Cristina Baroglio

Processi. Introduzione. Effective user/group id. Fork

Introduzione a Unix/Bash. Insieme minimo di strumenti per interagire con la shell Bash, compilare ed eseguire

Introduzione. P4 termina prima di P3, P2 e P3 prima di P1 P1 P2 P3 P4 P1 P1 P2 P3 P4. Padre. P1,..., P4 sono processi. Figlio

Unix. Unix è un Sistema Operativo cos è un sistema operativo? Nascondere le complicazioni cosa vuol dire?

File System. File system gerarchico. Proteggere la propria home directory ... / = Root nodi interni: directory foglie: directory vuote o file

ORGANIZZAZIONE del FILE SYSTEM SISTEMA OPERATIVO UNIX FILE SYSTEM. FILE astrazione unificante del sistema operativo

Introduzione al sistema Linux

Sistemi Operativi e Sperimentazioni

Come si accede a BASH Tasti utili: Ctrl-Alt-F1, Ctrl-Alt-F7. Il Primo comando : exit (CASE SENSITIVE!!) Si può uscire con CTRL-D

La Shell di Unix. l utente impartisce i comandi al sistema digitandoli ad un apposito prompt;

Laboratorio di Informatica Generale I UD Prima esercitazione

Unix e utenti. UNIX è un SO multiutente. Singolo utente

Microsoft Windows. Introduzione al Sistema Operativo e Utilizzo del Calcolatore. Il Calcolatore. Il Calcolatore. Sistemi Operativi.

Uso del terminale in ambiente UNIX

Reti Informatiche Corso di Laurea Triennale in Ingegneria Informatica

SHELL: File e Filesystem

BREVISSIMA GUIDA AL SISTEMA UNIX / LINUX

Introduzione alla. Alessandra Giordani Lunedì 11 marzo

Codice Corso: UNX010. Durata: 3 giorni

Tutorial di informatica pratica

Introduzione all'uso del sistema operativo Ubuntu

LABORATORIO DI SISTEMI OPERATIVI

Guida Linux. Molto rapida

Il software di sistema

Sistema Operativo (Software di base)

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Esercitazione 2. Editor Utenti Permessi

Lezione 1: Introduzione alla Shell di Unix

File System Unix. Generalità

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

Esempio di domande sul file system

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Esercitazione 2. Editor Utenti Permessi

Nozioni Base di Linux

Shell di Linux e Comandi Utente

Lavoriamo ora in windows

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Daniel Cesarini

Definizioni iniziali. Sistemi Operativi. Tipi di software. Sistema Operativo. Programma: una sequenza di istruzioni elementari

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Daniel Cesarini Daniel Cesarini

FILE SYSTEM 2. I-nodes (o Inodes)

Lezione 2: Comandi avanzati della Shell di Unix

Sistemi Operativi e informatica 1

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2016/2017. Comandi Shell

Prima Esercitazione. Linux shell e linguaggio C

Comandi principali di Linux (1)

Basi di Linux per GRASS. Cartografia numerica e GIS

Introduzione ai Sistemi Operativi. A cura di Massimo Scolaro Mob :

Corso Linux Base. 2. Uso del Sistema

Laboratorio 1: Usare Linux

Cosa è un sistema operativo?

Lab. di Sistemi Operativi

Cosa è un sistema operativo?

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2015/2016. Comandi Shell

File System I parte. File System

Organizzazione di Sistemi Operativi e Reti

COSA È UN SISTEMA OPERATIVO? È un programma (o un insieme di programmi) che agisce come intermediario tra l utente e l hardware del computer:

File System e Interprete Comandi

14 - INTRODUZIONE AL SISTEMA OPERATIVO LINUX

Editor, Utenti e Permessi Insegnamento di Sistemi Operativi di Rete Master Universitario in Tecnologie Internet

Architettura dei Sistemi Informatici

Sistem. erativi. Opera. stem

01 Terminale e file system

Introduzione a Unix e comandi principali. Sistema multitasking e multiuser. Concetto di Terminale. Login con username e password

Introduzione al Sistema Operativo MS-Windows ed all Uso dell IDE DEV-C++

Lezione 3: Programmazione della Shell di Unix

Interfaccia del file system

Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system

Introduzione al sistema operativo Linux Un po di storia

- Controllo di flusso: for -

Laboratorio. Sistemi Operativi: Linux/Windows. Giovanni Da San Martino

Laboratorio. Sistemi Operativi: Linux/Windows. Giovanni Da San Martino

COSA È UN SISTEMA OPERATIVO (SO)? È un programma (o un insieme di programmi) che agisce come intermediario tra l utente e l hardware del computer:

Introduzione alla. Alessandra Giordani Lunedì 27 febbraio

Accesso a Linux. E Mumolo - DIA

IL SOFTWARE DI SISTEMA

SOMMARIO. Ambiente Linux. Come nasce UNIX. Cronologia di UNIX 1. Storia dei sistemi *NIX Caratteristiche di Linux

Laboratorio di sistemi operativi A.A. 2010/2011 Gruppo 2 Gennaro Oliva Processi

Laboratorio di Informatica. Il Sistema Operativo. Il Sistema Operativo 1

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS

Permessi base e speciali in Unix-Linux

Avvio Avviare il computer facendo partire Linux (SL - Scientific Linux 6.3).

File System Linux Comandi Base per orientarsi con la Bash

Lab. di Sistemi Operativi - Esercitazione n 2- - comando di ricerca: grep -

Un file system nasconde la complessità dei diversi media proponendone una astrazione.

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system

Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica. Ing. Daniele Migliorini Vanessa Gardellin & Sara Lioba Volpi

Introduzione all uso dei laboratori aka Linux basics. October 23, 2013

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

Senza Soluzioni. Può un altro utente non appartenente al gruppo di mgiorgio, eseguire gli stessi comandi?

Sistemi Operativi. L interfaccia del file system

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2018/2019. Comandi Shell

Il software del PC. Il BIOS

Linux. Dott.ssa Maria Silvia Pini Anno accademico 2009/2010

Transcript:

Unix/GNU-Linux Cristina Baroglio Dipartimento di Informatica Università di Torino 011-6706703 baroglio@di.unito.it

URL del corso http://www.di.unito.it/~baroglio/bioinfo/aa0304/index.html 1 3 protocollo 2 id. macchina cammino 2 Computer Studente 1 3 Computer Docente

Utente / Sistema? Leggi posta Esegui programma Guarda foto Scrivi doc.

Macchina Fisica Hardware: macchina fisica Elaborazione = propagazione di differenze di potenziale Interpretazione: bit ed operazioni sui bit Primo passo: trasformare i bit in simboli Es: 100 0010 0001 SUM i1 i2

Macchina Astratta Principio: tutti i livelli sono equivalenti dal punto di vista computazionale M. Fisica Regole di traduzione M. Astratta1 M. Astratta2

Quanti livelli? A piacere! Bla bla bla bla L' utente interagisce con un'interfaccia grafica Monitor Metafora: oggetti + azioni es. file copia cancella rinomina

Cosa c'è nel mezzo? Livelli Bassi Bla bla bla bla gestione I/O, gestione degli utenti, dei file della memoria ecc. Il Sistema Operativo (1) gestisce le risorse e (2) nasconde le complicazioni

Utente non esperto... (1) Esistono i file Unità di memoria File = documento Vi sono diversi tipi di file, estensione = indicatore del tipo Domanda: posso avere due file con lo stesso nome?... dipende...

Utente non esperto... (2) Esistono anche le cartelle Raccoglitori di file Posso avere file con lo stesso nome in cartelle diverse! Le cartelle sono tutte dello stesso tipo Si possono creare, cancellare, copiare,... Domanda: Se 2 utenti usano lo stesso computer possono usare/modificare uno i file dell'altro?... dipende...

Utente non esperto... (3) Utenti: A cosa servono login e password? Possono più utenti lavorare contemporaneamente su di una stessa macchina? (ma una macchina non ha una tastiera sola?) Ha senso parlare di tipi di utenti differenti?

Utente non esperto... (4) Esecuzione di programmi: Apro un editor e comincio a scrivere del testo, intanto ascolto un mp3 mentre il mio browser scarica un applicativo da internet e un software di simulazione esegue un esperimento che terminerà fra un paio d'ore... Come può avvenire tutto ciò contemporaneamente?

Sistema Operativo Gestisce le risorse (memoria, CPU,...), nasconde le complicazioni dell'hw, gestisce gli utenti, i processi, tutto ciò in maniera trasparente all'utente Es. Windows 2000/NT/XP/ME, Solaris, Irix, BeOS, OS X, freebsd, Unix, Linux (RedHat, SuSe, Mandrake, Debian,...), Symbian

Linux File System Gestione degli Utenti Shell Comandi di base Editor Ambiente di lavoro

File System L'utente vede la memoria organizzata in file File: sequenza di byte, ha un nome, un contenuto e vari attributi, fra cui il proprietario, la data di ultima modifica, la dimensione I file sono organizzati in una struttura gerarchica: un albero Radice / root

Alberi e scatole cinesi Radice / root Le due rappresentazioni sono equivalenti

Cammini assoluti Radice / root src bin Doc Applic1 gamma alfa alfa beta (a) /Doc/alfa (b) /src/applic1/alfa

Utenti Linux (Unix) è un S.O. multi-utente Ogni utente è identificato da login (id. Pubblico) e password (id. Privato) Ogni utente deve poter lavorare come se fosse l'unico che utilizza quella macchina Ogni utente è proprietario di una porzione del file system

Utenti e file system Radice / root usr verdi rossi Home directory: ~verdi ~rossi

Shell Shell = interfaccia utente è un interprete di comandi >> comando [parametri]...output del comando >> I comandi sono dati in forma testuale Un comando può avere degli argomenti (parametri) Dopo l'elaborazione può essere visualizzato un output il prompt indica che la shell è in attesa di comandi

Metafora La metafora non è più quella degli oggetti con azioni applicabili Al computer si parla con un linguaggio molto rigoroso All'atto del login si entra in un ambiente grafico ma per lavorare occorre per lo più interagire con il sistema in forma testuale vantaggio: incremento esponenziale della flessibilità

Primi comandi whoami date clear finger nome_utente who traceroute 12.234.21.8 Sistema case-sensitive, ovvero le maiuscole sono intese diverse dalle corrispondenti minuscole (Windows è case-insensitive) i nomi di file e directory non possono contenere spazi

Working Directory (1) Molti comandi consentono di lavorare su file, che vengono passati come argomento: cp /usr/pippo/file1.doc /usr/pippo/file2.doc Usare cammini assoluti è scomodo Ogni utente ha associata una directory di lavoro (working directory)...

Working Directory (2) In molti sistemi Unix, la W.D. è inizializzata alla Home Directory, all'inizio della sessione di lavoro Può essere modificata Per fare riferimento a file contenuti nella W.D. è sufficiente il nome cp file1.doc file2.doc

Working Directory (3) Radice / root WD > cd progetti rossi > cd../backup progetti backup file1.txt file2.doc

Cammini Relativi Radice / root WD src bin Doc Applic1 delta beta gamma alfa Se voglio copiare il file /Doc/alfa in Applic1, che è la WD: >> cp../../doc/alfa.

Comandi per file e directory cp file1 file2 cp file1 directory mv file1 file2 mv file1 [... filen] directory mv directory1 directory2 rm file1 [... filen] N.B. File e directory possono essere preceduti da un cammino rmdir directory

Comandi per file e directory ls ls nome* ls -t ls -lt cd cd directory pwd mkdir directory

Diritti di Accesso (1) Se più utenti si suddividono il file system, come si può essere sicuri che un altro utente non modificherà documenti importanti o leggerà informazioni riservate? Ogni file/directory ha associati dei diritti di accesso

Diritti di Accesso (2) Utente privilegiato: root, l'amministratore di sistema Ogni file/dir ha un proprietario, che inizialmente corrisponde all'utente che lo ha creato Gli utenti sono divisi in gruppi di lavoro

Diritti di Accesso (3) Ogni file ha associate 3 triple di permessi: lettura (r), scrittura (w) ed esecuzione (x) La prima tripla corrisponde ai diritti del proprietario, la seconda a quelli degli utenti appartenenti al gruppo del proprietario (definiti da amministratore), la terza tutti gli altri utenti

Esempio r w - r - - - - - documento.txt Il file può essere letto/modificato dal proprietario, solo letto dal gruppo, mentre gli altri utenti non possono neanche leggerlo Il simbolo meno significa che il permesso è disabilitato

Esempio r w x r x - - x programma Non tutti i file sono eseguibili, per esserlo devono essere dei programmi eventualmente compilati. Le 'x' nell'esempio indicano che programma è eseguibile x tutti gli utenti; può essere lanciato da linea di comando. È leggibile solo da proprietario e gruppo e modificabile solo dal proprietario

Comando ls -l ls -l directory Visualizza i file e le loro proprietà compresi i diritti di accesso es. -rw- r-- r-- 1 baroglio mrtg 479 Jan 21 14:31 pr.html drwx r-x r-x 2 baroglio mrtg 4096 Nov 21 20:52 tmp -rwx r-x r-x 1 baroglio mrtg 136 Nov 4 10:46 wi.reg

Diritti di Accesso (4) Le directory hanno diritti di accesso analoghi ai file: Lettura (r): listare il contenuto della directory Scrittura (w): creare o cancellare file Attraversamento (x): posso usare la directory in un cammino

Esempio d r w x r x - - - Documenti Il proprietario può eseguire, fra le altre cose: ls rm Documenti/file mv testo.sxi Documenti/report.sxi Il gruppo non può eseguire rm Gli altri non possono neppure listare il contenuto della cartella

Comando chmod Consente di cambiare i diritti di accesso a file e directory: chmod {u, g, o, a} {+, -} {r, w, x} u = proprietario, g = gruppo, o = altri, a = tutti + = aggiungi permesso, - = rimuovi permesso r = lettura, w = modifica, x = esecuz / attraversamento

Esempio chmod r w - r - - - - - file1 chmod g+w file1 r w - r w - - - - file1 Se invece: chmod a+x file1 r w x r x - - x file1

Comando chown chown new_o[:new_gr] file Viene cambiato il proprietario (ed eventualmente il gruppo) di file Implicitamente cambiano anche i diritti d' accesso!

Esempio chown r w - r - - - - - ut1 gr1 doc.txt chown ut2 doc.txt r w - r - - - - - ut2 gr1 doc.txt Se invece: chown ut2:gr3 doc.txt r w - r - - - - - ut2 gr3 doc.txt

Processi e flussi standard Ogni esecuzione di un programma è detta processo. Un processo ha un identificatore numerico (PID) ed esiste per un tempo di norma limitato. I processi sono gestiti dal SO in modo tale da ottenere un parallelismo virtuale Ogni processo ha un proprietario, che può ucciderlo

Vedere i processi nel sistema Comando ps (processes): Es. >>ps PID TTY TIME CMD 4474 pts/1 00:00:00 bash 4631 pts/1 00:00:00 ps PID: id del processo, TTY: id del terminale, TIME: tempo di CPU, CMD: comando corrispondente al processo kill -9 pid (uccide il processo con PID=pid)

Processi e flussi stdin stdout Processo stderr Ambiente

Ridirezione dei flussi Valori di default: Stdin: tastiera Stdout: monitor Stderr: monitor Ridirezione: mi consente di usare lo stesso programma facendo però laggere l'input da file o salvare l'output su file

Ridirezione (2) Ridirezione dell'input: programma < file_dati Ridirezione dell'output: programma > file_risultati Concatenazione di programmi...

Pipe pipe: è uno strumento che ridirige lo stdout di un processo nello stdin di un altro processo; solo l'output del secondo viene riversato a video Effetto: composizione dell'elaborazione dei due processi Es. ls wc -l Lista il contenuto di una directory Conta linee

Esempi ls -l more Visualizza il contenuto di una directory a paginate ps -aux grep baroglio Estrae dall'elenco dei processi in esecuzione sul sistema solo quelli nella cui descrizione compare il nome baroglio