Originariamente pubblicato in data 08/03/2003
A
C
C
O
M
A
Z
Z
I
I file messi in fila
Non cè niente meglio del buon vecchio Terminale per scoprire tutto quel che si potrebbe desiderare a proposito dei documenti sul nostro disco rigido.
Il Terminale di Mac OS X è uno strumento che, come abbiamo visto nei mesi scorsi, racchiude molti strumenti anche preziosi. Il campo di applicazione più fertile però è certamente quello che ha a che fare con i documenti. In questo articolo ci concentreremo specialmente sulle istruzioni che hanno senso per documenti testuali, ma vedremo anche comandi di utilizzo generico.
LABC
Aprite il Terminale, che troverete nella cartella Utility del vostro disco. Quando la finestra con la scritta di benvenuto è apparsa potete cominciare a digitare comandi. Ce ne sono due che dobbiamo imparare a usare prima di cominciare: ls e cd. Il primo serve a LiStare i contenuti di una cartellina (o directory, se preferite). Provate a scrivere ls e vedrete apparire un elenco dei contenuti del vostro inizio (la cartella che ci apre quando cliccare licona della casetta nelle finestre di Finder). Scrivendo ls -al (LiSt All in Long format, cioè lista tutti i file in formato lungo) il Terminale ci mostra anche i documenti invisibili che normalmente Finder ci nasconde. Per esempio, uno dei documenti invisibili di cui scoprirete lesistenza si chiama .CFUserTextEncoding e registra le vostre preferenze linguistiche. Se lo aprite con un programma che permette di selezionare i file invisibili ci troverete probabilmente dentro la scritta 0:4. Zero rappresenta lalfabeto latino e 4 la lingua italiana.Il comando cd si utilizza per Cambiare la Directory in cui ci troviamo, cioè spostarci altrove. Provate a scrivere cd Desktop e subito dopo a impartire di nuovo il comando ls -al: questa volta vedrete listati a video tutti i documenti che tenete sulla scrivania. Se utilizzando il comando cd vi perdete nei meandri del vostro disco rigido tenete presente un altro utile comando: pwd e cioè Print Working Directory (per chi non pratica linglese, significa stampa il nome della cartella corrente).
Dimmi tutto di te
Quando usiamo il comando ls -al vediamo apparire molte informazioni su ogni singolo documento. Alla sinistra ci sono i cosiddetti flag, cioè lindicazione di chi è autorizzato a leggere e scrivere il documento. È la medesima informazione che Finder ci restituisce quando chiediamo le Informazioni su un file premendo Mela-I, nella sezione Proprietario e Permessi. Confrontate la finestra del Terminale e quella del Finder per capirne lesatta corrispondenza. Il Terminale, però, ne sa una più del Finder: ci arriveremo tra un attimo.Il comando ls può anche darci informazioni su un singolo documento: basta indicarlo di seguito. Su un Macintosh, questa indicazione si può ottenere semplicemente trascinando licona del documento che ci interessa. Per esempio: digitate ls -alT . Non copiate anche le virgolette e state molto attenti alla spaziatura: cè uno spazio bianco tra ls e -lT e un altro spazio dopo la T maiuscola. A questo punto cliccate su un documento (o una cartella) qualsiasi e trascinatelo sopra la finestra del Terminale, poi lasciatelo andare. Vedrete apparire il suo nome completo, preceduto dallindicazione delle cartelle che lo contengono. A questo punto premete in tasto di Invio sulla tastiera.
Vedrete apparire una riga di indicazioni a proposito del documento.
Notate: lora di modifica appare completa di secondi, mentre Finder mostra solo ore e minuti. Cè di più: riprovate scrivendo stavolta ls -alTu (cè in più una u, che sta per usato). Il Terminale risponde comunicandovi la data e lora in cui il documento è stato aperto per lultima volta. Si tratta di una informazione che Finder non sa mostrare.
Trovate la differenza
Vediamo adesso un bel mucchio di comandi utili quando lavoriamo con documenti di testo ma di qualche utilità anche con gli altri tipi di file. Il comando cmp (contrazione di compare) può venire utilizzato per paragonare due documenti. Per utilizzarlo si scrive cmp (non dimenticate lo spazio bianco in fondo), poi si trascina un documento, un altro spazio bianco, il secondo documento, Invio. Se i documenti sono identici a video non appare nulla. Se sono differenti invece appare una riga di testo che spiega in quale posizione cè la differenza (questa informazione è utile, appunto, lavorando con documenti di testo puro).Si può fare anche di meglio usando il comando diff -u (contrazione di differenza). Lutilizzo è identico a quello di cmp: al comando diff -u vanno fatti seguire due documenti separati da spazio. Diff risponde con un elenco di tutte le differenze. Per esempio, diff potrebbe rispondere alla nostra richiesta mostrando un pezzetto di documento dove ci sono differenze, etichettando con un segno meno i punti aggiunti nel primo documento e con il segno più il testo aggiunto solo nel secondo.
Cè una opzione che è particolarmente utile quando paragoniamo tra loro due versioni di una pagina web: scrivendo diff -bB ordiniamo al Terminale di ignorare le differenze insignificanti, e cioè gli spazi bianchi e le andate a capo. Unaltra opzione interessante è --ignore-case (attenzione: prima della parola ignore ci sono due segni meno consecutivi) che ordinano al Terminale di ignorare le differenze tra lettere minuscole e maiuscole. Infine, aggiungendo --side-by-side i due documenti vengono stampati affiancati (allargate a tutto schermo la finestra del Terminale per vederli bene).
Programmi speciali per momenti speciali
Vi hanno infilato un AS/400 in azienda in un momento in cui non potevate aprire bocca? Il comando cut può aiutarvi a trattare quegli assurdi documenti che il grosso calcolatore IBM e i suoi contemporanei producono con facilità, dividendoli per colonne e separando la porzione che vi serve di più. Per la sintassi, scrivete man cut nel Terminale.Avete di fronte un enorme documento di testo perché un qualche programma continua ad aggiungere informazioni in coda? Succede spesso, per esempio quando abbiamo un calcolatore che contiene il nostro sito web. Il comando tail può venire usato per vedere le ultime righe aggiunte in coda a quel documento. Per esempio provate a scrivere tail /private/var/log/httpd/access_log e vedrete le ultime dieci pagine (o immagini) che il vostro Mac OS X ha inviato sul Web. Naturalmente, se tenete spenta la Condivisione web in Preferenze di sistema / Condivisione il risultato non sarà per nulla interessante...
Infine, un comando utile per i curiosoni. Nel Terminale scrivete strings, uno spazio, e poi trascinate sulla finestra licona di una grande applicazione, come per esempio Microsoft Excel, oppure un grande documento. Vedrete apparire tutte le scritte che il programmatore ha inserito nel corpo del programma o che la applicazione creatrice ha inserito nel documento.
Unix senza Terminale
Sin qui noi abbiamo sempre utilizzato il Terminale per impartire ordini alle fondamenta Unix del sistema operativo Mac OS X. Ci sono però numerose altre applicazioni che consentono di ottenere lo stesso effetto e che qualcuno potrebbe trovare più interessanti.Per la maggior parte si tratta di sostituti del Terminale fornito da Apple, che aggiungono alcune funzionalità. È questo, per esempio, il caso di iTerm (scaricabile gratuitamente dal sito iterm.sourceforge.net), un progetto Open Source.
In alcuni casi però si tratta di applicazioni genuinamente differenti che permettono applicazioni nuove e originali. Per esempio: BBEdit è una applicazione giustamente famosa per chi vuole editare testo puro, senza formattazione, come è il caso di programmatori, degli autori di HTML, dei sistemisti e di alcune altre categorie specializzate. Lultima versione di BBEdit permette di creare documenti in cui i comandi Unix vengono interpretati e il loro risultato appare dentro la finestra corrente.
Unaltra fonte di applicazioni personalizzate molto interessante è AppleScript, che può venire utilizzato per pilotare il Terminale o BBEdit. Infine, ricordiamo che un documento di testo che contiene una istruzione comprensibile per il Terminale verrà automaticamente eseguito se il suo nome termina con la estensione .command: una possibilità potente e flessibile di cui però qualche malintenzionato potrebbe approfittarsi (le possibilità del Terminale sono vaste, come sappiamo): sarà dunque prudente non aprire mai un documento .command che ci viene spedito per posta elettronica.