Ambiente UNIX - Primi_passi
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