Un tesoro nascosto
nella linea di comando
Carrellata ragionata con esempi d'uso
dei tool a linea di comando pi diffusi
Daniele Albrizio [email protected]
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
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
Agenda
Convenzioni
File di testo
Immagini
Audio
Operazioni con i file
Getting help (passi verso l'autonomia)
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
File di testo
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 bash-wrapped text" [email protected] spezza le righe senza spezzare le parole
-w (width) specifica il numero massimo di caratteri per linea
Traslitterazione/filtraggio caratteri con tr
File di testo con caratteri scomodi possono essere agevolmente ripuliti con tr, uno strumento del pacchetto coreutils
cat | tr -d '\340' > \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'
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
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
Formattare liste: sort, column
Lista ordinata per comune in ordine alfabetico
cat ParchiGiocoProvinciaRoma.csv \| tr -d '"' \| sort -t';' -k2 \| column -s';' -tVia le , ordina per la seconda colonna delimitata da ;, incolonna graficamente riconoscendo il delimitatore ;
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
PDF Portable document format
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
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
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
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.pdfIl risultato per il PDF di una immagine: viene convertito (rasterizzato) anche il testo
Ridurre la risoluzione delle immagini
in un PDF
Ghostscript: interprete per il linguaggio PostScript e PDF
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
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
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.psQuesto crea 9 pagine A3 con un margine bianco esterno del 2% e un margine di taglio del 4% utile per il collage
Immagini
Vista dall'Eagle's Nest Berchtersgaden DECopyleft: Daniele Albrizio
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
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
Audio
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=myaudio.mp3}"
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
Files
Backup dei file Dropbox: rsync
Dropbox un servizio di cloud storage multi-piattaforma
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
Backup dei file Dropbox: rsync
/usr/bin/rsync -av \ /home/albrizio/Dropbox/BackedUp \/home/albrizio/DropboxBackupUna riga a cron conclude la funzionalit
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.
HELP!
man man 1 (comandi)
man 5 (formati)
info
apropos
www.google.com
parametro obbligatorio
[] parametro opzionale
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
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
References
http://daniele.albrizio.it/how-to_
[1] http://www.imagemagick.org/Usage/photos/#fix
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.
Click to edit the title text format
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline LevelEighth Outline LevelNinth Outline Level
Universit degli Studi di TriesteSabato 26 ottobre 2013
() Copyleft 2013 Daniele Albrizio
[email protected]
Top Related