Ambiente UNIX - Primi_passi

download Ambiente UNIX - Primi_passi

of 50

Transcript of Ambiente UNIX - Primi_passi

  • 7/22/2019 Ambiente UNIX - Primi_passi

    1/50

    1

    L'ambiente UNIX: primi passi

    Sistemi UNIX multiutente

    necessit di autenticarsi al sistema procedura di login

    Login:immissione di credenziali

    username:nome identificante l'utente inmaniera univoca

    password:parola chiave segreta

    Logout:procedura di uscita dal sistema

    S!LL:interprete di comandi

    Shell considerata: "#S

    "ourne #gain Shell $il seguito della shell di

    "ourne%& ()(*+,,-

  • 7/22/2019 Ambiente UNIX - Primi_passi

    2/50

    2

    .omandi di base

    .omandi shell di base $per la sopravvivenza%

    ls: mostra contenuto di una director/ cd dir: entro nella director/ dir

    passwd: cambio password

    file filename: stampa il tipo di file di filename cat filename: mostra il contenuto di filename

    pwd: stampa la director/ corrente

    e0it $logout%: esegue il logout

    man command: pagine di manuale su command

    info command: pagine info su command

    apropos string: cerca informazioni su stringnel

    database whatis

  • 7/22/2019 Ambiente UNIX - Primi_passi

    3/50

    3

    1pzioni ed argomenti

    .iascuno dei comandi di shell va battuto in

    seguito al prompt .iascun comando termina con la pressione del

    testo !nter

    I comandi prevedono opzionied argomenti

    opzioni: specificano la modalit di operazione

    argomenti: specificano su cosa si opera

    1pzioni:

    formato breve $ ls *a %pi2 opzioni con un solo 3 $ls *al e4uivalente ad

    ls *a *l%& se non 5 richiesto un argomento perl'opzione

    formato esteso $ ls 3all %

  • 7/22/2019 Ambiente UNIX - Primi_passi

    4/50

    4

    .ombinazioni tasti shell

    Utili combinazioni tasti bash

    .trl6a:muove il cursore all'inizio della riga .trl6c:termina un programma in esecuzione

    .trl6d:logout

    .trl6e:muove il cursore alla fine della riga .trl6l:pulisce la schermata

    .trl6r:cerca la command history

    .trl6z:sospende un programma

    #rrow Up78own:naviga la command history

    Shift69ageUp78own:naviga il buffer delterminale

    ab:completa il comando7nome file

    ab ab:mostra i com letamenti ossibili

  • 7/22/2019 Ambiente UNIX - Primi_passi

    5/50

    5

    elp in linea: man pages

    man pages: pagine di manuale

    installate con gli applicativi man sezione comando

    :comandi utente

    +:s/stem call ;:funzioni libreria .

    -:file speciali $7dev%

    :varie

    ):strumenti amministrazione superutente

    (:documentazione funzioni ?ernel

  • 7/22/2019 Ambiente UNIX - Primi_passi

    6/50

    6

    elp in linea: whatis e **help

    apropos: interroga il database whatis

    apropos stringa !s@:apropos browser

    opzione 3help:

    mostra brevemente le opzioni di utilizzo diun programma

  • 7/22/2019 Ambiente UNIX - Primi_passi

    7/507

    1rganizzazione dei dati: i file

    In un sistema UNIX& tutto 5 visibile sotto forma

    di file .iA che non 5 visibile sotto forma di file& lo 5

    sotto forma di processo

    Bile:contenitore di informazioni $se4uenza di b/te%

    ipi di file:

    file regolari

    director/

    file speciali lin? simbolici

    domain soc?et

    named pipe

  • 7/22/2019 Ambiente UNIX - Primi_passi

    8/508

    1rganizzazione gerarchica dei file I file sono organizzati in maniera gerarchica

    $ad albero% Bile:contenitori di dati 8irector/ $cartelle%:contenitori di file e di

    director/

    Biles/stem:un gruppo di director/ e file& apartire da una director/ radice $root%

    bin/ usr/

    local/

    /

    terminal

  • 7/22/2019 Ambiente UNIX - Primi_passi

    9/509

    #ccesso ai file: percorsiassoluti7relativi

    .iascun file puA essere acceduto seguendo il

    percorso$path% dalla director/ radice al file 9ath assoluto:si parte dalla root

    7bin7terminal5 il path assoluto

    9ath relativo:si parte da un'altra director/ terminal5 il path relativo di terminal rispetto alla

    director/ 7bin

    bin/ usr/

    local/

    /

    terminal

  • 7/22/2019 Ambiente UNIX - Primi_passi

    10/5010

    #ccesso ai file: percorsiassoluti7relativi

    Simboli speciali utilizzati nei percorsi: C7D:indica la director/ radice ed 5 un separatore

    nel percorso C@D:indica la director/ in cui l'utente si trova

    attualmente C@@D:indica la director/ immediatamente

    superiore a 4uella attuale Un percorso relativo di solito si indica riferendosi

    alla director/ attuale: @7sottodir7sottodir+7file @7terminal

    .ome stampiamo la director/ correnteE comando pwd

  • 7/22/2019 Ambiente UNIX - Primi_passi

    11/5011

    Lin? a file

    Un lin? puA essere visto come una scorciatoia

    per raggiungere un dato tipo di file Se leggo spesso il file7usr7share7man7man7ls@@gz& devo scrivere ilpercorso tutte le volte

    Fli creo un lin? un file che sta& per esempio& nella mia director/

    e che CpuntaD al file in 4uestione

    8ue tipi di lin?: lin? fisici $hard lin?% lin? simbolici $soft lin?%

  • 7/22/2019 Ambiente UNIX - Primi_passi

    12/50

  • 7/22/2019 Ambiente UNIX - Primi_passi

    13/5013

    Lin? simbolici Gengono creati col comando ln *s

    ln *s sorgente destinazione Non richiedono permessi di lettura su

    destinazione Bile speciale $piccolo% contenente un percorso

    assoluto al file destinazione Sorgentee destinazione possono risiedere su

    partizioni diverse poich ho il percorso assoluto scritto su file

    Se elencato col comando ls& un lin? simbolicopresenta differenze con l'originale $sono due filediversi%

    La rimozione del lin? simbolico non comporta larimozione del file collegato

  • 7/22/2019 Ambiente UNIX - Primi_passi

    14/5014

    Gisione delle director/

    .ome stampiamo a video la director/ correnteE pwd

    .ome visualizziamo il contenuto di una director/4ualsiasiE

    ls directory #lcune opzioni comuni di ls: *a:visualizza tutti i file& anche 4uelli nascosti $il

    cui nome comincia con il carattere @% *r:visualizza ricorsivamente tutto l'albero di

    sottodirector/ **color:output colorato per diversi tipi di file

    *l:formato lungo $tutte le informazioni di un file%

  • 7/22/2019 Ambiente UNIX - Primi_passi

    15/5015

    Utenti e gruppi

    Fli utenti dei sistemi UNIX sono classificati inusere group user:nome identificativo $di solito JK ) caratteri% che

    caratterizza l'utente memorizzati nel file 7etc7passwd insieme a tutte le loro

    altre propriet group:5 un insieme di utenti

    memorizzati nel file 7etc7group

    .iascun 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

  • 7/22/2019 Ambiente UNIX - Primi_passi

    16/50

  • 7/22/2019 Ambiente UNIX - Primi_passi

    17/5017

    9ermessi dei file

    Schema UNIX di permessi: rw0 Head: permesso di lettura sul file rite: permesso di scrittura sul file eXecute: permesso di esecuzione del file

    re insiemi di permessi associati ad un file: owner:permessi rw0 dell'owner group:permessi rw0 del gruppo

    other:permessi rw0 per tutti gli altri

  • 7/22/2019 Ambiente UNIX - Primi_passi

    18/5018

    9ropriet dei file

    Gisibili con il comando ls *l

    *rw0r*0r*0 root root >= Oul += >:- 7bin7ls

  • 7/22/2019 Ambiente UNIX - Primi_passi

    19/5019

    9ropriet dei file

    Gisibili con il comando ls *l

    *rw0r*0r*0 root root >= Oul += >:- 7bin7ls

    ipo di file e permessi particolari *:file regolare $eseguibile& file testo% b:dispositivo a blocchi

    c:dispositivo a caratteri d:director/ l:lin? p:fifo s:soc?et

  • 7/22/2019 Ambiente UNIX - Primi_passi

    20/50

  • 7/22/2019 Ambiente UNIX - Primi_passi

    21/50

    21

    9ropriet dei file

    Gisibili con il comando ls *l

    *rw0r*0r*0 root root >= Oul += >:- 7bin7ls

    9ermessi del gruppo r:tutti gli utenti del gruppo root possono leggere

    il file *:tutti gli utenti del gruppo root non possono

    scrivereil file 0:tutti gli utenti del gruppo root possono

    eseguireil file

  • 7/22/2019 Ambiente UNIX - Primi_passi

    22/50

  • 7/22/2019 Ambiente UNIX - Primi_passi

    23/50

    23

    9ropriet dei file

    Gisibili con il comando ls *l

    *rw0r*0r*0 root root >= Oul += >:- 7bin7ls

    Numero di hardlin? al file

  • 7/22/2019 Ambiente UNIX - Primi_passi

    24/50

  • 7/22/2019 Ambiente UNIX - Primi_passi

    25/50

    25

    9ropriet dei file

    Gisibili con il comando ls *l

    *rw0r*0r*0 root root >= Oul += >:- 7bin7ls

    8imensione delfile in b/te

  • 7/22/2019 Ambiente UNIX - Primi_passi

    26/50

  • 7/22/2019 Ambiente UNIX - Primi_passi

    27/50

    27

    9ropriet dei file

    Gisibili con il comando ls *l

    *rw0r*0r*0 root root >= Oul += >:- 7bin7ls

    9ath assolutodel file

  • 7/22/2019 Ambiente UNIX - Primi_passi

    28/50

  • 7/22/2019 Ambiente UNIX - Primi_passi

    29/50

    29

    Podifica utente e gruppo di un file chown:permette di modificare owner e gruppo

    iniziale di un file chown Jopzioni Jowner:Jgruppo Jfile chown Jopzioni Jowner:Jgruppo

    Jdirector/ *H:opera ricorsivamente sulle sottodirector/chown 3recursive root:staff 7root

  • 7/22/2019 Ambiente UNIX - Primi_passi

    30/50

    30

    Podifica permessi di un file chmod:permette di modificare i permessi

    associati ad un file 8ue tipi di sintassi:

    ottale numeri in codifica ottale associati ai singoli permessi

    r&w&0: rK-& wK+& 0K i permessi sono rappresentati da ; cifre ottali $>

  • 7/22/2019 Ambiente UNIX - Primi_passi

    31/50

    31

    Podifica permessi di un file 9er dare i seguenti permessi al file prova:

    owner: rw0 group: rw0 other: r0

    posso immettere i seguenti due comandi& del

    tutto e4uivalenti:andreoliQromanella R chmod >

  • 7/22/2019 Ambiente UNIX - Primi_passi

    32/50

    32

    Bile speciali Localizzati nella director/ 7dev& servono ad

    accedere alle risorse del sistema dispositivi a blocchi

    dischi& cdrom& dvd

    dispositivi a carattere linee seriali& terminali& mouse

    Struttura file speciale:7dev7Tdevice maorVTdevice minorVTnumeroV

    device maor: nome identificativo della classe didispositivo $disco !I8!& disco S.SI& % device minor: numero identificativo del tipo di

    dispositivo $disco fisso !I8!& cdrom !I8!%

    numero:identificatore del dispositivo $primo disco&secondo disco& @@@%

  • 7/22/2019 Ambiente UNIX - Primi_passi

    33/50

    33

    Il files/stem 7 di Linu0 Non esiste il concetto delle CunitD 81S

    Un'unica radice per l'intero files/stem Struttura di director/ che affonda le radici nella

    storia pluri*decennale di Uni0

    9rincipali director/:

    bin/ dev/ etc/ home/ lib/ var/usr/tmp/sbin/proc/

    local/

  • 7/22/2019 Ambiente UNIX - Primi_passi

    34/50

    34

    Il files/stem 7 di Linu0 7bin

    !seguibili principali per far funzionare il sistema ra le altre cose deve contenere il comando

    mount

    7dev 8ispositivi fisici del sistema Bilosofia di Uni0: tutto 5 un file !sempi: 7dev7hda& 7dev7sda& 7dev7hda

    # partire dalla versione +@- di Linu0 sono stateintrodotto modifiche importanti perautomatizzare la gestione dei dispositivi devfs $?ernel +@-% udev $?ernel +@=%

  • 7/22/2019 Ambiente UNIX - Primi_passi

    35/50

  • 7/22/2019 Ambiente UNIX - Primi_passi

    36/50

    36

    Il files/stem 7 di Linu0 7proc

    Una finestra sulle strutture dati del ?ernel Non 5 una director/ che risiede su un disco !' un files/stem montato 1gni processo ha una sua sottodirector/ Sono presenti altri file che

    mostrano7raccolgono informazioni per il ?ernel

    7sbin

    .ontiene eseguibili per il superutente !sempi: shutdown& halt

  • 7/22/2019 Ambiente UNIX - Primi_passi

    37/50

    37

    Il files/stem 7 di Linu0 7tmp

    8irector/ temporanea utti hanno diritto di scrittura su tale director/

    7usr

    #lbero di director/ simile per certi versi alla rootdirector/ Wualche tempo fa era usato per trarre vantaggio

    da dischi condivisi in rete che ospitavano

    software comune e CvoluminosoD .ontiene software non essenziale 1ggi 5 ancora molto usato ma rimane per

    ragioni storiche

  • 7/22/2019 Ambiente UNIX - Primi_passi

    38/50

  • 7/22/2019 Ambiente UNIX - Primi_passi

    39/50

    39

    Il files/stem 7 di Linu0 7var

    Bile che variano spesso Log di sistema che vengono scritti molte volte al

    giorno 8irector/ di spool per la posta

    8irector/ di spool per la stampa Bile temporanei con Cvita lungaD $che

    rimangono anche dopo i reboot% vanno in7var7tmp

  • 7/22/2019 Ambiente UNIX - Primi_passi

    40/50

    40

    Biles/stem e partizioni

    9artizionamento dello spazio disponibile su

    disco in aree logicamente separate in caso di disastro& si rovina una sola area

    le altre rimangono intatte

    9artizioni:

    dati $contengono i file%

    swap $memoria aggiuntiva%

    Una partizione di dati

    5 associata ad una director/ del sistema& dettamount point

    contiene un files/stem

    si usa dire: il files/stem Jfs 5 montato sotto ladirector/ Jdir

  • 7/22/2019 Ambiente UNIX - Primi_passi

    41/50

    41

    Biles/stem e partizioni

    Nomi partizioni:

    file speciali $contenuti nella director/7dev%identificano il dispositivo

    !s@:7dev7hda

    file speciali con attaccato un numero intero

    indicano la partizione!s@:7dev7hda&7dev7hda+

  • 7/22/2019 Ambiente UNIX - Primi_passi

    42/50

  • 7/22/2019 Ambiente UNIX - Primi_passi

    43/50

    43

    Festione delle partizioni

    fdis?:gestione partizioni disco

    creazione& distruzione& visione strutturaromanella R fdis? *l 7dev7sda

    8evice "oot Start !nd "loc?s Id S/stem

    7dev7sda ; ,-;( de 8ell Utilit/

    7dev7sda+ Y - =, (+;+>>6 > 9BS7NBS7dev7sda; = >+(= -(+)>-+, f (< !0t'd $L"#%

    7dev7sda< = +)) ,+)+)6 b (< B#;+

    7dev7sda= +)( +(; -,; ); Linu0

    7dev7sda> +(-

  • 7/22/2019 Ambiente UNIX - Primi_passi

    44/50

    44

    ipi di file

    Wuali tipi di file riconosce Linu0E

    Pultipurpose Internet Pail !0tension& HB.+,-< Standardizzazione dei diversi contenuti di un file

    Linu0 N1N adotta la convenzione Picrosoftsecondo la 4uale il tipo di file 5 determinato dalla

    sua estensione @e0e& @com& @doc& @0ls non hanno significato

    l'utente Linu0 puA comun4ue usare estensioni

    il S1 non le usa per CcomprendereD il tipo di file

    .osa usa il S1 per comprendere il tipo di fileE

    una lista di Cse4uenze magicheD di b/te

    file 7usr7share7misc7files7magic

    lunga lista di record del tipo:

  • 7/22/2019 Ambiente UNIX - Primi_passi

    45/50

    45

    ipi di file

    file:interfaccia al database dei tipi PIP!

    dato un file& vi dice la natura dei suoi contenutiandreoliQromanella R file m/song@mp;

    m/song@mp;: P9!F #8S& la/er III& v& +) ?"its& --@ ?z& Stereo

    andreoliQromanella R file m/movie@avi

    m/movie@avi: HIBB $little*endian% data& #GI& >+, 0 =& +

  • 7/22/2019 Ambiente UNIX - Primi_passi

    46/50

    46

    .opia e spostamento di file e director/

    cp:copia file7director/

    cp Jopzioni Jsorgente Jdestinazione *r:copia ricorsivamente sorgente in destinazione

    $con tutte le sottodirector/%

    *p:preserva $4uando possibile% utenze e permessi

    originali dei file *a:modalit archivio $e4uivalente a *r *p& ed altro%

    mv:sposta file7director/

    mv Jopzioni Jsorgente Jdestinazione

  • 7/22/2019 Ambiente UNIX - Primi_passi

    47/50

    47

    Hicerca di file

    find:cerca il file richiesto in un albero di director/

    find Jdirector/ *name Jnome file find Jdirector/ *iname Jnome file

    find Jdirector/ *name Jnome file *e0ecJcomando \] ^_

    lento $si scorre tutte le sottodirector/%

    locate:interroga un database di locazioni deifile

    aggiornato tramite il comando updatedb veloce

    non permette di eseguire comandi sui risultati

  • 7/22/2019 Ambiente UNIX - Primi_passi

    48/50

    48

    Hicerca di contenuti nei file

    grep: cerca la stringa richiesta nell'albero di

    director/ specificato& e stampa le corrispondenze$match%

    grep Jopzioni Jstringa Jdirector/7file

    *r:opera ricorsivamente nelle sottodirector/

    *i:trascura maiuscole7minuscole $caseinsensitive%

    *:stampa il file contenente la stringa

    *n:stampa il numero di riga del file contenentela stringa

    f

  • 7/22/2019 Ambiente UNIX - Primi_passi

    49/50

    49

    Gisione dei contenuti di un file

    cat:stampa il contenuto del file su terminale

    more:visione di un file non bufferizzata $solo inavanti%

    less: visione di un file bufferizzata $avanti eindietro%

    less *Prpresenta un indicatore di progresso dilettura

    head:stampa le prime n righe di un file

    head *n , file

    tail:stampa le ultime n righe di un file

    tail *n , file

    tail *f file output bufferizzato

    echo:stampa una stringa su terminale

    Identificazione di file:

  • 7/22/2019 Ambiente UNIX - Primi_passi

    50/50

    Identificazione di file:espressioni regolari

    less: visione di un file bufferizzata $avanti eindietro%

    less *Prpresenta un indicatore di progresso dilettura

    head:stampa le prime n righe di un file

    head *n , file

    tail:stampa le ultime n righe di un file

    tail *n , file

    tail *f file output bufferizzato echo:stampa una stringa su terminale