Un tesoro nascosto nella linea di comando

download Un tesoro nascosto nella linea di comando

If you can't read please download the document

Transcript of Un tesoro nascosto nella linea di comando

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

PDF

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]