Un tesoro nascosto nella linea di comando.
Carrellata ragionata con esempi d'uso dei tool a linea di comando pi湛 diffusi.
Daniele Albrizio albrizio@units.it
1 of 38
Download to read offline
More Related Content
Un tesoro nascosto nella linea di comando
1. Un tesoro nascosto
nella linea di comando
Carrellata ragionata con esempi d'uso
dei tool a linea di comando pi湛 diffusi
Daniele Albrizio albrizio@units.it
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
2. Linea di comando
Accesso all'automazione per l'amministratore di
sistema e l'utente
Automazione: gestione di macchine e processi
che riduce la necessit dell'intervento umano.
Step-up della semplificazione della vita da parte
del computer (che altrimenti, normalmente, ce la
complica).
Anche sistemi nati a finestre hanno introdotto
la shell
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
3. Linea di comando
La linea di comando NON 竪 vecchia
La maggior parte di programmi per Linux ha una
linea di comando come modalit di utilizzo
alternativa o esclusiva
Vengono continuamente implementate nuove
funzionalit
竪
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
5. Convenzioni (ABC della shell semplificato)
Spesso i file vengono preceduti dalla directory
eg/ (eg/nomefile) per maggior chiarezza nella
dimostrazione
I comandi su una sola riga vengono rappresentati
su pi湛 linee usando il carattere come
congiunzione
Il carattere | serve a concatenare l'azione di pi湛
comandi
> esempio scrive sul file con nome esempio
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
6. File di testo
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
7. Formattare file di testo: fold
File di testo troppo larghi possono essere
agevolmente ristretti con fold, uno strumento del
pacchetto coreutils
cat long.txt | fold -sw 72 | mail
-s "This email contains bashwrapped text" foo@bar.net
-s spezza le righe senza spezzare le parole
-w (width) specifica il numero massimo di
caratteri per linea
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
8. Traslitterazione/filtraggio caratteri con tr
File di testo con caratteri scomodi possono
essere agevolmente ripuliti con tr, uno strumento
del pacchetto coreutils
cat <oldfile> | tr -d '340'
<newfile>
>
340 竪 la rappresentazione ottale del carattere
(come in od -c)
Tr pu嘆 essere usato per trasformare set di caratteri
cat geek.txt | tr '48310572' 'abeiostz'
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
9. Formattare liste: cat, column
Giochiamo un po' con i file CSV (o simili) In
modo da formattarli come vogliamo noi e/o
estraendo ci嘆 che ci serve
cat ParchiGiocoProvinciaRoma.csv
| column -s';' -t
| tr -d '"'
Formattazione a larghezza fissa di un file di
valori separati dal carattere ; e inclusi nelle
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
10. Formattare liste: awk, sort
Estraiamo solo i comuni diversi e ordiniamoli in
ordine alfabetico
Awk: linguaggio di scripting per processare testo
cat ParchiGiocoProvinciaRoma.csv
| tr -d '"'
| awk -F';' '{print $2}'
| sort -u
| grep -v Comune
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
11. Formattare liste: sort, column
Lista ordinata per comune in ordine alfabetico
cat ParchiGiocoProvinciaRoma.csv
| tr -d '"'
| sort -t';' -k2
| column -s';' -t
Via le , ordina per la seconda colonna
delimitata da ;, incolonna graficamente
riconoscendo il delimitatore ;
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
12. Multitail
Uso apprezzato da sistemisti, retisti e sviluppatori
web
Effettua il monitoraggio in tempo reale di pi湛 file
di log contemporaneamente
Serve a capire ad esempio la corrispondenza fra
connessione/applicazione/errore
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
13. Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
14. Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
15. PDF Portable document format
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
16. Reimpaginare i file PDF: pdftk
Uno strumento maneggevole per manipolare i PDF
Estrarre la parte da compilare di un modello 730
pdftk A=modello730.pdf cat A1-5 output
eg/modello730caaf.pdf
Togliere la pagina della guida (una pagina arbitraria)
dal PDF
pdftk A=modello730.pdf cat A1-9 A11-end
output
eg/modello730caafNOhelp.pdf
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
17. Reimpaginare i file PDF: pdftk
Un file PDF per ogni pagina
pdftk modello730.pdf burst output eg/mod730_
%02d.pdf
Creare un PDF unico da singole scansioni
pdftk eg/*.pdf cat output eg/unione.pdf
rotate
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
18. Reimpaginare i file PDF: pdftk
Rotazione e watermark
pdftk modello730.pdf stamp fac-simile.pdf
output eg/mashup.pdf
pdftk eg/mashup.pdf rotate 2-3down
output eg/mashupstamo.pdf
rotate
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
19. Ridurre la risoluzione delle immagini
in un PDF
Due metodi: ImageMagick e Ghostscript
ImageMagick: suite di programmi per manipolare
immagini
convert -units PixelsPerInch
pesante.pdf
-density 300 eg/leggero.pdf
Il risultato per嘆 竪 il PDF di una immagine: viene
convertito (rasterizzato) anche il testo
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
20. Ridurre la risoluzione delle immagini
in un PDF
Ghostscript: interprete per il linguaggio
PostScript e PDF
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
21. Ridurre la risoluzione delle immagini
in un PDF
gs -sDEVICE=pdfwrite
-dNOPAUSE -dQUIET -dBATCH
-dDownsampleColorImages=true
-dDownsampleGrayImages=true
-dDownsampleMonoImages=true
-dColorImageResolution=300
-dGrayImageResolution=300
-dMonoImageResolution=300
-sOutputFile=eg/leggerogs.pdf
pesante.pdf
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
22. Un mega poster per il compleanno: poster
Stampare un file PDF A3 su 9 fogli A3
Poster: scala e ritaglia immagini postscript per
poterle stampare su pagine multiple
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
23. Un mega poster per il compleanno: poster
pdf2ps SPa3.pdf
poster -v -iA3 -mA3 -p3x3A3 -w2% -c4%
SPa3.ps > SPa3-split.ps
ps2pdf SPa3-split.ps
Questo crea 9 pagine A3 con un margine bianco
esterno del 2% e un margine di taglio del 4% utile per
il collage
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
24. Immagini
Vista dall'Eagle's Nest Berchtersgaden DE
Copyleft: Daniele Albrizio
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
25. Ruotare le foto automaticamente
Tutti i programmi per la visualizzazione e
l'archiviazione di immagini per Linux ruotano
automaticamente le immagini seguendo le
informazioni EXIF dell'immagine
Tuttavia programmi di default in altri sistemi
operativi e appliances non lo fanno
Lossless way (nearly [1])
jhead -autorot *.jjpg
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
26. Watermarking: composite
Aggiunta di scritte tese a tutelare blandamente
il copyright o a titolare le immagini
ImageMagick:
composite -identify -dissolve 60%
-gravity SouthEast -geometry +300+200
-quality 100 ( watermark.png -resize
200% )
immagine.jpg wm_immagine.jpg
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
27. Audio
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
28. Audio : vlc
Estrazione della traccia audio da un filmato flv
VLC pu嘆 essere usato in maniera completa anche
da linea di comando:
vlc -I dummy -vvv "Myvideo.flv"
--no-sout-video
--sout-audio
-sout="#transcode{acodec=mp3}:std{access=file,mux=raw,dst=myaudi
o.mp3}"
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
29. Recuperare i vecchinastri (audiocassette)
Si pu嘆 registrare tutto il lato o tutta la cassetta con
audacity e poi splittare i singoli brani con
mp3splt -s -p th=-30,min=0.1,off=0.2
pub.mp3
-p aggiunge i parametri di threshold per il silence
detection (30db) la durata minima (0,1 secondi) e
l'offset da includere nel file audio (0,2 secondi)
E' possibile poi giuntare file mp3 con
mpgjoin *.mp3 -o collage.mp3
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
30. Files
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
31. Backup dei file Dropbox: rsync
Dropbox 竪 un servizio di cloud storage multipiattaforma
Il client offre la sincronizzazione automatica di
file via web
Siccome non fidarsi 竪 meglio, mi organizzo un
backup in una sola direzione cloud locale in
caso di problemi
rsync 竪 uno strumento per la copia remota
(sicura) e locale dei file molto versatile e veloce
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
32. Backup dei file Dropbox: rsync
/usr/bin/rsync -av
/home/albrizio/Dropbox/BackedUp
/home/albrizio/DropboxBackup
Una riga a cron conclude la funzionalit
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
33. Quindi
Quanto detto copre solo alcuni casi di
applicazione.
La linea di comando ci fornisce moltissimi
strumenti per l'automazione.
Sta a noi farne buon uso per semplificarci la vita.
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
34. HELP!
man <comando>
man 1 <comando> (comandi)
man 5 <comando> (formati)
info <comando>
apropos <comando>
www.google.com
<> parametro obbligatorio
[] parametro opzionale
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
35. Pacchetti usati
pdftk - A handy tool for manipulating PDF
MultiTail - browse through several files at once
tailf - follow the growth of a log file
ImageMagick - programmi per la manipolazione di
immagini (convert, mogrify, ecc.)
poster - creazione di grossi poster da pagine PostScript
coreutils (tr, fold, ecc.) - utilit GNU essenziali
ghostscript (ps2pdf, gs, ecc.) interprete per il
linguaggio PostScript e PDF
eog visualizzazione senza auto-rotation
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
36. Pacchetti usati
jhead - Digicam JPEG Exif header manipulation tool
jpegtran - lossless transformation of JPEG files
mp3splt - utility for mp3/ogg vorbis splitting without
decoding
tr - translate or delete characters
Awk - pattern scanning and processing language
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it
38. Licenza d'uso
di questo documento
Quest'opera 竪 stata rilasciata sotto la licenza Creative Commons
Attribuzione-Condividi allo stesso modo 2.5.
Per leggere una copia della licenza visita il sito web
http://creativecommons.org/licenses/publicdomain/ o spedisci una
lettera a Creative Commons, 559 Nathan Abbott Way, Stanford,
California 94305, USA.
Universit degli Studi di Trieste
Sabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
albrizio@units.it