L ambiente UNIX/Linux Comandi UNIX & Linux (parte A) Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino
2 Installazione Linux Esistono diverse possibilità per avere a disposizione un ambiente UNIX-like (Linux) Tra le principali Cygwin Visitare www.cygwin.com Collezione di strumenti che forniscono un ambiente Unix sotto Windows Esiste un setup.exe che installa una versione minima dei pacchetti GNU in Windows Vengono fornite le principali funzionalità POSIX Software libero
3 Installazione Linux Versioni Linux LIVE Versioni LIVE CD o LIVE USB Run di Linux da CD o USB-pen Funzionalità ridotte Macchina virtuale Crea l illusione di avere a disposizione processi multipli, ciascuno eseguito da un proprio processore e su una propria memoria Machine-emulator Esistono diversi virtualizzatori Virtualbox VMWare (Oracle VM) Qemu Macchina Virtuale H/w SO Applicativi
4 Installazione Linux Multi-boot Occorre partizionare il disco Le diverse partizioni sono in grado di accogliere SO diversi Un boot-loader LILO o GRUB in GNU Linux NTLDR nei sistemi Windows NT permette di decidere di quale SO fare il bootstrap Per informazioni dettagliate Vedere versioni di Linux comuni, e.g., Ubuntu (per desktop, 32 o 64 bit) http://www.ubuntu.com/ Applicativi1 SO1 H/w SO2 Applicativi2
5 Sessione di lavoro Inizio di una sessione login: <username> password: <password> Connessione da terminale remoto ssh <username@hostname> Termine di una sessione exit logout ctrl-d Linux è case sensitive Secure Shell protocolo di connessione con sessione sicura cifrata tramite interfaccia a riga di comando su un host della rete
6 Help manual Tutti i comandi sono documentati (manual page) man <comando> Comandi correlati apropos <comando> whatis <comando> whereis <comando> Sono disponibili Il completamento automatico dei comandi (tabulazione) L utilizzo delle frecce per reperire comandi passati
7 Comandi Sintassi di un comando Unix-like comando [opzioni] [argomenti] Parsificazione dei comandi -ctr oppure --string I comandi troppo lunghi possono essere continuati sulla riga successiva tramite il caratteri \ Utilizzato come ultimo carattere della riga indica che il comando continua sulla riga successiva Si possono fornire più comandi sulla stessa riga separandoli con ; comando1 ; comando2 ;... Comandi sulla stessa riga sono eseguiti in sequenza
8 Nomi dei file Il nome di un file può essere una sequenza di caratteri qualunque Alcuni caratteri non dovrebbero essere utilizzati / \ ' * ;? [ ] ( ) ~! $ { } < > # @ & Formalmente non esiste l estensione e la versione di un file Alcune estenzioni sono utilizzate per scopi specifici.c,.f,.p,.o,.a,.so, a.out, core Se il nome di un file inizia con il carattere punto "." il file è nascosto e normalmente non viene elencato
9 File-system Il file-system linux è Gerarchico Organizzazione a directory La directory radice dell albero è / (slash) La directory corrente è indicata con "." (dot) Il padre della directory corrente è indicato con ".." (dot dot) Le directory si separano con uno / (slash) Notazione uniforme (dischi, directory, file)
10 Path Per indicare un file all interno del file system si deve specificarne il path Path assoluto Si riferisce alla radice del sistema /dir1/dir2/file Path relativo Si riferisce alla working directory corrente./subdir1/subdir2/file
11 Gestione file (ordinari) Visualizzare l elenco delle entry in un direttorio (con le relative caratteristiche) ls [-opzioni] [file...] Opzioni -a Elenca anche i file che iniziano con. -l Output in formato esteso -g Include l'indicazione del gruppo -t Elenca i file in ordine temporale -r Ordine inverso (alfabetico/temporale) -R Elenca anche i file nei sottodirettori
12 Gestione file (ordinari) Copiare file cp [-fir] src1 src2... dest Cancellare file rm [-fir] file1 file2 Spostare (ridenominare) file Opzioni mv [-fi] file1 file2... dest -f -i -r Non chiede mai conferma (force) -f = force -i = --interactive -r = R = --recursive Chiede conferma per ciascun file (interactive) Opera ricorsivamente su tutti i file (recursive) I direttori spesso possono essere gestiti come i file
13 Gestione direttori Cambiare il direttorio corrente cd dir Mostrare il nome del direttorio corrente pwd Creare una directory mkdir dir Cancellare un direttorio rmdir dir Il direttorio può essere rimosso solo se vuoto Utilizzabile il commando rm rf
14 Permessi quer@fmgroup:~/www$ ls -la total 72 drwxr-xr-x 8 quer fmgroup 4096 Oct 7 2013. drwxr-xr-x 34 quer fmgroup 4096 Oct 3 12:37.. drwxr-xr-x 2 quer fmgroup 4096 Oct 15 2009 file -rw-r--r-- 1 quer fmgroup 17715 Oct 7 2013 index.htm drwxr-xr-x 2 quer fmgroup 4096 Mar 22 2013 misc drwxr-xr-x 2 quer fmgroup 4096 Jun 25 2009 paper drwxr-xr-x 3 quer fmgroup 4096 May 30 2012 research -rw-r--r-- 1 quer fmgroup 18074 Apr 28 2005 stq.jpg drwxr-xr-x 10 quer fmgroup 4096 Jun 5 14:56 teaching drwxr-xr-x 2 quer fmgroup 4096 Jun 2 20:49 tmp
15 Permessi Total Number of Blocks (default size 1024 bytes) User (owner) name Owner group Entry name quer@fmgroup:~/www$ ls -la total 72 drwxr-xr-x 8 quer fmgroup 4096 Oct 7 2013. drwxr-xr-x 34 quer fmgroup 4096 Oct 3 12:37.. drwxr-xr-x 2 quer fmgroup 4096 Oct 15 2009 file -rw-r--r-- 1 quer fmgroup 17715 Oct 7 2013 index.htm drwxr-xr-x 2 quer fmgroup 4096 Mar 22 2013 misc drwxr-xr-x 2 quer fmgroup 4096 Jun 25 2009 paper drwxr-xr-x 3 quer fmgroup 4096 May 30 2012 research -rw-r--r-- 1 quer fmgroup 18074 Apr 28 2005 stq.jpg drwxr-xr-x 10 quer fmgroup 4096 Jun 5 14:56 teaching drwxr-xr-x 2 quer fmgroup 4096 Jun 2 20:49 tmp Tipo e diritti Numero di link Spazio occupato (in byte) Data ultima modifica
16 Permessi File type - Normal file d Directory s Socket file l Link file Tre tipi di utenti u user proprietario (owner ma o others) g group gruppo o others altri utenti... -rw-r--r-- 1 quer fmgroup 17715 Oct 7 2013 index.htm drwxr-xr-x 2 quer fmgroup 4096 Mar 22 2013 misc... Tre permessi di base r read lettura w write scrittura x execute esecuzione
17 Permessi I vari permessi per i tre tipi di utente sono definiti mediante tre cifre in base otto rwx rwx rwx 777 rw rw rw 666 rwx x 710... -rw-r--r-- 1 quer fmgroup 17715 Oct 7 2013 index.htm drwxr-xr-x 2 quer fmgroup 4096 Mar 22 2013 misc... Oppure mediante - una lettera: u(ser), g(roup), o(ther), a(ll) - un simbolo: +, -, = (add, subtract, untouched) - un carattere: r, w, x (read, write, execute)
18 Permessi Il significato dei diritti varia tra file e direttori File I permessi hanno un significato prevedibile r Diritto di lettura w Diritto di scrittura x Diritto di esecuzione Direttori I permessi hanno un significato particolare r Elenco dei file w Creazione e/o cancellazione di file x Attraversamento della directory
19 Gestione dei permessi È possibile cambiare i permessi ai file chmod [-R] permessi file I permessi possono essere specificati in modo Assoluto, mediante tre cifre ottali chmod 775 nomefile Simbolico, mediante una stringa di tre (o più) caratteri chmod g+r nomefile chmod +x nomefile chmod uo+rx nomefile
20 Gestione dei permessi È possibile cambiare il proprietario di una entry chown [-R] utente entry È possibile cambiare il gruppo di una entry chgrp [-R] gruppo entry I comandi possono essere combinari chown [-R] utente[:gruppo] entry chown [-R] uid[:gid] entry Opzioni -R Operazione ricorsiva su tutte le entry dell albero di direttori
21 Visualizzazione di un testo Visualizzare e concatenare file cat file 1 file 2 Visualizza le prime n righe di un file head [-n] file Visualizza le ultime n righe di un file tail [-n] [+n] [-r] [-f] file Opzioni -n +n -r -f Le ultime n righe Tutto il file tranne le prime n righe Le righe in ordine inverso Rilegge continuamente il file
22 Visualizzazione di un testo Altri comandi di visualizzazione pg file... more file... less file... Opzioni spazio Prossima pagina return Prossima riga b Pagina precedente /str Prossima occorrenza di str?str Occorrenza precedente di str q Termina la visualizzazione
23 Confronti Differenze tra due file diff [-opzioni] file1 file2 Elenca il numero di riga di quelle a Aggiunte (added) d Cancellate (deleted) c Cambiate (changed) Differenze tra due direttori diff [-opzioni] dir1 dir2 Opzioni -b Ignora gli spazi a fine riga, collassa gli altri -i Ignora la differenza maiuscolo/minuscolo -w Ignora completamente la spaziatura
24 Conteggi Conteggio del numero di linee, parole e byte in un file wc [options] [file...] Opzioni -c -w -l Valuta il numero di byte Valuta il numero di parole Valuta il numero di linee
25 Hard e Soft Link Creazione di un link ln [opzioni] source [destination] Comportamento di default Crea un hard-link Se la destination non è presente crea il link con lo stesso nome del source nel direttorio corrente Opzioni s -f --help Crea un link simbolico Rimuove eventuali file di destinazione esistenti Visualizza un help in linea
26 Hard e Soft Link Esempi ln source alias ln s /home/foo/tmp/bar.exe /home/foo/bin/ Si osservi che Il comando rm Rimuove un file solo se il numero dei link è uguale a 0 Il comando mv Equivale a eseguire prima ln e poi rm