SHELL GNU/Linux Bash. Conoscere e configurare il proprio ambiente bash. Kernel speaks: dmesg



Похожие документы
Il Software. Il software del PC. Il BIOS

Shell di Linux e Comandi Utente

Corso base GNU/Linux Latina Linux Group. Sito web: Mailing list:

Software di base. Corso di Fondamenti di Informatica

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

Introduzione alla. Alessandra Giordani Lunedì 27 febbraio

Usare Python in Linux

I Metacaratteri della Shell Unix

fare hard link fra file system diversi e su directory.

Esercizio 2. Client e server comunicano attraverso socket TCP

NOZIONI BASE SHELL E SCRIPT LINUX

Terza lezione: Directory e File system di Linux

NOZIONI BASE PER ESERCITAZIONI

Installazione LINUX 10.0

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Manuale di programmazione BerMar_Drive_Software

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Laboratorio di Programmazione

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Il Sistema Operativo (1)

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Ca ra tteristiche dei sistem i GN U/L inux. Struttura di un sistema GNU/Linux Il filesystem La shell

Organizzazione di Sistemi Operativi e Reti

Il Sistema Operativo

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Struttura del sistema operativo GNU/Linux

Nozioni di Informatica di base. dott. Andrea Mazzini

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Sistemi operativi. Esempi di sistemi operativi

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Se state utilizzando la shell bash, ovvero la shell di riferimento per questo manuale, il terminale visualizzerà il seguente output:

Informatica Generale 1 - Esercitazioni Introduzione all uso della command-line shell

Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica. Ing. Domenico De Guglielmo Vanessa Gardellin & Sara Lioba Volpi

Registratori di Cassa

CdL in Medicina Veterinaria - STPA AA

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Corso basi di dati Installazione e gestione di PWS

19. LA PROGRAMMAZIONE LATO SERVER

1. opzione 1, ubuntu accanto a windows

SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

Permessi, utenti e gruppi

FPf per Windows 3.1. Guida all uso

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

ARCHIVIAZIONE DOCUMENTI

SHELL: File e Filesystem

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

CONFIGURAZIONE SERVER APACHE (XAMPP): ACCESSO SICURO A DIRECTORY DEL FILE SYSTEM.

Il sistema operativo UNIX/Linux. Gli script di shell

Il File System. Il file system

Controllo di processi

MANUALE PARCELLA FACILE PLUS INDICE

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

CLUSTER COKA. Macchine e Risorse

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

ALL FOR SCAN Versione Twain Manuale Utente. Versione 2.0A00. Luccarelli Srl

PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE

GUIDA UTENTE WEB PROFILES

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

MANUALE EDICOLA 04.05

Editor vi. Editor vi

MANUALE INSTALLAZIONE E CONFIGURAZIONE

IRSplit. Istruzioni d uso 07/10-01 PC

HORIZON SQL MENU' FILE

Laboratorio informatico di base

HORIZON SQL CONFIGURAZIONE DI RETE

Introduzione al Linguaggio C

MANUALE UTENTE Fiscali Free

RISOLUTORE AUTOMATICO PER SUDOKU

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO

Manuale Fornitore E-Vendor

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Programma di configurazione di reti NetWare

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

BARCODE. Gestione Codici a Barre. Release 4.90 Manuale Operativo

PORTALE CLIENTI Manuale utente

BLOCK CALL Manuale utente Block Call Manuale Utente

Fattura Facile. In questo menù sono raggruppati, per tipologia, tutti i comandi che permettono di gestire la manutenzione degli archivi.

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Транскрипт:

SHELL GNU/Linux Bash Obiettivi : Gestire i permessi sui file Conoscere e configurare il proprio ambiente bash Editare testi Capire ed utilizzare i redirezionamenti Kernel speaks: dmesg Init e Runlevels

Attributi e permessi sui file Linux è un sistema multiutente che offre la possibilità di associare permessi di azioni (lettura, scrittura, esecuzione) a singoli file e/o directory. Quando vengono applicati questi permessi ad un file o ad una directory, vengono applicati su tre livelli distinti: utente proprietario gruppo proprietario il resto degli utenti

Attributi e permessi sui file I permessi di azione vengono identificati nel seguente modo: lettura: definito dal flag r che tradotto in numero assume il valore 4 scrittura: definito dal flag w che tradotto in numero assume il valore 2 esecuzione: definito dal flag x che tradotto in numero assume il valore 1 Output di ls l /etc/passwd : rw r r 1 root root 77266 Dec 13 17:18 /etc/passwd

Generazione di file e directory: nuovi file rw rw rw forma ottale 666 nuove dir rwxrwxrwx forma ottale 777... e la sicurezza?: umask! umask specifica una 'maschera' di sottrazione di permessi: per default 0022 $ umask[invio] 0022 Attributi e permessi sui file: umask $ umask S[Invio] u=rwx,g=rx,o=rx

dopo la definizione della 'maschera': $ mkdir prova $ ls l... Attributi e permessi sui file: umask per le DIR drwxr xr x 2 fulvio fulvio 18 2007 04 26 16:30 prova

dopo la definizione della 'maschera': $ touch prova $ ls l Attributi e permessi sui file: umask per i FILE rw r r 1 fulvio fulvio 0 2007 04 26 16:30 prova

La maschera di default riguarda: utente proprietario gruppo proprietario other Attributi e permessi sui file: ACL Per mezzo delle ACL possiamo definire una ulteriore articolazione per: utenti particolari gruppi particolari

Attributi e permessi sui file: ACL rw rw r + 1 tizio tizio 0 2007 03 18 15:36 primo leggere la struttura ACL con getfacl modificare la struttura ACL con setfacl

Attributi e permessi sui file: variazioni Permessi sui file chown [ R][utente]:[gruppo] file Assegna un nuovo utente proprietario chgrp [ R][gruppo] file Assegna un nuovo gruppo proprietario chmod [ R] [modo] file Modifica i permessi sul file. chmod ugo+/ rwx file chmod 652 file (u=rw g=r x o= w )

Bash è un interprete di linguaggio di comandi sh compatibile che esegue comandi letti dallo standard input o da un file; Manual page bash(1) line 2973/2997 (END) Principali file di configurazione: /etc/bashrc contiene gli alias e le funzioni valide per l'intero sistema; /etc/profile contiene le variabili d'ambiente per l'intero sistema e i programmi di avvio; $HOME/.bashrc contiene gli alias e le funzioni dell'utente; $HOME/.bash_profile contiene le variabili d'ambiente e i programmi di avvio dell'utente L'ambiente bash

... PICCOLI SUGGERIMENTI... Il tasto TAB che viene utilizzato per il completamento di comandi è infatti chiamato 'tabcomplete' Ogni comando lanciato viene memorizzato in una sequenza storica: digitanto il comando history vengono visualizzati tutti i comandi E' possibile creare alias per comandi che vengono usati spesso (alias "alias"= "comando"); per farlo basta editare il file $HOME/.bashrc L'ambiente bash Al prompt è possibile risalire ai comandi inseriti precedentemente usando la freccia direzionale sù

Editare testi Per GNU/Linux TUTTO é FILE TUTTI (o quasi) i file sono 'SEMPLICE' TESTO Nani e giganti per l'editing dei file con graduazioni intermedie... per tutti i gusti. DA RIGA DI COMANDO: nano, joe...vi... emacs IN MODALITÀ GRAFICA: gedit, kedit... xemacs

Ridirezione e Piping un programma può ricevere dati da qualcosa di diverso dalla tastiera o inviare un output a qualcosa di diverso dal video

3 file descrittori STDIN STanDard INput STDOUT STanDard OUTput STDERR STanDard ERRor

Operatori di Ridirezionamento e Pipe com > file ridirige l'output (STDOUT) di com su file, cancellandone il precedente contenuto com >> file com 2> file appende l'output (STDOUT) di com in coda a file (conserva il precedente contenuto) ridirige su file i messaggi di errore. com < file utilizza il contenuto di file come input (STDIN) per com com com2 l'operatore (PIPE) permette di utilizzare l'output di com come input di com2

Ridirezione $ echo ciao mondo >messaggio.txt $ echo che tempi >messaggio.txt $ cat messaggio.txt che tempi $ echo ciao mondo >messaggio.txt $ echo che tempi >>messaggio.txt $ cat messaggio.txt ciao mondo che tempi

Ridirezione il risultato di ls puo' essere reindirizzato nel testo di un file $ ls >pippo il risultato di ls puo' essere reindirizzato al device che rappresenta la stampante $ ls >/dev/printer un metodo equivalente ma piu' corretto e senza particolari problemi di permessi usa l'operatore PIPE $ ls lp

Pipe PIPE pipeline tubo condotto tubatura $ ls -al I more l'output del comando ls viene inviato non direttamente allo schermo ma invece viene inviato ad esso 'attraverso' il comando more che lo visualizza una schermata alla volta, offre la possibilità di scorrerlo all'indietro, etc.

I messaggi del kernel Quando il kernel entra in azione e inizia a caricarsi procede con il riconoscimento e l'inizializzazione dell'hardware presente. Durante il caricamento presenta a video una serie di informazioni, a volte fin troppo dettagliate, sull'hardware trovato. Per vedere i messaggi del kernel basta digitare il comando dmesg, che visualizza esattamente quanto viene visualizzato dal kernel durante il boot Può essere opportuno... dmesg grep /dev/...

dmesg > log_boot Redireziona l'output del comando dmesg nel file log_boot per una maggior facilità di letture e debugging di un'eventuale problema ls -l /var/log/ Lista dei log I messaggi del kernel cat /var/log/messages Visualizza il contenuto del log messages lspci (lsusb) Visualizza l'elenco di tutte le periferiche e i BUS pci (usb)

I messaggi del kernel E sempre a proposito di informazioni sull'hw: # cat /proc/cpuinfo Informazioni sulla CPU # cat /proc/partitions Informazioni su dischi e partizioni...

Init e Runlevels Init è il padre di tutti i processi, il suo ruolo principale consiste nel gestire il lancio di tutti i programmi necessari per rendere il sistema attivo creare i processi a partire da uno script in /etc/inittab. Nell'inittab vengono definite le directory con gli script di avvio per i diversi runlevel (stati del sistema, in cui possono girare determinati programmi) e il runlevel di default.

Init e Runlevels Il primo script lanciato da inittab esegue varie operazioni tra cui: Impostazioni di alcuni path generali nella variabile $PATH; Configurazione dell'ambiente di rete; Avvio swap per la memoria virtuale; Impostazione del nome dell'host; Check del filesystem root; Check delle quote di spazio assegnate agli utenti, se previste; Mount del filesystem root in modalità scrittura/lettura; Preparazione del sistema per caricamento dei moduli; Check delle dipendenze dei moduli; Check di tutti i filesystem ed eventuali riparazioni; Mount di tutti i filesystem; Caricamento Moduli; Attivazione dei servizi del runlevel.

Init e Runlevels Linux utilizza il metodo Unix System V, che si basa su differenti runlevel, astrazioni software per indicare diversi stati della macchina in cui possono girare diversi programmi. In genere su Linux sono utilizzati i seguenti livelli: Runlevel0 Runlevel1 Runlevel2 Runlevel3 Runlevel4 Runlevel5 Runlevel6

Init e Runlevels Runlevel 0 : /etc/rc0.d avvia la sequenza di arresto del sistema (shutdown) Runlevel 1: /etc/rc1.d rappresenta la modalità singolo utente, nessun altro utente può collegarsi, il servizio di rete è disabilitato. Runlevel 2: /etc/rc2.d rappresenta lo stato multiutente, il servizio rete è attivo ma è disabilitato il file sharing (client-server o peer-topeer).

Init e Runlevels Runlevel 4: /etc/rc4.d dedicato ad usi personali Inutilizzato. Può essere Runlevel 5: /etc/rc5.d E' il runlevel predefinito quando si vuole avviare Linux in modalità grafica Runlevel 6: /etc/rc6.d reboot. Il runlevel 6 è quello di

Init e Runlevels debian gestisce quali processi far partire a seconda del runlevel, andando ad analizzare le singole directory /etc/rc#.d. In queste directory esistono una serie di symlink con nomi del tipo S12syslog o K65identd che puntano a degli script con nomi tipo /etc/init.d/syslog o /etc/init.d/identd. A seconda della directory /etc/rc#.d/ corrispondente al runlevel da caricare fa partire tutti gli script che iniziano con S e fa chiudere tutti quelli che iniziano con K, eseguendoli nell'ordine indicato dal numero presente nei nomi dei file.

Init e Runlevels

Init e Runlevels Gli script che di fatto permettono di gestire l'avvio o lo stop di un servizio sono quindi nella directory /etc/init.d/ e possono essere utilizzati direttamente dall'utente per gestire i singoli processi. Per esempio: /etc/init.d/httpd start fa partire il server Web e /etc/init.d/httpd stop lo fa stoppare. Nel fare queste operazioni va sempre considerato il numero dopo la prima lettera, che determina l'ordine di esecuzione degli script.