Introduzione a Linux

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

Lezione 1: Introduzione alla Shell di Unix

Lezione 2: Comandi avanzati della Shell di Unix

Lezione 2: Comandi avanzati della Shell di Unix

L'ambiente UNIX: primi passi

SHELL: File e Filesystem

File System e Interprete Comandi

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

Sistemi Operativi e Sperimentazioni. Cristina Baroglio ufficio

Laboratorio di Informatica Generale I UD Prima esercitazione

Introduzione al sistema Linux

LABORATORIO DI SISTEMI OPERATIVI

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi

Uso del terminale in ambiente UNIX

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi Ivan Scagnetto

Sistemi Operativi e Sperimentazioni

Introduzione all'uso del sistema operativo Ubuntu

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

Introduzione a Linux Lezione 1 Introduzione a Linux

Cos'è Linux. Un sistema operativo : un insieme di programmi necessari per il funzionamento del computer e per il funzionamento di altri programmi.

Sistemi Di Elaborazione Dell informazione

File System I parte. File System

Esempio di domande sul file system

Introduzione ai sistemi UNIX/Linux

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

Introduzione all uso dei laboratori aka Linux basics.

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

Introduzione a Linux. Storia di UNIX

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

L ambiente UNIX/Linux. Comandi UNIX & Linux (parte A) Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

File System Unix. Generalità

Linguistica Computazionale: esercitazioni

Organizzazione di Sistemi Operativi e Reti

BREVISSIMA GUIDA AL SISTEMA UNIX / LINUX

Introduzione ai sistemi UNIX/Linux

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

Introduzione alla. Alessandra Giordani Lunedì 11 marzo

14 - INTRODUZIONE AL SISTEMA OPERATIVO LINUX

Introduzione ai sistemi UNIX/Linux. Introduzione ai sistemi UNIX/Linux

Prima Esercitazione. Unix e GNU/Linux. Fork. Stefano Monti Eugenio Magistretti

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

GNU/Linux Concetti di base

Panoramica sulle distribuzioni GNU/Linux

Lab. di Sistemi Operativi - Esercitazione n 3 - a.a. 2016/2017. Script shell

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS

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

Laboratorio di Sistemi Operativi

Linux / Unix: la shell. utenti e gruppi, shell, comandi

Linux e i software liberi. di Nardean Lorenzo e Redigolo Marco

Il Sistema Operativo Linux

Guida Linux. Molto rapida

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

Introduzione a Unix. Barbara Guidi. Corso Informatica I /2013. Università di Pisa. Introduzione al calcolatore Introduzione a Unix Esercitazione

Basi di Linux per GRASS. Cartografia numerica e GIS

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica

Reti Informatiche Corso di Laurea Triennale in Ingegneria Informatica

LINUX. Multitasking: possibilità di eseguire più programmi contemporaneamente

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

PROGRAMMAZIONE CONSUNTIVA Codice Mod. RQ 23.2 Pag 1/5. Sistemi e Reti (articolazione Telecomunicazione) Classe

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

Shell di Linux e Comandi Utente

Sistemi Operativi e informatica 1

Corso di Laboratorio di Sistemi Operativi A.A Fabio Buttussi

Luglio 1991 Nasce Linux da un progetto Universitario di Linus Benedict Torvalds. Numerose distribuzioni (Debian, SUSE, Red Hat, Slackware, UBUNTU, ecc

Università degli Studi di Verona. Linux Ubuntue ilcompilatorec. Dicembre Sergio Marin Vargas. Dipartimento di Biotecnologie

File System Linux Comandi Base per orientarsi con la Bash

GNU/Linux Concetti di base

Sistemi operativi. Corso di Laurea Triennale in Ingegneria Informatica. Lezione 1 Unix - storia e filosofia Debian GNU/Linux Primi passi su Linux

Laboratorio di Programmazione

Corso di Sistemi Operativi I/II. Introduzione a Linux. Il File System. Ruggero Donida Labati

Lezione 15 File system: uso

Codice Corso: UNX010. Durata: 3 giorni

Introduzione ai sistemi GNU/Linux

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS

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

Sperimentazioni di Fisica I mod A. Introduzione a Linux

Introduzione a Unix. Introduzione ad UNIX e la Shell

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

Corsi GNU/Linux 2016

Esercitazione GNU/Linux n. 2

- Controllo di flusso: for -

Laboratorio di Internet I Il sistema operativo Linux

Command line kung fu

Laboratorio 1: Usare Linux

Prima Esercitazione. Linux shell e linguaggio C

Lab. di Sistemi Operativi

File-System! Introduzione al File-System! Struttura dei File! Concetto di File!

Sistema operativo & file system 1

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

I sistemi operativi. Prof. Daniele Contarino

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Laboratorio di Reti Locali e Geografiche

Command line kung fu

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

Transcript:

Parte 1 Introduzione a Linux Organizzazione a strati del software Informatica - A.A. 2009/2010 - LInux 0.1 1

Tipi di sistemi operativi MICROSOFT Windows OSF/1 Hp/UX Informatica - A.A. 2009/2010 - LInux 0.2 Origini dell open source: Unix Cronistoria Anni 60: progetto MULTICS Sviluppato ai Bell Labs Sistema operativo multiuso interattivo Troppo ambizioso, troppo complesso 1970: dalle ceneri del progetto MULTICS nasce UNICS (in seguito UNIX) sviluppato in Assembly (linguaggio di bassissimo livello) presso Bell Labs Nasce dallo sforzo di D. Ritchie e K. Thompson 1976: Kernighan & Ritchie usano un nuovo linguaggio (il C) per riscrivere UNIX Informatica - A.A. 2009/2010 - LInux 0.3 2

Multiutenza I punti di forza di Linux Più utenti ciascuno con le sue impostazioni Supporto per la sicurezza tra gli utenti Multitasking Più flussi di esecuzione in parallelo Supporto SMP Sistemi con più processori per il calcolo spinto Grandi capacità di networking Il protocollo TCP/IP nasce su una variante di Unix Stabile Le soluzioni più avanzate nei sistemi operativi sono state implementate per prime su Unix Anni di sviluppo e di bug fixing Informatica - A.A. 2009/2010 - LInux 0.4 Concetti base di Unix Unix non è un unico sistema operativo ma una intera famiglia di sistemi operativi Negli anni si sono diffusi tanti dialetti Unix BSD System V AIX HP/UX SCO Subdole incompatibilità tra i vari Unix Progetto GNU/Linux Informatica - A.A. 2009/2010 - LInux 0.5 3

GNU Nel 1983 un giovane ricercatore, Richard Stallman, decide di scrivere un nuovo sistema operativo compatibile con il modello UNIX GNU: GNU is not UNIX Informatica - A.A. 2009/2010 - LInux 0.6 Il progetto GNU Un grande problema del progetto GNU è l'assenza di un kernel Il nucleo del sistema operativo Doveva essere basato su microkernel Mach Mach non era ancora pronto a quel tempo L'ambiente GNU deve appoggiarsi su kernel preesistenti, limitandone di fatto l'adozione Ma forse è giunto il momento di spostarsi in Finlandia... Informatica - A.A. 2009/2010 - LInux 0.7 4

Linux Nel 1991, un giovane studente universitario di Helsinki, Linus Torvalds, decide di scrivere il pezzo mancante (il kernel) I m doing a (free) operating system (just a hobby, won t be big and professional like gnu) Un anno dopo, viene rilasciata la versione 0.99 Nasce l'ambiente GNU/Linux Dalla prima implementazione si è fatta molta strada... Informatica - A.A. 2009/2010 - LInux 0.8 Diffusione di Linux Ad oggi Linux è una scelta molto popolare in molteplici contesti Server Web Sistemi di rete (es. server farm di Second Life) Applicazioni scientifiche (vedi Top500) Sistemi embedded (es. ebooks) Informatica - A.A. 2009/2010 - LInux 0.9 5

Il concetto di distribuzione Linux Un sistema GNU/Linux si compone di Un kernel (Linux) Software applicativo La quantità di software è impressionante Le sorgenti da cui recuperare questo software sono molteplici Tutto il software è disponibile sotto forma di sorgente E' impraticabile la soluzione di scaricare a mano tuttott il software e compilarlo Non ci sono speranze di riuscire e tenere aggiornato il software seguendo questa strada Informatica - A.A. 2009/2010 - LInux 0.10 Il concetto di distribuzione Linux (2) Alcune organizzazioni si occupano di: Raccogliere tutto il software Compilarlo (o automatizzare la compilazione per l'utente) Metterlo a disposizione in modo che possa essere scaricato dalla rete da un unico repository o burned su CD Mantenere il software aggiornato (sia per nuove versioni sia per patch legate alla sicurezza) Informatica - A.A. 2009/2010 - LInux 0.11 6

Pacchetti software Una distribuzione comprende svariati software Strumenti di sviluppo Editor Server di rete Ogni software viene racchiuso in un pacchetto che comprende sia il programma che i dati di cui il programma necessita (e.g. icone, file di appoggio, documentazione) Alcuni software hanno delle dipendenze Non posso installare un editor grafico se non ho prima installato l'interfaccia grafica Gestione di dipendenze (e conflitti) problematica Informatica - A.A. 2009/2010 - LInux 0.12 Le principali distribuzioni Linux Debian Ubuntu Knoppix - Gnoppix Red-Hat Fedora core SUSE Linux Slackware (.tgz) Gentoo Mepis Nasce nel 2003: inizialmente derivata dalla distribuzione Debian, ora la sua base di partenza è Ubuntu (pacchetti sofware con estensione.deb) Elenco completo: http://www.distrowatch.com Informatica - A.A. 2009/2010 - LInux 0.13 7

Linux I primi passi Sistema multiutente necessità di autenticarsi al sistema procedura di login Componenti principali del sistema Kernel: gestisce le risorse base del sistema (memoria, dischi, rete, CPU) Shell: interfaccia utente testuale notevole potenza espressiva al prezzo di una curva di apprendimento piuttosto impegnativa GUI: interfaccia utente grafica, semplice da usare, a cui si appoggia il Desktop environment Informatica - A.A. 2009/2010 - LInux 0.15 8

Interfaccia grafica GUI (Graphical User Interface) cambia aspetto a seconda della distribuzione usata Desktop environment più usati: Gnome e KDE entrambi altamente personalizzabili Informatica - A.A. 2009/2010 - LInux 0.16 La riga di comando Metodo molto rapido e potente per digitare i comandi ed eseguire azioni Meno intuitiva delle interfacce grafiche Più o meno sempre la stessa all apparenza Acceduta da SHELL (o Terminale) Shell del progetto GNU: BASH Bourne Again Shell (il seguito della shell di Bourne), 1989-2004 NOTA: i comandi sono sensibili all'utilizzo delle maiuscole e delle minuscole (case sensitive) Informatica - A.A. 2009/2010 - LInux 0.17 9

Alcuni comandi shell Comandi shell di base (per la sopravvivenza) ls: mostra contenuto di una directory cd dir: entro nella directory dir passwd: cambio password file filename: stampa il tipo di file di filename cat filename: mostra il contenuto di filename pwd: stampa la directory corrente man command: pagine di manuale su command Ciascuno dei comandi di shell va battuto in seguito al prompt Ciascun comando termina con la pressione del testo Enter Informatica - A.A. 2009/2010 - LInux 0.18 Opzioni ed argomenti I comandi prevedono opzioni ed argomenti opzioni: specificano la modalità di operazione argomenti: specificano su cosa si opera (spesso si tratta del nome di un file) Formato: nome_del_comando opzioni argomenti Opzioni: formato esteso ( ls all ) formato breve ( ls -a ) più opzioni con un solo (ls -al equivalente ad ls -a -l), se non è richiesto un argomento per l'opzione Informatica - A.A. 2009/2010 - LInux 0.19 10

Organizzazione gerarchica dei file I file sono organizzati in maniera gerarchica (ad albero) File: contenitori di dati Directory (cartelle): contenitori di file e di directory Filesystem: un gruppo di directory e file, a partire da una directory radice (root) / bin/ usr/ local/ Informatica - A.A. 2009/2010 - LInux 0.20 Percorsi relativi/assoluti Ciascun file può essere acceduto seguendo il percorso (path) dalla directory radice al file Path assoluto: si parte dalla root /usr/local è il path assoluto Path relativo: si parte da un'altra directory local è il path relativo di terminal rispetto alla directory /usr / bin/ usr/ local/ Informatica - A.A. 2009/2010 - LInux 0.21 11

Accesso ai file Simboli speciali utilizzati nei percorsi: / : indica la directory radice ed è un separatore nel percorso. : indica la directory in cui l'utente si trova attualmente.. : indica la directory immediatamente superiore a quella attuale Un percorso relativo di solito si indica riferendosi alla directory attuale:./sottodir1/sottodir2/file./local Informatica - A.A. 2009/2010 - LInux 0.22 Visione delle directory Come stampiamo a video la directory corrente? pwd Come visualizziamo il contenuto di una directory dir qualsiasi? ls dir Alcune opzioni comuni di ls: -a: visualizza tutti i file, anche quelli nascosti (il cui nome comincia con il carattere.) -r: visualizza ricorsivamente tutto l'albero di sottodirectory -l: formato lungo (tutte le informazioni di un file) Informatica - A.A. 2009/2010 - LInux 0.23 12

Utenti e gruppi Gli utenti dei sistemi UNIX sono classificati in user e group user: nome identificativo (di solito <= 8 caratteri) che caratterizza l'utente memorizzati nel file /etc/passwd insieme a tutte le loro altre proprietà group: è un insieme di utenti memorizzati nel file /etc/group Ciascun file ha associati: un utente creatore del file (owner) un gruppo di utenti che lavorano sul file (group) Utenti e gruppi permettono di garantire permessi di accessi ai file a gruppi di utenti distinti Informatica - A.A. 2009/2010 - LInux 0.24 Permessi sui file Schema linux di permessi: rwx Read: permesso di lettura sul file Write: permesso di scrittura sul file execute: permesso di esecuzione del file Tre insiemi di permessi associati ad un file: owner: permessi rwx dell'owner group: permessi rwx del gruppo other: permessi rwx per tutti gli altri Informatica - A.A. 2009/2010 - LInux 0.25 13

Proprietà dei file Visibili con il comando ls -l -rwxr-xr-x 1 root root 75716 Jul 26 17:14 /bin/ls Informatica - A.A. 2009/2010 - LInux 0.26 Proprietà dei file Visibili con il comando ls -l -rwxr-xr-x 1 root root 75716 Jul 26 17:14 /bin/ls Tipo di file e permessi particolari -: file regolare (eseguibile, file testo) b: dispositivo a blocchi c: dispositivo a caratteri d: directory l: link s: socket Informatica - A.A. 2009/2010 - LInux 0.27 14

Proprietà dei file Visibili con il comando ls -l -rwxr-xr-x 1 root root 75716 Jul 26 17:14 /bin/ls Permessi dell'owner r: l'owner (root) può leggere il file w: l'owner (root) può scrivere il file x: l'owner (root) può eseguire il file NOTA: il bit x può anche essere impostato ad s: setuid bit (esecuzione con i privilegi dell'owner) accesso diretto risorse HW da parte di utenti Informatica - A.A. 2009/2010 - LInux 0.28 Proprietà dei file Visibili con il comando ls -l -rwxr-xr-x 1 root root 75716 Jul 26 17:14 /bin/ls Permessi del gruppo r: tutti gli utenti del gruppo root possono leggere il file -: tutti gli utenti del gruppo root non possono scrivere il file x: tutti gli utenti del gruppo root possono eseguire il file Informatica - A.A. 2009/2010 - LInux 0.29 15

Proprietà dei file Visibili con il comando ls -l -rwxr-xr-x 1 root root 75716 Jul 26 17:14 /bin/ls Permessi di tutti gli altri r: tutti gli altri possono leggere il file -: tutti gli altri non possono scrivere il file x: tutti gli altri possono eseguire il file Informatica - A.A. 2009/2010 - LInux 0.30 Proprietà dei file Visibili con il comando ls -l -rwxr-xr-x 1 root root 75716 Jul 26 17:14 /bin/ls Numero di hard link al file Informatica - A.A. 2009/2010 - LInux 0.31 16

Proprietà dei file Visibili con il comando ls -l -rwxr-xr-x 1 root root 75716 Jul 26 17:14 /bin/ls Owner del file l'utente root Gruppo del file il gruppo root Informatica - A.A. 2009/2010 - LInux 0.32 Proprietà dei file Visibili con il comando ls -l -rwxr-xr-x 1 root root 75716 Jul 26 17:14 /bin/ls Dimensione del file in byte Informatica - A.A. 2009/2010 - LInux 0.33 17

Proprietà dei file Visibili con il comando ls -l -rwxr-xr-x 1 root root 75716 Jul 26 17:14 /bin/ls Data ed ora di creazione Informatica - A.A. 2009/2010 - LInux 0.34 Proprietà dei file Visibili con il comando ls -l -rwxr-xr-x 1 root root 75716 Jul 26 17:14 /bin/ls Path assoluto del file Informatica - A.A. 2009/2010 - LInux 0.35 18

Creazione di file e directory mkdir: creazione di directory rmdir: rimozione di directory touch: creazione di file vuoti rm: rimozione di file e directory -r: cancella in maniera ricorsiva le sottodirectory -f: forza la cancellazione senza chiedere NOTA: in Linux NON esiste un meccanismo semplice per l'operazione di undelete (annullamento cancellazione file) se per sbaglio cancellate un file, l'avete perso per sempre a meno che non siate dei bravi hacker... Informatica - A.A. 2009/2010 - LInux 0.36 Modifica utente owner e gruppo chown: permette di modificare owner e gruppo iniziale di un file chown <opzioni> <owner>:<gruppo> <file> chgrp <opzioni> <gruppo> <directory> -R: opera ricorsivamente sulle sottodirectory Informatica - A.A. 2009/2010 - LInux 0.37 19

Modifica permessi su un file chmod: permette di modificare i permessi associati ad un file Due modalità: Ottale - rappresentazione ottale dei permessi Simbolica Il primo set di caratteri rappresenta il tipo di permesso: u=user, g=group, o=other, a=all (ugo) Il secondo set di caratteri rappresenta una maschera dei permessi: r=read, w=write, x=execute fra i due set di caratteri viene messo un + per abilitare i permessi oppure un per disabilitarli ES: chmod g+x nome_file chmod ugo+w Informatica - A.A. 2009/2010 - LInux 0.38 Copia e spostamento di file cp: copia file/directory cp <opzioni> <sorgente> <destinazione> -r: copia ricorsivamente sorgente in destinazione (con tutte le sottodirectory) -p: preserva (quando possibile) utenze e permessi originali dei file -a: modalità archivio (equivalente a -r -p, ed altro) mv: sposta file/directory mv <opzioni> <sorgente> <destinazione> Informatica - A.A. 2009/2010 - LInux 0.39 20

Ricerca di file find: cerca il file richiesto in un albero di directory find <directory> -name <nome file> find <directory> -iname <nome file> Permette anche di eseguire comandi sui file trovati E lento (si scorre tutte le sottodirectory) locate: interroga un database di locazioni dei file aggiornato tramite il comando updatedb veloce non permette di eseguire comandi sui risultati Informatica - A.A. 2009/2010 - LInux 0.40 Ricerca di contenuti nei file grep: cerca la stringa richiesta nell'albero di directory specificato, e stampa le corrispondenze (match) grep <opzioni> <stringa> <directory/file> -r: opera ricorsivamente nelle sottodirectory -i: trascura maiuscole/minuscole (case insensitive) -H: stampa il file contenente la stringa -n: stampa il numero di riga del file contenente la stringa Informatica - A.A. 2009/2010 - LInux 0.41 21

Visione contenuto file cat: stampa il contenuto del file su terminale more: visione di un file non bufferizzata (solo in avanti) less: visione di un file bufferizzata (avanti e indietro) less -Mr presenta un indicatore di progresso di lettura head: stampa le prime n righe di un file head -n 10 file tail: stampa le ultime n righe di un file tail -n 10 file tail -f file output bufferizzato echo: stampa una stringa su terminale Informatica - A.A. 2009/2010 - LInux 0.42 Redirezione Deviazione dei canali standard (standard input, standard output e standard error) da/verso altre destinazioni Usa appositi comandi di redirezione comando > nome_file comando < nome_file comando >> nome_file comando1 comando2 Redirezione output Redirezione input Redirezione i output t con funzione appendi Pipeline Informatica - A.A. 2009/2010 - LInux 0.43 22