Introduzione a Linux Prof. L. Ilardi.  Un sistema di elaborazione è composto da un insieme di componenti fisici (hardware) tra cui la CPU, la memoria.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

LINGUAGGIO DI PROGRAMMAZIONE C
Sistemi Operativi - Vi 1 Il sistema operativo LINUX Leditor vi Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica.
MODULO 4 – Il Foglio elettronico
MODULO 3 – ELABORAZIONE TESTI
Modulo 1 – Ambiente di lavoro Windows 7
Programmazione assembler
Da Unix a Linux Alessio Coraci V Dp.
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
Introduzione a Linux Dr. Giovanni Stracquadnio
Shell Scripting. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure contenuti.
Interfaccia del file system
I file l I File sono l unità base di informazione nellinterazione tra utente e sistema operativo l Un file e costituito da un insieme di byte attinenti.
Caratteri e stringhe di caratteri
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
File.
Introduzione agli stream e alle classi
Guida Linux Molto rapida…. Due parole sullambiente grafico Potete usare: KDE o GNOME Si sceglie prima di mettere la password. Questione di gusti…
Laboratorio 1: Usare Linux. File system Il file system è la componente del sistema operativo che si occupa della gestione di file e cartelle Con laccount.
Struttura dei sistemi operativi (panoramica)
File System NTFS 5.0 Disco: unità fisica di memorizzazione
Linguaggi di programmazione
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
TCP_Wrapper Le richieste per un determinato servizio (ad. es. telnet, ftp, rsh, etc.) vengono soddisfatte soltanto se lindirizzo IP del richiedente rientra.
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
introduzione a Windows
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Informazioni utili Per avere una distribuzione linux sul proprio pc: 1.
WINDOWS XP PRIMI PASSI. Caratteristiche del sistema Le caratteristiche di base del PC (tipo e versione del sistema operativo installato, tipo e velocità
Sistemi Operativi – La shell Salvatore Campagna Politecnico di Torino Dipartimento di Automatica.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
STRUTTURA GENERALE DI UN ELABORATORE
Shell dei comandi – ! Bash &/o Tcsh !
1 Scheduling in Windows 2000 Un thread entra in modalità kernel e chiama lo scheduler quando: Si blocca su un oggetto di sincronizzazione (semaforo, mutex,
Il Sistema Operativo: il File System
Elenchi in Excel E’ possibile inserire le voci del nuovo elenco oppure
WORD Lezione n. 1 Aprire il programma Aprire un documento esistente
Foglio elettronico Excel Livello avanzato
1 Amministrazione del sistema Creazione degli account al sistema. Comandi per la gestione degli utenti File per la gestione degli utenti, password shadow.
Lezione 1 Approccio al sistema operativo : la distribuzione Knoppix Live Cd Knoppix 3.6 Interfacce a caratteri e grafica: console e windows manager File.
ECDL Patente europea del computer MODULO 2 Uso del computer e gestione dei file 2.2 Gestione dei file.
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
MS-DOS è il sistema operativo, Come praticamente tutti i sistemi operativi per i computer del periodo, l'MS- DOS era un sistema operativo mono utente.
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
I sistemi operativi1 CONCETTI FONDAMENTALI l HARDWARE: il componente “materiale” di un sistema informatico l SOFTWARE: il componente “immateriale” di un.
Sistema Operativo (Software di base)
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
FTP File Transfer Protocol
Autori:  Gazzola Alex  Cassol Simone  Kawkab Wassim Data: 14/04/2014 Classe: 3° INF.
I processi.
Il Sistema Operativo Il Sistema Operativo è costituito dall’insieme dei programmi necessari per far funzionare tutto l’hardware del calcolatore e per nascondere.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
UTILIZZO DELLA POSTA ELETTRONICA ► ATTRAVERSO UN PORTALE ► ATTRAVERSO UN PROGRAMMA (tipo OUTLOOK EXPRESS)
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
Unix (Linux-Mac OS) Alcuni comandi. cd change working directory cd [DIRECTORY] cd entra nella directory specificata. Se non è fornita alcuna directory.
I FILE I File sono l’ unità base di informazione nell’interazione tra utente e sistema operativo I File sono l’ unità base di informazione nell’interazione.
Basi di Unix: introduzione Kernel il fulcro del sistema. Comunica con l’hardware (processore, memoria, disco fisso) Shell interfaccia tra l’utente e il.
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
Corso di Laboratorio primo modulo Introduzione all'uso di un sistema operativo. Introduzione all'uso della shell (bash). Java – –Introduzione – –Tipi di.
Esempi di Sistemi Operativi: DOS Nel file system di DOS i path names hanno la seguente forma C:\TEMP\DirA\DirB\elab.pdf Si utilizzano due nomi speciali.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Impariamo ad usare Excel. Utilizzare l’interfaccia Avviare Excel e iniziare ad esplorare l'interfaccia per acquisire familiarità con esso… Non c'è modo.
I L SO MS DOS … una breve guida…. C OS ’ È UN S ISTEMA OPERATIVO Un sistema operativo (SO) è un insieme di programmi che agisce come intermediario tra.
Transcript della presentazione:

Introduzione a Linux Prof. L. Ilardi

 Un sistema di elaborazione è composto da un insieme di componenti fisici (hardware) tra cui la CPU, la memoria centrale, le unità di memoria di massa, e un insieme di programmi (software) che usano l’hardware per svolgere dei compiti di interesse per gli utenti del sistema.  Nella maggior parte dei computer moderni, i programmi attivati dagli utenti (applicazioni) non accedono all’hardware direttamente, ma attraverso la mediazione di uno strato di software detto Sistema Operativo. Sistema di Elaborazione

 Un Sistema Operativo (S.O.) è un insieme di programmi che operano sull’hardware di un calcolatore con l’obiettivo di:  semplificare lo sviluppo di programmi  realizzare politiche di gestione delle risorse hardware  Il Sistema Operativo si pone come interfaccia tra l’utente (o il software) e l’hardware, fornendone un’astrazione Cos’è un sistema operativo?

Introduzione  Linux è un sistema operativo il cui Kernel è stato sviluppato da Linus Torvald nel  Esso si è sviluppato poi rapidamente perché il suo codice sorgente è stato immediatamente reso disponibile in rete

GNU/LINUX In realtà si deve parlare di sistema GNU/LINUX. GNU è il nome di un software completo UNIX- Compatibile, che rientra nella definizione di “Software libero”. Il progetto GNU, era completo, tranne un componente: il Kernel Quindi combinare Linux con il sistema GNU, ha prodotto il sistema completo oggi in uso

Software Libero  Il nucleo di LINUX è distribuito in accordo con la GNU General Public License (GPL), i cui termini sono stabiliti dalla Free Software Fondation  Il sistema LINUX non è di pubblico dominio, tuttavia è LIBERO

Componenti del Sistema 1/2

Componenti del Sistema 2/2  Kernel è il responsabile del mantenimento di tutte le più importanti astrazioni del sistema operativo  System Libraries definisce un set standard di funzioni, attraverso cui le applicazioni possono interagire con il kernel.  System Utilities sono programmi che compiono compiti specializzati di gestione, come quelli di configurazione.

 Sistema multi-utente, multi-processo  In ingresso al sistema forniamo username e password  Il file etc/passwd contiene tutte le informazioni relativa all’utente:  account : password : numero_utente: numero_di_gruppo : commenti : cartella : programma_di_avvio  Esempio: root:x:0:0:root:/root:/bin/bash  La password non è però memorizzata in tale file  Verificate la corrispondenza delle informazioni, esegue la shell associata alla username presentata Autenticazione

Esempio passwd

 La Shell è un’interfaccia tra l’utente ed il sistema operativo. Il suo compito è leggere i comandi impostati dall’utente, interpretarli e richiedere al sistema l’esecuzione delle operazioni corrispondenti. BASH è il nome della shell di Linux più diffusa.  nei primi sistemi, l’utilizzo della shell avveniva attraverso terminali alfanumerici (tipicamente connessi al computer tramite linee seriali o modem) detti TTY (da TeleTYpe)  attualmente si accede alla shell attraverso programmi che “emulano” il funzionamento dei terminali in una finestra dello schermo La Shell Bash

 il prompt di bash (personalizzabile dall’utente) contiene informazioni come il nome della macchina, la directory corrente e il nome dell’utente, seguite dal carattere “$”  quando viene visualizzato il prompt, l’utente può digitare un comando per la shell; il comando viene terminato dal tasto di fine linea  la shell interpreta ed esegue il comando (che può produrre la stampa di informazioni di output), dopodiché presenta di nuovo il prompt e si rimette in attesa Come si presenta il prompt

Bash

 La sintassi dei comandi di base è semplice:  comando [argomento...] [modificatore...]  il nome del comando indica l’operazione da effettuare  gli argomenti (separati da spazi) specificano opzioni del comando o i dati su cui il comando deve agire (tipicamente, nomi dei file)  i modificatori (introdotti da caratteri speciali) sono interpretati dalla shell e cambiano il modo in cui la shell esegue il comando Sintassi comandi

 man [sezione] comando  visualizza la documentazione del comando passato come argomento (se disponibile)  durante la visualizzazione, si usa il tasto “spazio” per andare avanti, il tasto “b” per tornare indietro e il tasto “q” per uscire dal manuale  il manuale è diviso in diverse sezioni, che contengono oltre ai comandi della shell, le API del sistema operativo, la libreria standard del C e altre informazioni; è possibile specificare una particolare sezione premettendo il suo numero al nome del comando; esempio:  man 1 kill # comando kill della shell  man 2 kill # system call kill Per incominciare…

man

 Muoversi nel File System  Agire sui file e sulle directory  Verificare e modificare permessi e protezioni sui file  Ottenere informazioni sui processi Comandi Shell

 Il file system, è il sistema di gestione delle informazioni memorizzate sulla memoria di massa  Un file è essenzialmente un contenitore di dati omogenei.  In Linux il nome di un file non può iniziare con un numero e non può contenere caratteri particolari come punti interrogativi o asterischi  Linux è un sistema case sensitive  Esistono diversi tipi di file: i file comuni, le directory, i file a caratteri e i file a blocchi  In un sistema Linux ogni file viene collocato all'interno di una directory. File System 1/2

File System 2/2  Un filesystem composto da directory può anche essere paragonato ad un albero, dove la directory principale o root o radice o /, rappresenta il tronco, mentre le sottodirectory rappresentano i rami dell'albero. Partendo dalla directory radice si può arrivare ad un file qualsiasi all'interno di una qualsiasi directory, così come partendo dal tronco si può arrivare ad una foglia qualsiasi di un ramo qualsiasi dell'albero

/ vmlinuzbin etchome lsbash passwdmarcoAndreanoraletterecorso.txt Porzione File System Linux

 se un pathname comincia con ‘/’, il punto di partenza del percorso è la root directory, e il pathname si dice assoluto, altrimenti il percorso comincia dalla directory corrente, e il pathname si dice relativo;  il comando che consente di cambiare directory corrente è:  cd [pathname]  se il pathname non è indicato, ritorna alla home  il comando pwd stampa il pathname della directory corrente Comandi per muoversi nel file system

 Quando viene creata una nuova directory, vengono create in automatico due “sottodirectory speciali” chiamate. (punto) e.. (punto punto).  La prima fa riferimento alla directory corrente, la seconda alla directory padre.  mkdir e rmdir invece creano e distruggono una directory specificata con pathname  $ mkdir./prova Comandi per muoversi nel File System Crea una nuova sottodirectory della directory corrente

 mostra il contenuto di una directory.  La sintassi è: ls [opzioni...] [pathname...]  se non viene specificato un pathname, mostra il contenuto della directory corrente se il pathname indica una directory, mostra il contenuto della directory specificata altrimenti mostra le informazioni relative al file indicato dal pathname  normalmente viene mostrato solo il nome dei file; l’opzione -l visualizza informazioni più ́ dettagliate Comando ls

 Le operazioni di base sui file:  cp copia uno o più file  mv rinomina o sposta uno o più file  rm cancella uno o più file;  Nota bene: non è possibile annullare la cancellazione!  Le opzioni di questi comandi consentono (tra le altre cose) di effettuare le operazioni ricorsivamente su un intero albero di directory.  Il comando mv funziona anche con le directory; i comandi cp e rm funzionano con le directory se si utilizza un’apposita opzione. Comandi sui file

Comandoeffetto cp nome_file1 nome_file2 Copia il contenuto del file1, nel file2, sovrascrivendo il secondo cp nome_file1 [file2 file3…] directory Copia i file nella directory specificata dal pathname cp –r directory_s directory_d Copia la directory sorgente nella directory destinazione cp –i nome_file1 nome_file2 Copia avvertendo che si sovrappone il contenuto mv … … Ammette le stesse opzioni di copy. La differenza è che elimina la sorgente dopo la copia rm nome_file Rimuove il file rm –r directory Rimuove in forma ricorsiva (Attenzione!!) sintassi comandi

Esempio Comandi

 Se l’argomento di un comando contiene il carattere ? o il carattere *, la shell espande l’argomento sostituendolo con la lista dei nomi dei file che “combaciano” con l’argomento, dove un nome di file viene considerato combaciante se:  i caratteri non speciali dell’argomento corrispondono a caratteri identici del nome del file  le occorrenze del carattere ? nell’argomento corrispondono a un singolo carattere qualsiasi del nome del file  le occorrenze del carattere * nell’argomento corrispondono a sequenze (anche vuote) di caratteri qualsiasi nel nome del file Caratteri Speciali 1/2

 Anche i caratteri [ e ] (parentesi quadre) e { e } (parentesi graffe) sono espansi facendo riferimento ai nomi dei file; in particolare:  la sequenza [abc...] nell’argomento può combaciare con uno qualsiasi dei caratteri ‘abc...’ nel nome del file; è possibile indicare anche intervalli di caratteri con una notazione del tipo: [a-z] (tutti i caratteri da ‘a’ fino a ‘z’ inclusi)  la sequenza [ˆabc...] nell’argomento può combaciare con un singolo carattere che non sia uguale a nessuno dei caratteri ‘abc...’; anche in questo caso è possibile specificare intervalli  la sequenza {xxx,yyy,zzz,...} nell’argomento può combaciare con una qualsiasi delle stringhe ‘xxx’, ‘yyy’, ’zzz’,... Caratteri Speciali 2/2

Esempi caratteri speciali  esempi ? e *  * tutti i file della directory corrente  ??? tutti i file della directory corrente con un nome di tre caratteri  *.txt tutti i file il cui nome finisce in.txt nella directory corrente  *pp* tutti i file il cui nome contiene la sottostringa ‘pp’ nella directory corrente  */*.pdf tutti i file il cui nome finisce in.pdf contenuti in sottodirectory della directory corrente ../x??/* tutti i file contenuti in una directory il cui nome è ‘x’ seguita da due caratteri, che si trova nella parent della directory corrente  Esempi [ e ] e { e }  [aeiou]* tutti i file (della directory corrente) il cui nome comincia per vocale  [ˆaeiou]* tutti i file il cui nome non comincia per vocale  *[0-9][0-9]* tutti i file il cui nome contiene due cifre decimali consecutive  [0-9a-f]* tutti i file il cui nome comincia per una cifra esadecimale  *.{pdf,txt} tutti i file il cui nome termina in.pdf oppure in.txt

Esercizio  Data la porzione di file system a lato, utilizzando solo pathname assoluti, indicare i comandi necessari per visualizzare:  I nomi dei file sotto la directory oro  I nomi dei file presenti sotto la directory gabriele  I nomi dei file presenti sotto la directory bin / bin…homegabrielenoraorocollanegioiellialtrobiancogiallomelodia

 Data la stessa porzione di file system, supponendo di essere posizionati nella directory nora, scrivere i comandi necessari per:  Copiare il file collane su un file novecento sotto la stessa directory oro, usando pathname assoluti  Copiare il file bianco in biancoAntico, sotto la stessa directory gioielli, usando pathname relativi  Copiare tutti i file presenti nella directory gioielli sotto la directory altro  Provare a usare il comando copia con opzione –i, per copiare bianco in giallo Esercizio

Il comando find consente di effettuare in modo semplice la visita di un albero di directory, selezionando i file che soddisfano alcune condizioni e applicando ad essi delle operazioni. Sintassi: find pathname... [operazioni...] i pathname specificati indicano i punti di partenza della visita ricorsiva delle directory le operazioni sono usate sia per specificare i criteri di selezione dei file, che le azioni da effettuare su ciascun file (o sottodirectory) selezionato per default, sono selezionati tutti i file, e l’azione effettuata è la stampa su standard output del pathname di ciascun file selezionato find

Nome criteriosignificato -name nome seleziona i file con nome che corrisponde all’argomento -iname nome Come –nome, e non considera minuscolo o maiuscolo -ctime nSeleziona i file creati n giorni fa -mtime nSeleziona i file modificati n giorni fa -atime nSeleziona i file acceduti n giorni fa -emptySeleziona i file vuoti -size n Seleziona i file di una data dimensione -type cseleziona i file e le directory il cui tipo è specificato dal carattere c (es: f indica un file normale, d una directory) Alcuni criteri di selezione per find

Azionesignificato -print stampa su standard output il pathname del file selezionato (azione di default) -fprint file la scrittura viene effettuata sul file specificato -exec comando argomenti... ‘;’esegue per ciascun file selezionato il comando indicato; all’interno degli argomenti la stringa ’{}’ è sostituita dal pathname del file selezionato -ok comando argomenti... ’;’simile a -exec, ma chiede conferma all’utente prima di eseguire il comando Alcune Azioni

ComandoSignificato find. –iname ’*.pdf’Stampa tutti i file pdf find. -atime +100 Stampa i file non usati da almeno 100 giorni find. -iname ’*.avi’ -size -1024k Stampa i file di estensione avi, di dimensione inferiore ad 1 MB find new -type f -atime exec mv ’{}’ old ’;’ Sposta nella cartella old, tutti i file in new a cui non si accede da più di un anno find. -iname ’*.bak’ -ctime +9 -ok rm ’{}’ ’;’ rimuove tutti i file di estensione bak, creati più di 9 giorni fa chiedendo conferma Alcuni esempi

 Scrivere nel file large.txt l’elenco dei file di piu di un megabyte.  Scrivere nel file modificati.txt, l’alenco dei file modificati da meno di 10 giorni  Copiare tutti i file con estensione pdf e txt in una cartella mydocuments. Esercizi

Protezione dei File 1/2  Ad ogni file e directory, il sistema associa una serie di informazioni tra cui:  Nome del proprietario  Nome del gruppo di appartenenza  Tipo di file  Dimensione  Permessi di accesso al file  Un indirizzo ai blocchi del disco su cui è memorizzato il contenuto del file I permessi di accesso al file sono descritti da tre triple di attributi di protezione. Ogni tripla consiste di tre flag Accesso in lettura, flag “r” Accesso in scrittura, flag “w” Accesso in esecuzione, flag “x”

Mediante il comando “ls –l” si possono ottenere diverse informazioni sui file, tra cui le informazioni sul tipo di file e le protezioni in corrispondenza della prima colonna. -rw-r--r-- drwxrwx--x Il primo elemento indica il tipo di file:  -: file normale  d: directory  c: file speciale a caratteri  b: file speciale a blocchi  p: indica che il file è di tipo FIFO  l: riferimento simbolico ad un file I rimanenti si riferiscono come dicevamo ai permessi associati al proprietario, al gruppo associato al proprietario e a tutti gli altri. Il simbolo x, ha significato di “permesso di esecuzione” nel caso di file, di “permesso di attraversamento” nel caso di directory. Se non si ha il permesso di attraversamento, non si può in alcun modo usare un file o una sottodirectory al di sotto di essa. Protezione dei File 2/2

Tipo fileProprietarioGruppoaltri -rw-r-- File normale Permesso di lettura e scrittura Permesso di sola lettura d rwx --x Directory Permesso di lettura del contenuto della directory e modifica. E di “attraversamento” Permesso di attraversamento della directory esempio

Esempio permessi

root  Il termine root (o super utente o superuser) viene utilizzato nei sistemi Linux, per indicare il nome utente predefinito dell’amministratore di sistema.  L’utente root è colui in grado di compiere operazioni non consentite ad utenti standard  Esso può lavorare su ogni risorsa senza essere limitato dai permessi  Il super user ha poteri assoluti sul sistema. Il suo prompt standard è il carattere “#”.  Un utente qualunque in possesso della password di root può trasformarsi in super user con il comando su.  su [-] [nome utente]  Ossia il comando permette non solo di essere utente root, ma anche di impersonare un qualunque altro utente.

 I comandi per la modifica dei permessi, tipicamente in modalità super user, sono i seguenti:  chown [-opzioni] nuovo_utente file  chgrp [-opzioni] nuovo_gruppo file  Ad un utente è permesso modificare il permesso dei file che gli appartengono tramite il comando:  chmod [-opzioni] modifica_permessi file Cambiare i permessi

Codici utenteDescrizione Uproprietario GGruppo OAltri OperatoriDescrizione +Aggiunge permessi -Rimuove permessi Codici PermessoDescrizione RLettura WScrittura Xesecuzione Forma simbolica

 La forma ottale è costituita da 3-4 cifre che possono assumere valore da 0 a 7. La prima è opzionale e non la trattiamo. Ogni cifra è interpretata come somma delle prime 3 potenze del 2( 20,21, 22):  0400 lettura consentita al proprietario  0200 scrittura consentita al proprietario  0100 esecuzione consentita al proprietario  0040 lettura consentita al gruppo  0020 scrittura consentita al gruppo  0010 esecuzione consentita al gruppo  0004 lettura consentita agli altri  0002 scrittura consentita agli altri  0001 esecuzione consentita agli altri Forma ottale

comandoesito chmod o-rw nome_file Elimina i permessi di lettura e scrittura per gli utenti non appartenenti al gruppo dell’utente proprietario chmod a+rw nome_file Aggiunge il permesso di lettura e scrittura a tutti chmod g+w nome_file Aggiunge il permesso di scrittura al gruppo chmod 0700 nome_file Permesso di scrittura, lettura ed esecuzione per il proprietario e alcun permesso per il gruppo e gli altri chmod 0764 nome_filePermesso di esecuzione, lettura e scrittura al proprietario, lettura e scrittura al gruppo, sola lettura ai rimanenti Esempi comandi

Dare al file risultati di nostra proprietà, presente sotto la directory corrente, i permessi di: 1.Solo lettura da parte di qualunque utente; 2.Lettura, scrittura, esecuzione per noi e nulla per gli altri 3.Scrittura ed esecuzione per noi e solo esecuzione per gli atri 4.Lettura, scrittura ed esecuzione per noi e per il nostro gruppo e solo lettura per gli altri Il tutto usando sia la notazione simbolica che la notazione ottale Esercizi per cambio dei permessi

 I processi lanciati dalla shell hanno sempre almeno tre stream aperti:  lo standard input, normalmente collegato alla tastiera, da cui vengono effettuate operazioni come la scanf del C  lo standard output, normalmente collegato al terminale, su cui vengono effettuate operazioni come la printf del C  lo standard error, anch’esso associato al terminale, su cui di solito i comandi effettuano la scrittura dei messaggi di errore  La shell consente, attraverso modificatori sulla linea di comando, di associare questi stream a qualcosa di diverso dalla tastiera e dal terminale. Standard input, standard output, standard error

 Sintassi  comando < pathname  quando il processo effettua un’operazione di input, il dato viene letto dal file specificato in luogo della tastiera  il file deve essere un file di testo contenente la sequenza di caratteri che l’utente avrebbe digitato da tastiera  Sintassi  comando > pathname  comando >> pathname  quando il processo effettua un’operazione di output, il dato viene scritto sul file specificato anzichè sul terminale  la prima forma cancella il vecchio contenuto del file prima dell’esecuzione del comando  con la seconda forma, l’output del comando viene aggiunto in coda al contenuto precedente del file Per ridirigere lo standard input e standard output

 Un processo è un programma in esecuzione che utilizza le risorse ad esso allocate.  Un thread (detto processo leggero) è un flusso di esecuzione che condivide delle risorse con altri thread.  I processi rappresentano l’esecuzione di un unico programma, mentre i thread rappresentano contesti di esecuzione distinti e concorrenti all’interno di un singolo processo che esegue un singolo programma  Il kernel di Linux non distingue tra thread e processi.  Un thread è un particolare tipo di processo che condivide delle strutture con altri processi Thread e Processi

 Identità dei processi:  Identificatore del processo (PID): identificatore univoco del processo per segnalarlo al SO  Credenziali: Identificatore di utente o di gruppo, che ne determinano i diritti di accesso al sistema ed ai file  Personalità: può modificare la semantica di alcune chiamate di sistema  Ambiente di un processo: è ereditato dal padre e consiste di 2 vettori, il primo degli argomenti, il secondo d’ambiente  Contesto di un processo: è il contesto del programma in esecuzione in ogni istante, quindi cambia continuamente e si compone di Contesto di scheduling, Contabilizzazione delle risorse, tabella dei file… Gestione dei processi in Linux

 Acuni comandi per il processo sono:  ps: elenca i processi in esecuzione  pstree: Elenca i processi in esecuzione in modo strutturato  top: Mostra l’utilizzo delle risorse da parte dei processi ad intervalli regolari  id: da informazioni su UID e GID  …… Comandi per informazioni sui processi

 Il comando ps stampa l’elenco dei processi attivi. Sintassi  ps [opzioni...]  Per default, il comando visualizza solo i processi dell’utente corrente che sono stati creati da un terminale. Le seguenti opzioni cambiano la visualizzazione:  l elenco composto da più elementi informativi  u viene indicato il particolare utente a cui appartiene il processo  f visualizza in modo semplificato la dipendenza gerarchica tra i processi  a visualizza i processi appartenenti ad altri utenti Comando ps

ComandoEffetto ps Elenca i processi appartenenti all’utente che da il comando ps a l Elenca tutti i processi fornendo un dettaglio più ampio ps a rElenca tutti i processi in funzione esclusi quelli in pausa Esempi ps

 Se un comando è seguito dal carattere speciale &, il processo che viene creato diventa un processo in background (lett. “sullo sfondo”). La shell non attende la terminazione del processo prima di passare al comando successivo, e i caratteri che l’utente digita non vengono passati come standard input al processo.  I processi in background sono normalmente utilizzati per operazioni lunghe, di cui l’utente non vuole aspettare la terminazione. Inoltre, mentre i processi in foreground sono normalmente terminati quando l’utente chiude la shell, i processi in background continuano la loro esecuzione. Processo in background

Il comando kill consente l’invio di un segnale a un processo. Il segnale può essere usato, tra le altre cose, per forzare la terminazione del processo. Sintassi kill [segnale] pid... Il comando kill Segnalesignificato -TERMTerminazione del processo -KILL Terminazione forzata del processo -STOPSospensione del processo

Un processo può essere sospeso inviandogli il segnale - STOP, oppure (se è in foreground) digitando CTRL-Z. Un processo sospeso può essere ripreso in background usando il comando: bg [pid] oppure può essere ripreso in foreground usando il comando: fg [pid] In entrambi i casi, se il PID non è specificato, si fa riferimento all’ultimo processo sospeso. I comandi fg e gb

Provare i comandi alla slide precedente per poi discuterne in classe. Ad esempio si consideri il seguente comando, si spieghi cosa compie e quindi si uccida il processo associato: find / > elenco.txt & Esempio