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