un’introduzione all’uso della shell su linux simone capodicasa · ctrl+c a volte può essere...
TRANSCRIPT
![Page 1: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/1.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Il terminale per tuttiun’introduzione all’uso della shell su Linux
Simone [email protected]
Linux Day Torino
26 ottobre 2013
S. Capodicasa Il terminale per tutti 1/42
![Page 2: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/2.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Indice
1. Introduzione
2. Comandi
3. Qualche trucco
4. Scripting
5. Un esempio di vita reale
S. Capodicasa Il terminale per tutti 2/42
![Page 3: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/3.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Obiettivo di oggi
Primo approccio con il terminaleFarvi venire la voglia di approfondire la conoscenza di questo
strumento, farvi assaggiare la sua potenza, senza essereesauriente (il tempo non lo permetterebbe comunque)
S. Capodicasa Il terminale per tutti 3/42
![Page 4: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/4.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Introduzione
S. Capodicasa Il terminale per tutti 4/42
![Page 5: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/5.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
ConvenzioniPer parlare la stessa lingua
1.Terminale = Shell = Linea di comando
2.Directory = cartella
3.Indipendenza dalla distribuzione
4.Comandi scritti in carattere a spaziatura fissa
S. Capodicasa Il terminale per tutti 5/42
![Page 6: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/6.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Cosa è il terminale
Un’interfaccia tra programma e utente
S. Capodicasa Il terminale per tutti 6/42
![Page 7: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/7.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
GUI vs. CLI
Tutto ciò che si fa tramitel’interfaccia grafica
si può replicare usando ilterminale
spesso in modo più efficiente!
S. Capodicasa Il terminale per tutti 7/42
![Page 8: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/8.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Una scelta intelligente
GUINuova versione ⇒ funzionalità (come minimo) spostate
CLINuova versione ⇒ funzionalità (al massimo) aggiunte
⇓
Non si deve imparare di nuovo a guidare
S. Capodicasa Il terminale per tutti 8/42
![Page 9: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/9.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Emulatore di terminaleCome si usa il terminale oggi
Un’interfaccia grafica che simula una linea di comando
? xterm? Konsole? Gnome Terminal? LXTerminal? infiniti altri...
Sicuramente si usa ancora la linea di comando pura(server, ssh, ecc...)
S. Capodicasa Il terminale per tutti 9/42
![Page 10: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/10.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Tanti tipi di shellnei sistemi operativi di tipo UNIX
? sh? zsh? tcsh? C shell? Korn shell
noi ci riferiremo sempre alla
BASHBourne Again Shell
S. Capodicasa Il terminale per tutti 10/42
![Page 11: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/11.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Il promptChi siamo e dove siamo
Utenteusername@hostname:directory$
Amministratore (root)root@hostname:directory#
Esempio (quasi) realesimone@linuxdayto2013:∼ $
S. Capodicasa Il terminale per tutti 11/42
![Page 12: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/12.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Comandi
S. Capodicasa Il terminale per tutti 12/42
![Page 13: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/13.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
La struttura di un comando bash
In generale:
comando -opzione argomento
Un esempio:
rm -f divinaCommedia.pdf
Anche più opzioni e più argomenti:
rm -rf divinaCommedia.pdf promessiSposi.pdf
S. Capodicasa Il terminale per tutti 13/42
![Page 14: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/14.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
ls
Stampa la lista del contenuto della directory passata comeargomento
S. Capodicasa Il terminale per tutti 14/42
![Page 15: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/15.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
cdNavigare nelle cartelle
Ci spostiamo nella directory passata come argomento
S. Capodicasa Il terminale per tutti 15/42
![Page 16: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/16.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
cpCopiare files e cartelle
Copia il file o la cartella passato come argomento
S. Capodicasa Il terminale per tutti 16/42
![Page 17: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/17.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
mkdirCreare directory
Crea la directory specificata
S. Capodicasa Il terminale per tutti 17/42
![Page 18: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/18.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
rm
Rimuove file o directory senza passare dal cestino!Per le directory aggiungere l’opzione -r
S. Capodicasa Il terminale per tutti 18/42
![Page 19: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/19.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
su e sudoDiventare amministratore (utente root)
per altre vignette visitare http://xkcd.com
Due metodi:
Anteporre sudo
al singolo comando
oppure
suPer loggarsi in una shell di root
S. Capodicasa Il terminale per tutti 19/42
![Page 20: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/20.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Le pagine manCercare aiuto
Come si trovanoman comando
Cosa c’è dentroTutto ciò che c’è da sapere su un programma
(e anche di più)
Nessuna voglia di leggerecomando -h
S. Capodicasa Il terminale per tutti 20/42
![Page 21: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/21.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Qualche trucco
S. Capodicasa Il terminale per tutti 21/42
![Page 22: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/22.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
AutocompletamentoIl tabulatore
Esiste una lista di comandi e il terminale la conosce
1.Si scrive un pezzo di comando e si preme TAB
2a.Se la corrispondenza è univoca,
avremo l’autocompletamento
2b.Se non è univoca, avremo una
lista delle possibilità (premendodi nuovo TAB)
S. Capodicasa Il terminale per tutti 22/42
![Page 23: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/23.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
PipeIl carattere |
Manda l’output del primo comando come input del secondo.
S. Capodicasa Il terminale per tutti 23/42
![Page 24: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/24.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Wild CardIl carattere *
Si usa l’asterisco per sostituire uno o più caratteri di nomi di filee directory
S. Capodicasa Il terminale per tutti 24/42
![Page 25: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/25.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Questa cartella e quella superiore. e ..
. indica la working directory
.. indica la parent directory
Non vale aggiungere altri puntiniNon si usa (non funziona) ...
ma ../..
Dove ci si trova?pwd
S. Capodicasa Il terminale per tutti 25/42
![Page 26: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/26.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Cronologia
Con su (N) e giù (H) si scorrono gli ultimi comandi utilizzati
Usando la combinazione di tasti Ctrl+R si effettua una ricerca tragli ultimi comandi utilizzati
S. Capodicasa Il terminale per tutti 26/42
![Page 27: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/27.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Interrompere l’esecuzione di un comandoCtrl+C
A volte può essere necessario interrompere con la forzal’esecuzione di un programma lanciato da terminale.
Si può fare premendo la combinazione di tasti:Ctrl+C
S. Capodicasa Il terminale per tutti 27/42
![Page 28: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/28.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Reindirizzamento dell’outputIl carattere >
Utilizzando il carattere > simanda l’output di un comando inun file di testo
S. Capodicasa Il terminale per tutti 28/42
![Page 29: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/29.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Programmi in background&
Postponendo & al comando lo si esegue in background,mantenendo le funzionalità del terminale
S. Capodicasa Il terminale per tutti 29/42
![Page 30: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/30.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Scripting
S. Capodicasa Il terminale per tutti 30/42
![Page 31: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/31.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Cosa è uno script?
Un file di testo che contiene unaserie di comandi su righe diverse
Esecuzione riga per riga
Lo strumento principeUn editor di testo
(Emacs, vi, Gedit, ecc...)
S. Capodicasa Il terminale per tutti 31/42
![Page 32: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/32.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Solo due regole da rispettare
#!/bin/bashSi dichiara quale tipo di shell si vuole usare per lo script
Usiamo l’estensione .sh
È solamente una convenzione
S. Capodicasa Il terminale per tutti 32/42
![Page 33: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/33.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Bisogna dare il permessoe poi eseguire
Dare il permesso di esecuzionechmod u+rx myScript.sh
Eseguire./myScript.sh
S. Capodicasa Il terminale per tutti 33/42
![Page 34: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/34.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Le variabili
Sono dei nomi brevi (o intuitivi) per richiamare stringhe di testo onumeri
S. Capodicasa Il terminale per tutti 34/42
![Page 35: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/35.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
I cicli
Come nei linguaggi di programmazione esiste il modo di ripeterele stesse righe un numero definito (o indefinito) di volte
Esiste anche il costrutto IF-THEN-ELSE
S. Capodicasa Il terminale per tutti 35/42
![Page 36: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/36.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Un esempio di vita reale
S. Capodicasa Il terminale per tutti 36/42
![Page 37: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/37.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Mettere i dati in tabella
Situazione? L’utente ha un file di testo contenente dati? Vuole mettere questi dati in una tabella LATEX
ProblemaI dati sono moltissimi!
S. Capodicasa Il terminale per tutti 37/42
![Page 38: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/38.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
ProblemaCosa si ha Cosa si vuole ottenere
S. Capodicasa Il terminale per tutti 38/42
![Page 39: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/39.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Soluzione
L’utente ha scritto uno scriptCon un solo comando la tabella
è pronta!
S. Capodicasa Il terminale per tutti 39/42
![Page 40: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/40.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Conclusioni
Il terminale è un modo alternativo di interagire con la macchina
Esiste un efficace linguaggio che permette di comunicare con ilcomputer
Questo linguaggio può essere usato per automatizzare e/ovelocizzare certe operazioni ripetitive oppure lunghe e complicate
S. Capodicasa Il terminale per tutti 40/42
![Page 41: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/41.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Un ultimo consiglio
In rete si trovano moltissime guide che usano comandi daterminale per effettuare varie operazioni
È importante capire bene cosa si sta facendo
Evitare il copia-incolla alla cieca!
S. Capodicasa Il terminale per tutti 41/42
![Page 42: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/42.jpg)
Introduzione Comandi Qualche trucco Scripting Un esempio di vita reale
Riferimenti
Guida completahttp://www.pluto.it/files/ildp/guide/abs/
Queste slidehttp://linuxdaytorino.org/2013
oppurehttp://newton.ph.unito.it/∼capodica
S. Capodicasa Il terminale per tutti 42/42
![Page 43: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/43.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
Appendici
6. Altri comandi
7. Altri trucchi
8. Ambiente di lavoro
9. Aggiornare il sistema
S. Capodicasa Il terminale per tutti 1/17
![Page 44: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/44.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
Altri comandi
S. Capodicasa Il terminale per tutti 2/17
![Page 45: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/45.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
echo
Stampa a video una stringa di testo
S. Capodicasa Il terminale per tutti 3/17
![Page 46: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/46.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
mvPer spostare...
Sposta il file nella posizione indicata (due argomenti)
S. Capodicasa Il terminale per tutti 4/17
![Page 47: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/47.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
mv... o per rinominare
Può essere usato anche per rinominare file o directory
S. Capodicasa Il terminale per tutti 5/17
![Page 48: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/48.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
Altri trucchi
S. Capodicasa Il terminale per tutti 6/17
![Page 49: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/49.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
Andare a capoIl carattere \
Comandi lunghi si possono scrivere su più righe, inserendo allafine della riga un \
S. Capodicasa Il terminale per tutti 7/17
![Page 50: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/50.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
Comandi con condizioni&& e ||
Si inseriscono tra due comandi sulla stessa linea
&&Esegue il primo comando e, se questo va a buon fine, vieneeseguito anche il secondo
||Prova a eseguire il primo comando e, se questo non va a buonfine, si prova a eseguire il secondo
S. Capodicasa Il terminale per tutti 8/17
![Page 51: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/51.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
Ambiente di lavoro
S. Capodicasa Il terminale per tutti 9/17
![Page 52: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/52.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
Files importanti
Quali sono?? /etc/profile
? ∼/.bash_profile, ∼/.bash_login, ∼/.profile? ∼ /.bashrc
Vengono letti e caricati ogni volta che si apre un terminale
S. Capodicasa Il terminale per tutti 10/17
![Page 53: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/53.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
/etc/profile
Contiene le variabili d’ambiente e i programmi di avvio comuni atutti gli utenti del sistema
Un esempio:
La variabile PATHDefinisce la lista dei comandi conosciuti al sistema (utilizzata per
l’autocompletamento)
S. Capodicasa Il terminale per tutti 11/17
![Page 54: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/54.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
La variabile PATH
È una lista di directory dove la bash andrà a cercare glieseguibili quando sriviamo un comando sul terminale
La mia PATH
S. Capodicasa Il terminale per tutti 12/17
![Page 55: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/55.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
∼/.bash_profile
Variabili d’ambiente e programmi di avvio dell’utente
Un esempio:
La variabile PATH
È possibile ridefinirla
S. Capodicasa Il terminale per tutti 13/17
![Page 56: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/56.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
∼ /.bashrc
Configurazioni utente della bash
Alcuni esempi:
? alias? personalizzazioni del prompt? definizioni di funzioni
S. Capodicasa Il terminale per tutti 14/17
![Page 57: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/57.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
Gli alias
Sono abbreviazioni di comandi lunghi o ricorrenti
Un alias dal mio ∼/.bashrcalias r=’root -l’
S. Capodicasa Il terminale per tutti 15/17
![Page 58: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/58.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
Aggiornare il sistema
S. Capodicasa Il terminale per tutti 16/17
![Page 59: un’introduzione all’uso della shell su Linux Simone Capodicasa · Ctrl+C A volte può essere necessario interrompere con la forza l’esecuzione di un programma lanciato da terminale](https://reader031.vdocuments.mx/reader031/viewer/2022022721/5c66901909d3f2d0218c7ba2/html5/thumbnails/59.jpg)
Altri comandi Altri trucchi Ambiente di lavoro Aggiornare il sistema
Aggiornare il sistema
Debian (e derivate: Ubuntu, Linux Mint, ecc...)sudo apt-get update && sudo apt-get upgrade
Fedora (e simili: CentOS, ecc...)sudo yum update
Archlinuxsudo pacman -Syu
S. Capodicasa Il terminale per tutti 17/17