Uso di Linux per GRASS

Transcript

Uso di Linux per GRASS
Linux
Linux
Paolo Zatelli
Dipartimento di Ingegneria Civile ed Ambientale
Università di Trento
Paolo Zatelli | Università di Trento |
1 / 24
Linux
Outline
1
Linux
2
Interfaccia
3
File e directory
4
Comandi principali
5
Gestione stream e processi
Paolo Zatelli | Università di Trento |
2 / 24
Linux | Linux
Linux
Linux è un clone Unix (o Unix-like OS).
E’ un sistema operativo a 32 bit multitasking, multiuser che soddisfa gli
standard UNIX, in particolare è compatibile con lo IEEE POSIX.1,
System V e BSD.
Supporta il controllo dei processi POSIX, il caricamento dinamico di
moduli (driver) e caricamento on-demand dei segmenti degli eseguibili
e librerie dinamiche.
Supporta numerosi filesystem (ext3-ext4, fat, vfat, ntfs, ecc) e fornisce
una implementazione completa per il networking TCP/IP.
E’ disponibile sotto licenza GPL.
Paolo Zatelli | Università di Trento |
3 / 24
Linux | Linux
Come reperire Linux
I programmi necessari per fare funzionare Linux sono organizzati in
distribuzioni, le più utilizzate sono Ubuntu/Kubuntu, Debian, RedHat,
SuSE, Mandriva, Slackware.
Contengono circa lo stesso software ma hanno caratteristiche diverse
per quanto riguarda: programma di installazione/aggiornamento,
presenza di programmi commerciali, possibilità di assistenza a
pagamento e configurazione (init, organizzazione /etc, ecc.).
Sono disponibili in rete, oppure su DVD/CD reperibili anche allegati a
riviste.
Paolo Zatelli | Università di Trento |
4 / 24
Linux | Linux
Installazione
L’installazione di Linux dipende dalla distribuzione ed è nella maggior
parte dei casi quasi automatica, con la possibilità di operare in modo
diverso a seconda della perizia dell’installatore.
Si installa su una partizione (o disco) dedicato o in una directory di un
filesystem MS Windows (con Wubi, umsdos, ecc.).
E’ spesso installato in multi-boot con altri sistemi operativi: all’avvio del
computer viene richiesto quale sistema operativo si vuole utilizzare.
Paolo Zatelli | Università di Trento |
5 / 24
Linux | Interfaccia
Shell e GUI
Linux utilizza come interfaccia grafico XFree86, implementazione sotto
GPL della X11R6 dell’X Consortium (MIT).
X gestisce in locale ed in remoto le richieste di creazione di oggetti
grafici (primitive).
L’interfaccia utente è realizzato da un window manager che determina
la dispozione delle finestre e le loro proprietà (iconificazione,
massimizzazione, ecc.)
Ogni interfaccia prevede la possibilità di aprire terminali testo.
Paolo Zatelli | Università di Trento |
6 / 24
Linux | Interfaccia
Window managers
Esiste un grande numero di window manager che determinano il look
and feel dell’interfaccia.
E’ possibile installarne più di uno e passare da uno all’altro
istantaneamente. I più diffusi sono:
Kde ambiente integrato con desktop e applicazioni dedicate
Gnome ambiente integrato GNU più adatto a chi inizia
Xfce più “leggero” dei precendenti
Enlightment più “leggero” dei precendenti, con grafica accattivante
Normalmente esiste un window manager di default a livello di sistema
ma l’utente può determinare il proprio default.
Paolo Zatelli | Università di Trento |
7 / 24
Linux | Interfaccia
Login
Per utilizzare il sistema è necessario essere un utente abilitato con
username e password.
host login: paolo
Password:
La password non viene visualizzata mentre viene immessa. Se l’user
o la password sono incorrette viene visualizzato il messaggio:
Login incorrect
E’ possibile modificare la password in qualunque momento con il
comando passwd.
Paolo Zatelli | Università di Trento |
8 / 24
Linux | Interfaccia
Logout
Per uscire da una shell (logout) si usa exit, oppure Ctrl-D.
Per terminare X si usa, oltre al comando del WM,
ctrl-alt-backspace.
Non spegnere il computer ma eseguire la procedura di shutdown:
eseguire shutdown -h now come root, oppure
eseguire ctrl-alt-del da console.
Paolo Zatelli | Università di Trento |
9 / 24
Linux | Interfaccia
Shells
Sono disponibili diverse shell (interpreti dei comandi): bash, csh, tcsh,
ksh, zsh, ecc.
Cambiano lo “stile dei comandi” e i nomi dei file di configurazione, sia
a livello di sistema (system-wide default) che a livello di utente.
La più utilizzata è la bash (Bourne Again SHell).
E’ possibile visualizzare la shell corrente (e molto altro) con il comando
set.
Paolo Zatelli | Università di Trento |
10 / 24
Linux | Interfaccia
Differenze con DOS/Win
1
Nomi dei file/directory (fino a 256 caratteri) sono case sensitive.
2
Le directory sono separate da slash /.
3
I file hanno permessi di esecuzione/lettura/scrittura diversi per i
diversi utenti o gruppi di utenti.
4
le estensioni possono avere più di tre lettere.
Paolo Zatelli | Università di Trento |
11 / 24
Linux | File e directory
Path e directory
Le directory in cui cercare gli eseguibili sono indicate nella variabile di
ambiente path, che può essere diversa per ogni utente. Può non
essere compresa la directory corrente “.”.
I path possono essere assoluti (partono dalla radice /) es.
/home/paolo/dati oppure relativi alla directory corrente es. dati.
La home directory dell’utente è quella sotto cui un utente normalmente
memorizza i propri dati, è indicata dalla variabile $HOME e con
~
~/dati
Il comando cd senza argomenti porta nella home directory.
Paolo Zatelli | Università di Trento |
12 / 24
Linux | File e directory
File nascosti
In unix i file il cui nome comincia con il punto . sono considerati
nascosti e possono essere listati con un comando opportuno ls -a.
Grass utilizza in particolare due files nascosti:
.grassrc6 nella home directory dell’utente memorizza gli ultimi set
di dati utilizzati (location e mapset) e l’interfaccia di default
.gislock nella directory di ogni mapset, impedisce l’utilizzo
concorrente dello stesso mapset da parte di diverse
istanze di GRASS
In caso di crash di grass il file .gislock può dovere essere
cancellato manualmente per poter usare nuovamente GRASS.
Paolo Zatelli | Università di Trento |
13 / 24
Linux | File e directory
File e permessi
Ogni file è di proprietà di un utente (o super-utente).
E’ possibile determinare i permessi di lettura, scrittura ed esecuzione
per ogni file a livello di owner, gruppo o world.
Il comando ls -l fornisce il listato dei file
-rw-r--r--
1 paolo users
5718 Dec
7 15:22 slidesl.tex
in questo caso il file slidesl.tex (che state guardando!) appartiene
all’utente Paolo del gruppo users, ed ha permission di lettura e
scrittura per l’owner e sola lettura per gli altri utenti.
Paolo Zatelli | Università di Trento |
14 / 24
Linux | File e directory
File e permessi
La directory
drwxr-xr-x
2 paolo users
1024 Dec
8 18:02 figure/
ha permesso di esecuzione (necessario per entrare nella directory).
Le permission di default dei file creati dipendono dal valore del
parametro umask.
Paolo Zatelli | Università di Trento |
15 / 24
Linux | File e directory
File e permessi
È possibile modificare l’owner ed il gruppo di appartenenza di un file
con il comando chown user:group file.
È possibile modificare i permessi di un file con il comando chmod
modo file, dove modo è dato in modo numerico (secondo lo schema
4=read, 2=write e 1=execute con tre cifre: utente, gruppo, world)
oppure in modo letterale (secondo lo schema {a,u,g,o}{+,-}{r,w,x}).
Es. chmod g+w slidesl.tex aggiunge il permesso di scrittura per
gli appartenenti al gruppo users per il file slidesl.tex.
Paolo Zatelli | Università di Trento |
16 / 24
Linux | File e directory
File e permessi
Per l’utilizzo con Grass i file di dati (e le directory) devono appartenere
all’utente che esegue grass.
L’utente deve avere il permesso di lettura dei file, scrittura di alcuni file
e di lettura/scrittura delle directory (per file temporanei, risultati delle
elaborazioni e lockfiles).
Paolo Zatelli | Università di Trento |
17 / 24
Linux | Comandi principali
Comandi principali - I
Per ogni comando è possibile avere le opzioni con comando -help, il
manuale in linea con man comando e/o info comando. Le opzioni
dei comandi cominciano per - (short form) o - (long form).
cd cambia la directory corrente. Sintassi: cd directory.
Si possono usare path assoluti cd /home/paolo/dati
o relativi cd dati, . è la directory corrente .. la parent
directory. Il comando cd riporta alla home directory.
pwd visualizza la directory corrente. Sintassi: pwd
ls lista i file nella directory indicata (default=corrente).
Sintassi: ls [file1] [file2] .... Le opzioni più
usate sono -l (long listing), a (all files) e R (ricursivo).
Paolo Zatelli | Università di Trento |
18 / 24
Linux | Comandi principali
Comandi principali - II
cp copia uno o più file. Sintassi: cp [file1] [file2]
... [dest]. Se si copia un file la destinazione può
essere un file o una directory, se si copiano più file la
destinazione deve essere una directory. L’opzione più
usata è -R (copia ricursiva).
mv muove uno o più file. Sintassi: mv [file1] [file2]
... [dest]. E’ equivalente a copiare e
successivamente cancellare i file. E’ utilizzato anche per
rinominare file.
rm cancella uno o più file. Sintassi: rm [file1] [file2]
.... Non è possibile il recupero (e.g. undelete). Le
opzioni più usate sono (pericolosissima!) -r
(cancellazione ricursiva) e -i (chiede conferma per ogni
file).
mkdir crea una directory. Sintassi: mkdir directory.
Paolo Zatelli | Università di Trento |
19 / 24
Linux | Comandi principali
Comandi principali - III
rmdir cancella una directory vuota. Sintassi: rmdir
directory. Se la directory non è vuota si usa rm -r
directory.
man visualizza la pagina di manuale relativa al comando.
Sintassi: man comando.
info visualizza la pagina di manuale relativa al comando in
formato info. Sintassi: info comando.
more visualizza un file, inserendo una pausa quando il video è
riempito. Sintassi: more [file1] [file2] ....
less visualizza un file, inserendo una pausa quando il video è
riempito. Sintassi: less [file1] [file2] .... A
differenza di more permette lo scrolling indietro.
cat concatena più file, è utilizzato anche per visualizzare file.
Sintassi: cat [file1] [file2] ....
Paolo Zatelli | Università di Trento |
20 / 24
Linux | Comandi principali
Comandi principali - IV
echo visualizza il suo argomento, è utilizzato per visualizzare il
valore di variabili di ambiente. Sintassi: echo
espressione. Es. echo $HOME visualizza
/home/paolo.
grep visualizza tutte le linee di un file che contengono il pattern
dato. Sintassi: grep pattern [file1] [file2]
.... Es. grep pwd slidesl.tex visualizza
pwd visualizza la directory corrente.
Sintassi: pwd
In tutti i comandi pssono essere usate wild cards: * sostituisce una
stringa e ? sostituisce un carattere.
Paolo Zatelli | Università di Trento |
21 / 24
Linux | Gestione stream e processi
Redirezione dell’ i/o
E’ possibile reindirizzare lo standard input e lo standard output ad altri
stream, in particolare file, con gli operatori < e >.
Es. ls -l > lista.txt crea un file contenente la lista della
directory e sort < lista.txt ordina le righe del file lista.txt, sort
< lista.txt > lista.ordinata.txt salva l’ordinamento in un
nuovo file (» aggiunge al file).
È possibile passare l’output di un programma direttamente ad un altro
con l’operatore | (pipe).
Es. find . -print|grep slide visualizza tutti file dell’albero il
cui nome contiene slide.
Paolo Zatelli | Università di Trento |
22 / 24
Linux | Gestione stream e processi
Controllo dei processi (jobs)
Ogni programma che viene eseguito costituisce un processo. Il
comando ps visualizza i processi attivi dell’utente:
PID TTY STAT
911
1 S
1190 p1 S
1323 p0 R
TIME
1:09
0:00
0:00
COMMAND
nedit
-tcsh
ps
Un programma che non risponde all’utente può essere terminato con il
comando kill PID (TERM signal) oppure kill -KILL PID o
kill -9 PID (kill signal).
E’ possibile eseguire processi in background con la sintassi comando
&.
Paolo Zatelli | Università di Trento |
23 / 24
Linux | Appendice | Licenza
c
Questa presentazione è 2009
Paolo Zatelli, disponibile come
Paolo Zatelli | Università di Trento |
24 / 24