A cura dell’Ing. Buttolo Marco

Slides:



Advertisements
Presentazioni simili
Introduzione a Linux Dr. Giovanni Stracquadnio
Advertisements

Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
1 PROGRAMMAZIONE IN SHELL The Unix Programming Environment Kernigham - Pike.
Il sistema Linux: principi di progettazione
Corso di Laboratorio primo modulo Introduzione all'uso di un sistema operativo. Introduzione all'uso della shell (bash). Java – –Introduzione – –Tipi di.
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
Breve introduzione alla Bourne Again Shell (bash) Parte II ● Francesco Rossi – –
1 Corso su Bash GL-COMO 03/ Shell Kernel Shell/ GUI Utente Perché?! ● Velocità/performance ● Richieste di software praticamente nulle ● Operazioni.
Parte 2 Programmare in Matlab – I Sommario: Introduzione: m-file Strutture condizionali e cicli –Istruzione “if” + Operatori logici in MatlabIstruzione.
Introduzione a GNU/Linux. GNU/Linux Caratteristiche Compatibile con UNIX ® Multitasking Multiutente Libero.
1 Alberto Pollastro, !#/bin/bash Novara, GalLUG - Gruppo Utenti Linux Galliate - #!/bin/bash Alberto Pollastro.
1 ELEMENTI DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
Orientamento. Il Kernel Il Kernel è un programma scritto in linguaggio vicino all'hardware che ha il compito di fornire ai processi in esecuzione sul.
1 Amministrazione di base del sistema Cristina Moretto Corso Base LinuxTrent
Amministrazione di reti di calcolatori - Massimo Bertozzi Shell e scripting.
Programmare “per gioco” SCRATCH Lo programmerò. Programmerò solo per lei.
Cassetto Previdenziale per Liberi Professionisti iscritti alla Gestione Separata Manuale Utente.
Introduzione al backend di Sharepoint_P3
Sviluppo applicativo mobile per lettore barcode datalogic
Ambienti di Programmazione per il Software di Base
“Vivere insieme” – Lezione6
I comandi principali di Linux
“Vivere insieme” – Lezione6
I/O redirection AND PIPES
I PROCESSI.
Corso LAMP Linux Apache Mysql Php
Commissione Calcolo e Reti
Dati in rete Appunti.
Commissione Calcolo e Reti
PROGRAMMAZIONE SHELL -
Terza Lezione → Navigare nel file System → parte 2
Script Marco D. Santambrogio –
PROGRAMMAZIONE BASH - INTRODUZIONE
Il Binding Nicolò Sordoni.
Condividere dati di Excel tramite l'esportazione in un sito di SharePoint
I PERMESSI IN LINUX.
Seconda lezione → Navigare nel File System
SISTEMA OPERATIVO - INTERPRETE DEI COMANDI -
I comandi.
Ambienti di Programmazione per il Software di Base
INDICO Parte 1 01/07/2018 Francesco Serafini.
APACHE2-PHP su Raspberry
I FILES AD ACCESSO SEQUENZIALE
ai termini e ai principi informatici utili per utilizzare Linux
FORMULE E FUNZIONI SU EXCEL
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Quick Tip Tutorial Come accedere alle statistiche di EBSCOhost e di EBSCO Discovery Service attraverso EBSCOadmin help.ebsco.com.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Operazioni pianificate
Tipi di Shell sh – Bourne shell csh – C shell ksh – Korn shell
SAS® OnDemand for Academics SAS Studio
Istruzioni per gli amministratori
I file I File sono l’ unità base di informazione nell’interazione tra utente e sistema operativo Costituito da un insieme di byte (di natura omogenea)
istalliamo l’ambiente di sviluppo - ide
PowerPoint.
Ambienti di Programmazione per il Software di Base
Cassetto Previdenziale per Liberi Professionisti iscritti alla Gestione Separata Manuale Utente.
File System ed Input/Output
Esercitazione sulle modalità
Sommario comandi su files e directories
OpenLayers Client di mappe “non solo” WMS
Programmazione e Laboratorio di Programmazione
Metacaratteri Il carattere * indica un tipo ed un numero qualsiasi di caratteri Per copiare tutti i file che iniziano per “hemo” nella directory dir %
Programmazione e Laboratorio di Programmazione
Unità 1 Programmi base.
Unico 2009 – Esempi per la crisi
Array e Stringhe Linguaggio C.
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

A cura dell’Ing. Buttolo Marco 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).

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 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 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 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!!!!