Un tesoro nascosto
nella linea di comando
Carrellata ragionata con esempi d'uso
dei tool a linea di comando più diffusi
Da...
Linea di comando
●
●
●

●

Accesso all'automazione per l'amministratore di
sistema e l'utente
Automazione: gestione di mac...
Linea di comando
●
●

●

La linea di comando NON è “vecchia”
La maggior parte di programmi per Linux ha una
linea di coman...
Agenda
●
●
●
●
●
●
●

Convenzioni
File di testo
PDF
Immagini
Audio
Operazioni con i file
Getting help (passi verso l'auton...
Convenzioni (ABC della shell semplificato)
●

●

●
●

Spesso i file vengono preceduti dalla directory
eg/ (eg/nomefile) pe...
File di testo

Università degli Studi di Trieste
Sabato 26 ottobre 2013

(ɔ) Copyleft 2013 – Daniele Albrizio
albrizio@uni...
Formattare file di testo: fold
File di testo troppo “larghi” possono essere
agevolmente ristretti con fold, uno strumento ...
Traslitterazione/filtraggio caratteri con tr
●

File di testo con caratteri “scomodi” possono
essere agevolmente ripuliti ...
Formattare liste: cat, column
Giochiamo un po' con i file CSV (o simili) In
modo da formattarli come vogliamo noi e/o
estr...
Formattare liste: awk, sort
Estraiamo solo i comuni diversi e ordiniamoli in
ordine alfabetico
● Awk: linguaggio di script...
Formattare liste: sort, column
Lista ordinata per comune in ordine alfabetico
cat ParchiGiocoProvinciaRoma.csv 
| tr -d '"...
Multitail
●
●
●

Uso apprezzato da sistemisti, retisti e sviluppatori
web
Effettua il monitoraggio in tempo reale di più f...
Università degli Studi di Trieste
Sabato 26 ottobre 2013

(ɔ) Copyleft 2013 – Daniele Albrizio
albrizio@units.it
Università degli Studi di Trieste
Sabato 26 ottobre 2013

(ɔ) Copyleft 2013 – Daniele Albrizio
albrizio@units.it
PDF – Portable document format

Università degli Studi di Trieste
Sabato 26 ottobre 2013

(ɔ) Copyleft 2013 – Daniele Albr...
Reimpaginare i file PDF: pdftk
Uno strumento maneggevole per manipolare i PDF
● Estrarre la parte da compilare di un model...
Reimpaginare i file PDF: pdftk
●

Un file PDF per ogni pagina

pdftk modello730.pdf burst output eg/mod730_
%02d.pdf

Crea...
Reimpaginare i file PDF: pdftk
●

Rotazione e watermark

pdftk modello730.pdf stamp fac-simile.pdf 
output eg/mashup.pdf
p...
Ridurre la risoluzione delle immagini
in un PDF
Due metodi: ImageMagick e Ghostscript
● ImageMagick: suite di programmi pe...
Ridurre la risoluzione delle immagini
in un PDF
●

Ghostscript: interprete per il linguaggio
PostScript e PDF

Università ...
Ridurre la risoluzione delle immagini
in un PDF
gs -sDEVICE=pdfwrite 
-dNOPAUSE -dQUIET -dBATCH 
-dDownsampleColorImages=t...
Un mega poster per il compleanno: poster
●
●

Stampare un file PDF A3 su 9 fogli A3
Poster: scala e ritaglia immagini post...
Un mega poster per il compleanno: poster
pdf2ps SPa3.pdf
poster -v -iA3 -mA3 -p3x3A3 -w2% -c4%
SPa3.ps > SPa3-split.ps
ps2...
Immagini

Vista dall'Eagle's Nest – Berchtersgaden – DE
Copyleft: Daniele Albrizio

Università degli Studi di Trieste
Saba...
Ruotare le foto automaticamente
Tutti i programmi per la visualizzazione e
l'archiviazione di immagini per Linux ruotano
a...
Watermarking: composite
●

Aggiunta di “scritte” tese a tutelare blandamente
il copyright o a titolare le immagini

●

Ima...
Audio

Università degli Studi di Trieste
Sabato 26 ottobre 2013

(ɔ) Copyleft 2013 – Daniele Albrizio
albrizio@units.it
Audio : vlc
●
●

Estrazione della traccia audio da un filmato flv
VLC può essere usato in maniera completa anche
da linea ...
Recuperare i vecchinastri (audiocassette)
●

Si può registrare tutto il lato o tutta la cassetta con
audacity e poi splitt...
Files

Università degli Studi di Trieste
Sabato 26 ottobre 2013

(ɔ) Copyleft 2013 – Daniele Albrizio
albrizio@units.it
Backup dei file Dropbox: rsync
●
●
●

●

Dropbox è un servizio di cloud storage multipiattaforma
Il client offre la sincro...
Backup dei file Dropbox: rsync
/usr/bin/rsync -av 
/home/albrizio/Dropbox/BackedUp 
/home/albrizio/DropboxBackup
● Una rig...
Quindi
●
●
●

Quanto detto copre solo alcuni casi di
applicazione.
La linea di comando ci fornisce moltissimi
strumenti pe...
HELP!
●

man <comando>
●
●

●
●
●
●
●

man 1 <comando> (comandi)
man 5 <comando> (formati)

info <comando>
apropos <comand...
Pacchetti usati
●
●
●
●
●
●
●
●

pdftk - A handy tool for manipulating PDF
MultiTail - browse through several files at onc...
Pacchetti usati
●
●
●
●
●

jhead - Digicam JPEG Exif header manipulation tool
jpegtran - lossless transformation of JPEG f...
References
●
●

http://daniele.albrizio.it/how-to_
[1]
http://www.imagemagick.org/Usage/photos/#fix

Università degli Stud...
Licenza d'uso
di questo documento
Quest'opera è stata rilasciata sotto la licenza Creative Commons
Attribuzione-Condividi ...
Upcoming SlideShare
Loading in …5
×

Un tesoro nascosto nella linea di comando

424 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
424
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Un tesoro nascosto nella linea di comando

  1. 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. 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. 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
  4. 4. Agenda ● ● ● ● ● ● ● Convenzioni File di testo PDF Immagini Audio Operazioni con i file Getting help (passi verso l'autonomia) Università degli Studi di Trieste Sabato 26 ottobre 2013 (ɔ) Copyleft 2013 – Daniele Albrizio albrizio@units.it
  5. 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. 6. File di testo Università degli Studi di Trieste Sabato 26 ottobre 2013 (ɔ) Copyleft 2013 – Daniele Albrizio albrizio@units.it
  7. 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. 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. 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. 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. 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. 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. 13. Università degli Studi di Trieste Sabato 26 ottobre 2013 (ɔ) Copyleft 2013 – Daniele Albrizio albrizio@units.it
  14. 14. Università degli Studi di Trieste Sabato 26 ottobre 2013 (ɔ) Copyleft 2013 – Daniele Albrizio albrizio@units.it
  15. 15. PDF – Portable document format Università degli Studi di Trieste Sabato 26 ottobre 2013 (ɔ) Copyleft 2013 – Daniele Albrizio albrizio@units.it
  16. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 27. Audio Università degli Studi di Trieste Sabato 26 ottobre 2013 (ɔ) Copyleft 2013 – Daniele Albrizio albrizio@units.it
  28. 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. 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. 30. Files Università degli Studi di Trieste Sabato 26 ottobre 2013 (ɔ) Copyleft 2013 – Daniele Albrizio albrizio@units.it
  31. 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. 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. 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. 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. 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. 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
  37. 37. References ● ● http://daniele.albrizio.it/how-to_ [1] http://www.imagemagick.org/Usage/photos/#fix Università degli Studi di Trieste Sabato 26 ottobre 2013 (ɔ) Copyleft 2013 – Daniele Albrizio albrizio@units.it
  38. 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

×