SlideShare una empresa de Scribd logo
1 de 38
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
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
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
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
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
File di testo

Università degli Studi di Trieste
Sabato 26 ottobre 2013

(ɔ) Copyleft 2013 – Daniele Albrizio
albrizio@units.it
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
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
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
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
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
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
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 Albrizio
albrizio@units.it
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
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
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
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
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
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
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
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
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
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
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
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 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
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
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 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
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
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
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
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
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
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
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

Más contenido relacionado

Similar a Un tesoro nascosto nella linea di comando

Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...
Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...
Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...jekil
 
Iuavcamp presentazione 2003
Iuavcamp presentazione 2003Iuavcamp presentazione 2003
Iuavcamp presentazione 2003Tullinho
 
X Pro Srl Chi Siamo
X Pro Srl Chi SiamoX Pro Srl Chi Siamo
X Pro Srl Chi SiamoX-Pro Srl
 
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgroundsAlessandro Alpi
 
GWT vs CSS3
GWT vs CSS3GWT vs CSS3
GWT vs CSS3GWTcon
 
La rivincita di Linux: da MS Windows TS ai client Linux embedded e xrdp. - Ro...
La rivincita di Linux: da MS Windows TS ai client Linux embedded e xrdp. - Ro...La rivincita di Linux: da MS Windows TS ai client Linux embedded e xrdp. - Ro...
La rivincita di Linux: da MS Windows TS ai client Linux embedded e xrdp. - Ro...Daniele Albrizio
 
Esame di Stato: idee Hardware e Software
Esame di Stato: idee Hardware e SoftwareEsame di Stato: idee Hardware e Software
Esame di Stato: idee Hardware e SoftwareFabio Mora
 
Tecniche di raccomandazione automatica per la sottomissione di articoli scien...
Tecniche di raccomandazione automatica per la sottomissione di articoli scien...Tecniche di raccomandazione automatica per la sottomissione di articoli scien...
Tecniche di raccomandazione automatica per la sottomissione di articoli scien...GiulioPic
 
Lezioni di programmazione in c i file By Cristian Randieri - www.intellisyste...
Lezioni di programmazione in c i file By Cristian Randieri - www.intellisyste...Lezioni di programmazione in c i file By Cristian Randieri - www.intellisyste...
Lezioni di programmazione in c i file By Cristian Randieri - www.intellisyste...Cristian Randieri PhD
 
Sistemi - Lezione XIV - Introduzione a HTML
Sistemi - Lezione XIV - Introduzione a HTMLSistemi - Lezione XIV - Introduzione a HTML
Sistemi - Lezione XIV - Introduzione a HTMLUniversity of Catania
 
Data hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open sourceData hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open sourceMarco Ferrigno
 
Data Hiding
Data HidingData Hiding
Data HidingNaLUG
 
MODELLAZIONE 3D E PROGETTAZIONE MECCANICA CON PROE
MODELLAZIONE 3D E PROGETTAZIONE MECCANICA CON PROEMODELLAZIONE 3D E PROGETTAZIONE MECCANICA CON PROE
MODELLAZIONE 3D E PROGETTAZIONE MECCANICA CON PROEroberto Spataro
 
Iuavcamp-autodesk per la comunicazione interdisciplinare
Iuavcamp-autodesk per la comunicazione interdisciplinareIuavcamp-autodesk per la comunicazione interdisciplinare
Iuavcamp-autodesk per la comunicazione interdisciplinareAlex Recaldin
 

Similar a Un tesoro nascosto nella linea di comando (20)

Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...
Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...
Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...
 
Iuavcamp presentazione 2003
Iuavcamp presentazione 2003Iuavcamp presentazione 2003
Iuavcamp presentazione 2003
 
X Pro Srl Chi Siamo
X Pro Srl Chi SiamoX Pro Srl Chi Siamo
X Pro Srl Chi Siamo
 
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
 
GWT vs CSS3
GWT vs CSS3GWT vs CSS3
GWT vs CSS3
 
La rivincita di Linux: da MS Windows TS ai client Linux embedded e xrdp. - Ro...
La rivincita di Linux: da MS Windows TS ai client Linux embedded e xrdp. - Ro...La rivincita di Linux: da MS Windows TS ai client Linux embedded e xrdp. - Ro...
La rivincita di Linux: da MS Windows TS ai client Linux embedded e xrdp. - Ro...
 
Esame di Stato: idee Hardware e Software
Esame di Stato: idee Hardware e SoftwareEsame di Stato: idee Hardware e Software
Esame di Stato: idee Hardware e Software
 
Tecniche di raccomandazione automatica per la sottomissione di articoli scien...
Tecniche di raccomandazione automatica per la sottomissione di articoli scien...Tecniche di raccomandazione automatica per la sottomissione di articoli scien...
Tecniche di raccomandazione automatica per la sottomissione di articoli scien...
 
Lezioni di programmazione in c i file By Cristian Randieri - www.intellisyste...
Lezioni di programmazione in c i file By Cristian Randieri - www.intellisyste...Lezioni di programmazione in c i file By Cristian Randieri - www.intellisyste...
Lezioni di programmazione in c i file By Cristian Randieri - www.intellisyste...
 
Dns e bind
Dns e bindDns e bind
Dns e bind
 
Sistemi - Lezione XIV - Introduzione a HTML
Sistemi - Lezione XIV - Introduzione a HTMLSistemi - Lezione XIV - Introduzione a HTML
Sistemi - Lezione XIV - Introduzione a HTML
 
Giorgia giacuzzo presentazione flashcad
Giorgia giacuzzo presentazione flashcadGiorgia giacuzzo presentazione flashcad
Giorgia giacuzzo presentazione flashcad
 
Data hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open sourceData hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open source
 
Data Hiding
Data HidingData Hiding
Data Hiding
 
X2 Linux Riassunti
X2 Linux RiassuntiX2 Linux Riassunti
X2 Linux Riassunti
 
MODELLAZIONE 3D E PROGETTAZIONE MECCANICA CON PROE
MODELLAZIONE 3D E PROGETTAZIONE MECCANICA CON PROEMODELLAZIONE 3D E PROGETTAZIONE MECCANICA CON PROE
MODELLAZIONE 3D E PROGETTAZIONE MECCANICA CON PROE
 
Nextcloud dms
Nextcloud   dmsNextcloud   dms
Nextcloud dms
 
GITT (part 1 of 2)
GITT (part 1 of 2)GITT (part 1 of 2)
GITT (part 1 of 2)
 
Topog presentation
Topog presentationTopog presentation
Topog presentation
 
Iuavcamp-autodesk per la comunicazione interdisciplinare
Iuavcamp-autodesk per la comunicazione interdisciplinareIuavcamp-autodesk per la comunicazione interdisciplinare
Iuavcamp-autodesk per la comunicazione interdisciplinare
 

Más de Daniele Albrizio

Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Daniele Albrizio
 
E va bene, passo a Linux. Da dove inizio?
E va bene, passo a Linux. Da dove inizio?E va bene, passo a Linux. Da dove inizio?
E va bene, passo a Linux. Da dove inizio?Daniele Albrizio
 
Metasploit3 - David Calligaris
Metasploit3 - David CalligarisMetasploit3 - David Calligaris
Metasploit3 - David CalligarisDaniele Albrizio
 
Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta
Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta
Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta Daniele Albrizio
 
Un approccio scalabile e robusto per il mail filtering. - Simone Marzona
Un approccio scalabile e robusto per il mail filtering. -  Simone MarzonaUn approccio scalabile e robusto per il mail filtering. -  Simone Marzona
Un approccio scalabile e robusto per il mail filtering. - Simone MarzonaDaniele Albrizio
 

Más de Daniele Albrizio (8)

Va sui miei siti web
Va sui miei siti webVa sui miei siti web
Va sui miei siti web
 
free radius 201106
free radius 201106free radius 201106
free radius 201106
 
Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi
 
Lightning saml
Lightning samlLightning saml
Lightning saml
 
E va bene, passo a Linux. Da dove inizio?
E va bene, passo a Linux. Da dove inizio?E va bene, passo a Linux. Da dove inizio?
E va bene, passo a Linux. Da dove inizio?
 
Metasploit3 - David Calligaris
Metasploit3 - David CalligarisMetasploit3 - David Calligaris
Metasploit3 - David Calligaris
 
Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta
Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta
Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta
 
Un approccio scalabile e robusto per il mail filtering. - Simone Marzona
Un approccio scalabile e robusto per il mail filtering. -  Simone MarzonaUn approccio scalabile e robusto per il mail filtering. -  Simone Marzona
Un approccio scalabile e robusto per il mail filtering. - Simone Marzona
 

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
  • 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. 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
  • 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. 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