SlideShare une entreprise Scribd logo
1  sur  26
La shell di Linux
A CURA DELL’ING. BUTTOLO MARCO
La shell è un interprete dei comandi , ossia un’interfaccia tra due livelli: il livello superiore che è l’utente
ed il livello inferiore che è il sistema operativo.
In linux la shell più nota è la shell BASH (Bourne Again Shell).
SHELL
KERNEL S.O
HARDWARE
La shell analizza il comando fornito come input dall’utente, lo interpreta e lo esegue. Nell’esempio
seguente viene mostrato un esempio di visualizzazione, tramite il comando
Linux WHO, dell’utente attualmente connesso al sistema, sfruttando uno script shell:
Uno script shell è un semplice file di testo che contiene la lista dei comandi che in sequenza dovranno
essere eseguiti dalla shell medesima. Può essere creato con un qualsiasi editor (pico, vim, emacs,…).
Hanno estensione .sh. Per poter eseguire tale script è necessario salvarlo (es: test.sh), e fornire al file i
permessi di esecuzione, come viene mostrato di seguito:
Chiaramente in uno script shell è possibile aggiungere costrutti per il controllo del flusso di esecuzione
del programmino (if-then, ciclo for,…) e si può lavorare anche con le funzioni.
L’esempio seguente mostra come creare uno script che visualizza a video 10 volte il medesimo
messaggio:
Il risultato è il seguente:
Pertanto, uno script shell è semplicemente un file di testo che contiene tuta una serie di comandi che la
shell può leggere ed interpretare come se li avessimo in qualche modo digitati all’interno di un
terminale.
Il seguente esempio mostra invece come creare un semplice menu in cui l’operatore può scegliere che
azione compiere ed in funzione di essa verranno eseguiti determinati comandi. Il menu è semplice.
Il risultato finale si presenta in questo modo:
Quando si scrivono script shell in Linux le variabili si utilizzano senza specificarne il tipo in modo
esplicito. Il seguente esempio mostra come inizializzare una variabile chiamata ‘x’ dandogli il valore 2. Il
carattere speciale $, ci permette di visualizzarne il suo contenuto. Si presti attenzione al fatto che la
shell BASH, come il linguaggio di programmazione PERL e PHP è a tipizzazione dinamica ossia non è
necessario specificare il tipo delle variabili.
Anche gli array si possono utilizzare negli script Linux. Per esempio:
Il risultato è il seguente:
I comandi digitabili nella shell Linux (es: BASH) sono comandi che devono avere il seguente formato:
Nome comando –opzione argomento
Chiaramete opzioni e argomenti sono facoltativi. Esempi:
• ls -> comando simile al DIR del vecchio DOS. Visualizza a video tutti i files e la directory presenti
nella directory corrente.
• Ls –l -> con l’argomento ‘l’ è possibile visualizzare anche i dettagli di ogni directory o file (esempio:
nome proprietario, diritti di accesso,…)
• history -> comando comodo per visualizzare lo storico di ogni comando inserito nel prompt
recentemente.
• pwd -> mostra la directory di lavoro corrente
• cat test.txt -> mostra il contenuto del file denominato test.txt
• cp sorgente destinazione -> il comando CP copia un file da una sorgente ad una destinazione.
La shell BASH di Linux è sicuramente una delle shell più utilizzate. La shell BASH ha delle impostazioni
standard generali per tutti gli utenti.
Chiaramente ogni utente può personalizzarla modificando opportuni file di configurazione.
I file di configurazione della shell BASH sono:
• Ect/profile
• Etc/bashrc
Altri comandi per poter leggere determinati file sono:
• Less -> visualizza a video il contenuto di un file
L’esempio seguente mostra l’utilizzo di tale comando:
Per uscire dalla schermata di visualizzazione premere il carattere ‘q’.
Il comando ‘rm’ che significa REMOVE permette di eliminare un file o una directory.
Es: rm test.sh -> elimina il file chiamato test.sh
Spesso può risultare utile inviare l’output di un comando non a video ma ad un altro
comando prima di essere effettivamente visualizzato. Questa cosa può essere fatta con il
comando more.
Tale comando accetta come input dei dati e li visualizza a video sotto forma di pagine
formattate. Per collegare l’output prodotto dal comando al comando more si utilizza
l’operatore di pipe ‘|’, come viene mostrato di seguito:
Le tre directory di base di un sistema Linux sono le seguenti tre directory di sistema:
• /bin
• /sbin
• /lib
La prima e la seconda directory contengono i programmi necessari al funzionamento del sistema,
Mentre la terza directory contiene tutte le librerie indispensabili a Linux. Mentre la directory /bin
contiene tutti i programmi, la directory /sbin contiene tutti i programmi che vengono eseguiti da root
(l’utente amministratore).
Esiste un’altra classificazione simile nella directory USR, come viene mostrato di seguito:
• /usr/bin
• /usr/sbin
• /usr/lib
In questo caso i programmi non sono quelli di sistema ma quelli utente.
La directory denominata DEV invece contiene tutti i file system di ogni device fisico (Floppy disk,
CD-ROM, stampante,..). Questo perché in Linux ogni periferica viene vista come file.
Esempio: /dev/fd0 -> lettore floppy disk
La directory ETC contiene tutti i files di configurazione di un sistema Linux. Per esempio, la shell BASH,
appena viene eseguita, legge il file di configurazione presente nella directory /etc/profile, come viene
mostrato di seguito:
La directory VAR contiene tutti quei file utilizzati dai vari programmi e che possono crescere
rapidamente. Per esempio in tale directory sono presenti i file di log di sistema (/var/log).
Siccome Linux è un sistema operativo multi utente, come root, è possibile aggiungere utente al sistema.
Per aggiungere un utente si utilizza il seguente comando (solo root può farlo):
Una volta inserita la password dell’utente root è possibile associare all’utente appena creato
(ho chiamato l’utente per comodità ‘test’) una password.
Una volta creato l’utente è possibile accedere con esso al sistema. Essendo Linux un sistema
multiutente, ad ogni risorsa (file, directory) sono associati determinati permessi. Pertanto alcuni file
hanno permessi di scrittura per alcuni utenti, per altri solo permessi di lettura, eccetera.
I permessi sono:
• R -> lettura
• W -> scrittura
• X -> esecuzione
Supponiamo di creare un file con l’utente appena creato. Creiamo poi un altro utente e cerchiamo di
Accedere in lettura al file appena creato.
Una volta creato l’utente è possibile accedere con esso al sistema. Essendo Linux un sistema
Multi utente, ad ogni utente è associata una directory nella directory HOME.
Creiamo, con l’utente di prova UTENTE1, un file di testo come mostrato in seguito:
Successivamente accediamo con l’UETNTE2 al sistema e cerchiamo di aprire il file appena creato
Con il precedente utente.
L’utente 2 non ha i permessi di scrittura sul file creato dall’utente 1. Per vedere i permessi associati al file
basta usare il seguente comando:
I permessi sono, in ordine da sinistra verso destra, i permessi associati al proprietario, i permessi associati
Agli utenti facenti parte del gruppo del proprietario, i permessi relativi agli altri utente. La sequenza di
10 caratteri inizia sempre con un segno ‘-’, seguito dai permessi veri e propri (read, write, executable).
Per impostare i permessi si usa il comando CHMOD:
In questo modo sono stati assegnati i permessi in scrittura agli altri utenti. La sintassi:
U = utente
G = utenti di gruppo
O = Other
Chmod (U/G/O) +/- permesso nome del file
GRAZIE MILLE!!!!

Contenu connexe

Tendances

Post gresql su_raspberry
Post gresql su_raspberryPost gresql su_raspberry
Post gresql su_raspberryMarco Buttolo
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumateMarco Buttolo
 
Configurare Samba workgroup
Configurare Samba workgroupConfigurare Samba workgroup
Configurare Samba workgroupSaverio Menin
 
Lug Roma3 Corso Linux Base
Lug Roma3   Corso Linux BaseLug Roma3   Corso Linux Base
Lug Roma3 Corso Linux Basefosk
 
Server linux samba in un dominio
Server linux samba in un dominioServer linux samba in un dominio
Server linux samba in un dominioSaverio Menin
 
Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay
Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDayHosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay
Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDayAruba S.p.A.
 

Tendances (13)

Lezione Quattro
Lezione QuattroLezione Quattro
Lezione Quattro
 
Post gresql su_raspberry
Post gresql su_raspberryPost gresql su_raspberry
Post gresql su_raspberry
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumate
 
Socket python
Socket pythonSocket python
Socket python
 
GNU Linux Programming introduction
GNU Linux Programming introductionGNU Linux Programming introduction
GNU Linux Programming introduction
 
As it e icloud
As it e icloudAs it e icloud
As it e icloud
 
Tools & librerie PHP
Tools & librerie PHPTools & librerie PHP
Tools & librerie PHP
 
Configurare Samba workgroup
Configurare Samba workgroupConfigurare Samba workgroup
Configurare Samba workgroup
 
Lug Roma3 Corso Linux Base
Lug Roma3   Corso Linux BaseLug Roma3   Corso Linux Base
Lug Roma3 Corso Linux Base
 
Battaglia Navale
Battaglia NavaleBattaglia Navale
Battaglia Navale
 
Server linux samba in un dominio
Server linux samba in un dominioServer linux samba in un dominio
Server linux samba in un dominio
 
Introduzione ros
Introduzione rosIntroduzione ros
Introduzione ros
 
Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay
Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDayHosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay
Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay
 

En vedette

En vedette (16)

Chapter 12
Chapter 12Chapter 12
Chapter 12
 
Las tics
Las ticsLas tics
Las tics
 
JOERG CV UPDATED
JOERG CV UPDATEDJOERG CV UPDATED
JOERG CV UPDATED
 
Exploring Emerging Latin Markets - Implications for Gemans using Spain as a S...
Exploring Emerging Latin Markets - Implications for Gemans using Spain as a S...Exploring Emerging Latin Markets - Implications for Gemans using Spain as a S...
Exploring Emerging Latin Markets - Implications for Gemans using Spain as a S...
 
GIRLS Program Curriculum
GIRLS Program CurriculumGIRLS Program Curriculum
GIRLS Program Curriculum
 
Vacaciones 2
Vacaciones 2Vacaciones 2
Vacaciones 2
 
Phần mềm adobe
Phần mềm adobePhần mềm adobe
Phần mềm adobe
 
Phần mềm adobe
Phần mềm adobePhần mềm adobe
Phần mềm adobe
 
DUT F
DUT FDUT F
DUT F
 
Mantenimiento preventivo del computador
Mantenimiento preventivo del computadorMantenimiento preventivo del computador
Mantenimiento preventivo del computador
 
Evolución del procesador
Evolución del procesadorEvolución del procesador
Evolución del procesador
 
Presentació cicle mitjà
Presentació cicle mitjàPresentació cicle mitjà
Presentació cicle mitjà
 
Conde Lucanor
Conde LucanorConde Lucanor
Conde Lucanor
 
Historia del automovil
Historia del automovilHistoria del automovil
Historia del automovil
 
Rodolins grup b
Rodolins grup bRodolins grup b
Rodolins grup b
 
1 clase.diversidad cul. ver. UPAV 1º CUATRIMESTRE
1 clase.diversidad cul. ver. UPAV 1º CUATRIMESTRE1 clase.diversidad cul. ver. UPAV 1º CUATRIMESTRE
1 clase.diversidad cul. ver. UPAV 1º CUATRIMESTRE
 

Similaire à Linux shell

Lezione corso Base GNU/Linux
Lezione corso Base GNU/LinuxLezione corso Base GNU/Linux
Lezione corso Base GNU/LinuxAlex Palesandro
 
Linux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreLinux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreDario Mazza
 
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesLinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesMaurizio Antonelli
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
Hosting Linux: la gestione dei permessi file #TipOfTheDay
Hosting Linux: la gestione dei permessi file #TipOfTheDayHosting Linux: la gestione dei permessi file #TipOfTheDay
Hosting Linux: la gestione dei permessi file #TipOfTheDayAruba S.p.A.
 
Understanding Linux
Understanding LinuxUnderstanding Linux
Understanding LinuxNaLUG
 
Amministrazione base dei sistemi Linux
Amministrazione base dei sistemi LinuxAmministrazione base dei sistemi Linux
Amministrazione base dei sistemi LinuxPaolo Campegiani
 
Linux@Unina
Linux@UninaLinux@Unina
Linux@UninaNaLUG
 
Linux & Open Source : Lezione Quattro
Linux & Open Source : Lezione QuattroLinux & Open Source : Lezione Quattro
Linux & Open Source : Lezione QuattroDario Mazza
 
Introduzione a Linux: differenze con windows e strumenti per la programmazione
Introduzione a Linux: differenze con windows e strumenti per la programmazioneIntroduzione a Linux: differenze con windows e strumenti per la programmazione
Introduzione a Linux: differenze con windows e strumenti per la programmazioneValerio Bruno
 
Linux Kernel, driver e compilazione
Linux Kernel, driver e compilazioneLinux Kernel, driver e compilazione
Linux Kernel, driver e compilazioneFulvio Corno
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxMarco Ferrigno
 
Fondamenti di GNU/Linux: FileSystem e Partizioni
Fondamenti di GNU/Linux: FileSystem e PartizioniFondamenti di GNU/Linux: FileSystem e Partizioni
Fondamenti di GNU/Linux: FileSystem e PartizioniDaniele Costarella
 
Linux Device Drivers
Linux Device DriversLinux Device Drivers
Linux Device DriversFabio Nisci
 

Similaire à Linux shell (20)

Lezione corso Base GNU/Linux
Lezione corso Base GNU/LinuxLezione corso Base GNU/Linux
Lezione corso Base GNU/Linux
 
GNU Linux introduction
GNU Linux introductionGNU Linux introduction
GNU Linux introduction
 
Lezione tre
Lezione treLezione tre
Lezione tre
 
Linux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreLinux & Open Source : Lezione Tre
Linux & Open Source : Lezione Tre
 
Sistema Operativo - LInux - Modulo 2.1
Sistema Operativo - LInux - Modulo 2.1Sistema Operativo - LInux - Modulo 2.1
Sistema Operativo - LInux - Modulo 2.1
 
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesLinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
 
Corso linux base
Corso linux baseCorso linux base
Corso linux base
 
Hosting Linux: la gestione dei permessi file #TipOfTheDay
Hosting Linux: la gestione dei permessi file #TipOfTheDayHosting Linux: la gestione dei permessi file #TipOfTheDay
Hosting Linux: la gestione dei permessi file #TipOfTheDay
 
Understanding Linux
Understanding LinuxUnderstanding Linux
Understanding Linux
 
Amministrazione base dei sistemi Linux
Amministrazione base dei sistemi LinuxAmministrazione base dei sistemi Linux
Amministrazione base dei sistemi Linux
 
Linux@Unina
Linux@UninaLinux@Unina
Linux@Unina
 
Linux & Open Source : Lezione Quattro
Linux & Open Source : Lezione QuattroLinux & Open Source : Lezione Quattro
Linux & Open Source : Lezione Quattro
 
Introduzione a Linux: differenze con windows e strumenti per la programmazione
Introduzione a Linux: differenze con windows e strumenti per la programmazioneIntroduzione a Linux: differenze con windows e strumenti per la programmazione
Introduzione a Linux: differenze con windows e strumenti per la programmazione
 
Linux Kernel, driver e compilazione
Linux Kernel, driver e compilazioneLinux Kernel, driver e compilazione
Linux Kernel, driver e compilazione
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
 
As it e icloud
As it e icloudAs it e icloud
As it e icloud
 
Compilazione Kernel
Compilazione KernelCompilazione Kernel
Compilazione Kernel
 
Fondamenti di GNU/Linux: FileSystem e Partizioni
Fondamenti di GNU/Linux: FileSystem e PartizioniFondamenti di GNU/Linux: FileSystem e Partizioni
Fondamenti di GNU/Linux: FileSystem e Partizioni
 
Linux Device Drivers
Linux Device DriversLinux Device Drivers
Linux Device Drivers
 

Plus de Marco Buttolo

Plus de Marco Buttolo (20)

Web sockets
Web socketsWeb sockets
Web sockets
 
Protocollo ssh
Protocollo sshProtocollo ssh
Protocollo ssh
 
Cognitive services
Cognitive servicesCognitive services
Cognitive services
 
Corso automazione modulo2
Corso automazione modulo2Corso automazione modulo2
Corso automazione modulo2
 
Corso automazione modulo1
Corso automazione modulo1Corso automazione modulo1
Corso automazione modulo1
 
Antropologia
AntropologiaAntropologia
Antropologia
 
Introduzione psicologia
Introduzione psicologiaIntroduzione psicologia
Introduzione psicologia
 
Bisogni educativispeciali
Bisogni educativispecialiBisogni educativispeciali
Bisogni educativispeciali
 
Seminario robotica ia
Seminario robotica iaSeminario robotica ia
Seminario robotica ia
 
Campi elettrici magnetici_devices
Campi elettrici magnetici_devicesCampi elettrici magnetici_devices
Campi elettrici magnetici_devices
 
Galleggiamento corpo
Galleggiamento corpoGalleggiamento corpo
Galleggiamento corpo
 
Elaborazione suono
Elaborazione suonoElaborazione suono
Elaborazione suono
 
Trattamento termico
Trattamento termicoTrattamento termico
Trattamento termico
 
Introduzione ai cmms
Introduzione ai cmmsIntroduzione ai cmms
Introduzione ai cmms
 
Processo fosfatazione
Processo fosfatazioneProcesso fosfatazione
Processo fosfatazione
 
Processo burattatura
Processo burattaturaProcesso burattatura
Processo burattatura
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Mvvm
MvvmMvvm
Mvvm
 
Introduzione mongodb
Introduzione mongodbIntroduzione mongodb
Introduzione mongodb
 
Robotica autonoma
Robotica autonomaRobotica autonoma
Robotica autonoma
 

Linux shell

  • 1. La shell di Linux A CURA DELL’ING. BUTTOLO MARCO
  • 2. La shell è un interprete dei comandi , ossia un’interfaccia tra due livelli: il livello superiore che è l’utente ed il livello inferiore che è il sistema operativo. In linux la shell più nota è la shell BASH (Bourne Again Shell). SHELL KERNEL S.O HARDWARE
  • 3. La shell analizza il comando fornito come input dall’utente, lo interpreta e lo esegue. Nell’esempio seguente viene mostrato un esempio di visualizzazione, tramite il comando Linux WHO, dell’utente attualmente connesso al sistema, sfruttando uno script shell:
  • 4. Uno script shell è un semplice file di testo che contiene la lista dei comandi che in sequenza dovranno essere eseguiti dalla shell medesima. Può essere creato con un qualsiasi editor (pico, vim, emacs,…). Hanno estensione .sh. Per poter eseguire tale script è necessario salvarlo (es: test.sh), e fornire al file i permessi di esecuzione, come viene mostrato di seguito:
  • 5. Chiaramente in uno script shell è possibile aggiungere costrutti per il controllo del flusso di esecuzione del programmino (if-then, ciclo for,…) e si può lavorare anche con le funzioni. L’esempio seguente mostra come creare uno script che visualizza a video 10 volte il medesimo messaggio:
  • 6. Il risultato è il seguente:
  • 7. Pertanto, uno script shell è semplicemente un file di testo che contiene tuta una serie di comandi che la shell può leggere ed interpretare come se li avessimo in qualche modo digitati all’interno di un terminale. Il seguente esempio mostra invece come creare un semplice menu in cui l’operatore può scegliere che azione compiere ed in funzione di essa verranno eseguiti determinati comandi. Il menu è semplice.
  • 8. Il risultato finale si presenta in questo modo:
  • 9. Quando si scrivono script shell in Linux le variabili si utilizzano senza specificarne il tipo in modo esplicito. Il seguente esempio mostra come inizializzare una variabile chiamata ‘x’ dandogli il valore 2. Il carattere speciale $, ci permette di visualizzarne il suo contenuto. Si presti attenzione al fatto che la shell BASH, come il linguaggio di programmazione PERL e PHP è a tipizzazione dinamica ossia non è necessario specificare il tipo delle variabili.
  • 10. Anche gli array si possono utilizzare negli script Linux. Per esempio:
  • 11. Il risultato è il seguente:
  • 12. I comandi digitabili nella shell Linux (es: BASH) sono comandi che devono avere il seguente formato: Nome comando –opzione argomento Chiaramete opzioni e argomenti sono facoltativi. Esempi: • ls -> comando simile al DIR del vecchio DOS. Visualizza a video tutti i files e la directory presenti nella directory corrente. • Ls –l -> con l’argomento ‘l’ è possibile visualizzare anche i dettagli di ogni directory o file (esempio: nome proprietario, diritti di accesso,…) • history -> comando comodo per visualizzare lo storico di ogni comando inserito nel prompt recentemente. • pwd -> mostra la directory di lavoro corrente • cat test.txt -> mostra il contenuto del file denominato test.txt • cp sorgente destinazione -> il comando CP copia un file da una sorgente ad una destinazione.
  • 13. La shell BASH di Linux è sicuramente una delle shell più utilizzate. La shell BASH ha delle impostazioni standard generali per tutti gli utenti. Chiaramente ogni utente può personalizzarla modificando opportuni file di configurazione. I file di configurazione della shell BASH sono: • Ect/profile • Etc/bashrc Altri comandi per poter leggere determinati file sono: • Less -> visualizza a video il contenuto di un file L’esempio seguente mostra l’utilizzo di tale comando:
  • 14. Per uscire dalla schermata di visualizzazione premere il carattere ‘q’.
  • 15. Il comando ‘rm’ che significa REMOVE permette di eliminare un file o una directory. Es: rm test.sh -> elimina il file chiamato test.sh Spesso può risultare utile inviare l’output di un comando non a video ma ad un altro comando prima di essere effettivamente visualizzato. Questa cosa può essere fatta con il comando more. Tale comando accetta come input dei dati e li visualizza a video sotto forma di pagine formattate. Per collegare l’output prodotto dal comando al comando more si utilizza l’operatore di pipe ‘|’, come viene mostrato di seguito:
  • 16.
  • 17. Le tre directory di base di un sistema Linux sono le seguenti tre directory di sistema: • /bin • /sbin • /lib La prima e la seconda directory contengono i programmi necessari al funzionamento del sistema, Mentre la terza directory contiene tutte le librerie indispensabili a Linux. Mentre la directory /bin contiene tutti i programmi, la directory /sbin contiene tutti i programmi che vengono eseguiti da root (l’utente amministratore). Esiste un’altra classificazione simile nella directory USR, come viene mostrato di seguito: • /usr/bin • /usr/sbin • /usr/lib In questo caso i programmi non sono quelli di sistema ma quelli utente.
  • 18. La directory denominata DEV invece contiene tutti i file system di ogni device fisico (Floppy disk, CD-ROM, stampante,..). Questo perché in Linux ogni periferica viene vista come file. Esempio: /dev/fd0 -> lettore floppy disk La directory ETC contiene tutti i files di configurazione di un sistema Linux. Per esempio, la shell BASH, appena viene eseguita, legge il file di configurazione presente nella directory /etc/profile, come viene mostrato di seguito:
  • 19. La directory VAR contiene tutti quei file utilizzati dai vari programmi e che possono crescere rapidamente. Per esempio in tale directory sono presenti i file di log di sistema (/var/log).
  • 20. Siccome Linux è un sistema operativo multi utente, come root, è possibile aggiungere utente al sistema. Per aggiungere un utente si utilizza il seguente comando (solo root può farlo): Una volta inserita la password dell’utente root è possibile associare all’utente appena creato (ho chiamato l’utente per comodità ‘test’) una password.
  • 21. Una volta creato l’utente è possibile accedere con esso al sistema. Essendo Linux un sistema multiutente, ad ogni risorsa (file, directory) sono associati determinati permessi. Pertanto alcuni file hanno permessi di scrittura per alcuni utenti, per altri solo permessi di lettura, eccetera. I permessi sono: • R -> lettura • W -> scrittura • X -> esecuzione Supponiamo di creare un file con l’utente appena creato. Creiamo poi un altro utente e cerchiamo di Accedere in lettura al file appena creato.
  • 22. Una volta creato l’utente è possibile accedere con esso al sistema. Essendo Linux un sistema Multi utente, ad ogni utente è associata una directory nella directory HOME. Creiamo, con l’utente di prova UTENTE1, un file di testo come mostrato in seguito:
  • 23. Successivamente accediamo con l’UETNTE2 al sistema e cerchiamo di aprire il file appena creato Con il precedente utente.
  • 24. L’utente 2 non ha i permessi di scrittura sul file creato dall’utente 1. Per vedere i permessi associati al file basta usare il seguente comando: I permessi sono, in ordine da sinistra verso destra, i permessi associati al proprietario, i permessi associati Agli utenti facenti parte del gruppo del proprietario, i permessi relativi agli altri utente. La sequenza di 10 caratteri inizia sempre con un segno ‘-’, seguito dai permessi veri e propri (read, write, executable).
  • 25. Per impostare i permessi si usa il comando CHMOD: In questo modo sono stati assegnati i permessi in scrittura agli altri utenti. La sintassi: U = utente G = utenti di gruppo O = Other Chmod (U/G/O) +/- permesso nome del file