Il 0% ha trovato utile questo documento (0 voti)
6 visualizzazioni24 pagine

Lezione 4

Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
6 visualizzazioni24 pagine

Lezione 4

Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 24

Linux per neofiti

Interazione shell-terminale
Gestione della sicurezza
Gestione della protezione
Principali comandi Unix
Redirezione di I/O
Files di startup
….la prima volta… o quasi….

Login manager

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 2/24


Interazione shell-terminale (I)

Quando si apre una shell si entra in una directory di lavoro


(default) che e’ assegnata all’utente dal system administrator. In
questo esempio e’ /home/vardaci.
E’ possibile navigare nel file system con il comando cd.
Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 3/24
Interazione shell-terminale (II)

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 4/24


Gestione della Sicurezza

 ogni utente e’ identificato da un account


cui corrisponde un User ID (UID) e un
Group id (GID)

 ogni utente si deve far riconoscere dal


sistema per mezzo della combinazione
username/password

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 5/24


Gestione della Protezione (I)
• Nei sistemi monoutente la protezione e’ limitata
ai singoli files i quali possono essere protetti
con una password;

• Nel sistema multiutente UNIX si definiscono


tre classi di protezione user (u), group (g) e
others (o) ed ad ognuna di esse e’ associata una
tipologia di modi accesso

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 6/24


Gestione della Protezione (II)
Le tipologie di modi di accesso sono tre:

r read Il proprietario del file (user) puo’


w write impostare queste tre tipologie per il
file stesso.
x execute
Ad es, il proprietario puo’ negare la lettura del file ai
membri di un gruppo e a chiunque altro, oppure fare in
modo che altri utenti accedano ad un directory:
$ chmod go-r expdata.dat
$ chmod o+x /home/sviluppo

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 7/24


Gestione della Protezione (III)
Osserviamo che quando si voglia fare eseguire alla
shell dei comandi scritti in un file, ovvero un script,
la tipologia execute del file deve essere attiva. Nel
gergo si dice che “il file deve essere eseguibile”:

$ chmod ugo+x commands

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 8/24


Gestione della Protezione (IV)

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 9/24


Gestione della Protezione (V)
le tre classi di protezione u,g ed o possono essere
combinate con i tre tipi di accesso (read, write,
execute) :

rwx rwx rwx


user group other

La presenza di un permesso e’ indicata dalla lettera


appropriata in una data locazione convenzionale.

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 10/24


Gestione della Protezione (VI)

Modo di
Files Ordinari Directory Files
Accesso
Permette di accedere
Permette l’esame del
Read all’elenco dei files nella
contenuto
directory
Permette la modifica Permette di creare o
Write
del file rimuovere files

Permette l’esecuzione Permette l’accesso alla


Execute
degli scripts directory

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 11/24


Navigazione nel file system
cd nomedir Cambia la directory corrente

pwd Mostra la directory corrente

Elenca i files nella directory


ls [-lh…] [nomedir] corrente o in nomedir

df [-h][mountpoint] Disk free: stato di


utilizzo di un disco

du [-ak] [nomefile] Dimensioni di files e


directory

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 12/24


Manipolazione di files (e directories)
cp more cat
rm touch diff
mv head sort
mkdir tail tar
rmdir chmod gzip
ln chown bzip2
file chgrp find

Fate riferimento ai testi per i dettagli…

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 13/24


Manipolazione dei processi
ps
bg (oppure &)
fg
kill
top
nice

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 14/24


Comandi “generali”

man chsh
who passwd
whoami date
lpr time
echo grep
alias uname
which

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 15/24


Principali directory e sottodirectory
La directory root (=radice) contiene l’intera gerarchia del file system.

/bin : file eseguibili essenziali (bin = binary, programmi e scripts)


/dev : file dei dispositivi di sistema (dev = device)
/etc : file di configurazione caratteristici del sistema
/home : directory relativa alle aree associate ad ogni utente
/lib : librerie essenziali per la gestione del sistema ( es. system calls)
/usr : raccoglie la maggior parte dei programmi applicativi
/tmp : contiene file temporanemente creati dalle applicazioni
/sbin : file eseguibili necessari all’avvio del sistema
/mnt : punti di mount per file systems temporanei (floppy,cdrom…)

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 16/24


Ridirezione dell’ I/O (I)
Un qualunque processo apre automaticamente tre tipi di
files: standard input, standard output e standard error.

Tipicamente questi file sono identificati con i numeri 0, 1 e


2, detti descrittori, e sono associati, rispettivamente, alla
tastiera, al terminale video e ad una console di controllo.

Lo scopo della ridirezione e’ quello di ridirigere questi tre


canali di comunicazione verso altri sistemi di I/O, come ad
es. un file di testo.

In UNIX, la ridirezione dell’ I/O e’ realizzata attraverso


gli operatori < e >.

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 17/24


Ridirezione dell’ I/O (II)
Es. Ridirigere la lista dei file di una directory dal
terminale ad un file.
$ls /etc/init.d 1> /home/peppe/my_inetd

Lo standard output viene ridiretto (>) verso un file. Se il


file non esiste viene creato al momento (on the fly); se
esiste viene sovrascritto.
$ls /etc/init.d > /home/peppe/my_inetd

In questo caso la shell assume che vogliate usare lo


standard output, ma fornisce un messaggio di errore se
il file gia’ esiste.

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 18/24


Ridirezione dell’ I/O (III)
Es. Quante parole ci sono in un file?

$ wc –l 0< /home/peppe/my_inetd
$ wc –l < /home/peppe/my_inetd (default)

Spesso e’ utile ridirigere lo standard error , ovvero il


canale in cui I processi riversano i loro messaggi
d’errore:

$ wc –l > /dev/null 2> \


/home/peppe/my_error

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 19/24


Pipe: comandi concatenati
La pipe permette di “concatenare” gli standard input ed
output: l’output di un programma diventa l’input di un
altro programma con il simbolo |.

$ cat my_file | lpr

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 20/24


Caratteri speciali: Metacaratteri
Un metacarattere serve a sostituire un insieme contiguo
di uno o piu’ caratteri.
Es. i caratteri * e ?
$ls *.txt Questo comando permette di
elencare solo i files I cui nomi
che terminano con “.txt”.

$ls g?.pdf Questo comando permette di elencare


solo i files i cui nomi sono di due
lettere, iniziano con la lettera g e
terminano con “.pdf”. (ad es. g1.pdf
ma non g12.pdf)
Il compito di individuare i files che corrispondono
all’espressione *.txt non viene svolto dal comando
ls ma dalla shell stessa.
Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 21/24
Path
I comandi Unix, come detto sono dei particolari files eseguibili.
Come fa l’interprete dei comandi a sapere dove cercare questi
files ?
La risposta è nel valore di una particolare variabile chiamata path
che contiene un elenco di directories in cui cercare un comando o
un generico eseguibile (script, programma etc.). La path conterrà
in genere un certo numero di directories “standard” come /bin,
/usr/bin e ./
Altre directories possono essere aggiunte dall’utente per eseguire
direttamente comandi particolari.
Quando si invoca un comando il sistema “sfoglia” le
directories elencate nella path (nell’ordine) ed esegue il primo
comando corrispondente.
Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 22/24
Variabili di ambiente
La path è solo un esempio di una classe di variabili, dette variabili
di ambiente, che vengono utilizzate dal sistema, o da particolari
applicazioni per contenere informazioni specifiche della shell. Il
comando echo, e il simbolo speciale $ permettono di visualizzare
il contenuto di tali variabili. Ad esempio:

echo $path Visualizza la path

echo $home Visualizza la home directory

echo $shell Visualizza la shell corrente

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 23/24


I file di startup
Quando si apre una shell, la shell stessa lancia un insieme
di scripts che impostano l’ambiente di lavoro. Nella C
shell questi scripts sono I seguenti:

> /etc/csh.login
> $HOME/.cshrc
> $HOME/.login

Il primo script e’ gestito dal system manager, gli altri


due sono modificabili dall’utente.

Corso di Informatica AA. 2006-2007 6-Linux per Neofiti 24/24

Potrebbero piacerti anche