Originariamente pubblicato in data 01/05/2002
A
C
C
O
M
A
Z
Z
I
Il terminale shellerato
Il terminale shellerato
Sepolto nella cartella Utility giace il Terminale. Dimenticata eredità del vecchio sistema operativo Unix. Ma cè delloro sepolto per chi vuole scavare nei misteri della sua shell.
Chi vuole imparare a usare il Terminale e il sistema a cui questo dà accesso, la shell, deve come prima cosa capire che una shell non è una utility, non è una applicazione: è un ambiente di lavoro, come il Finder. Serve a organizzare il lavoro, configurare il calcolatore, organizzare i documenti: proprio come il Finder. Negli anni Settanta (e prima ancora) i calcolatori non avevano sufficiente potenza di calcolo per rappresentare su uno schermo grafico lambiente di lavoro, o per creare sofisticate metafore come il Cestino o il Dock, quindi chi voleva lavorare con un elaboratore doveva necessariamente imparare a dominare le sottigliezze di una shell. Finder e shell sono dunque alternative: due strumenti radicalmente differenti per fare lo stesso lavoro. Proprio a causa delle loro differenze, però, ciascuno dei due è più adatto dellaltro per alcuni compiti, un po come unautomobile e un paio di schettini: servono entrambi per muoversi su strada ma hanno capacità molto differenti quanto a manovrabilità, velocità massima, ingombro, costo, capienza...Immaginate di avere immagazzinato diecimila fotografie nella vostra copia di iPhoto. Volete copiare le vostre mille preferite su un altro disco rigido? Con Finder è semplice: clic, prendo tutte quelle del 17 maggio, clic, tutte quelle con mia figlia... Altrettanto semplice sarebbe scegliere un mucchio di foto la cui dominante cromatica è il rosso, usando le anteprime o le icone personalizzate. Per chi usasse lo shell, invece, entrambi questi compiti sembrano lunghi e noiosi, quasi impossibili.
Volete copiare tutte le fotografie che sono state scattate in un giorno dispari di un mese pari? Oppure tutte quelle che hanno una f come seconda lettera del nome? Con la shell non è un problema, mentre per chi usa il Finder sarebbe un enorme grattacapo.
Prima di entrare nel vivo, infine, prendete nota che sia il Finder sia la shell sono circondati da programmi aiutanti che ne completano le capacità. Per esempio, quando dobbiamo cercare un documento sperduto da qualche parte sul disco rigido, ci è possibile invocare Sherlock dal Finder oppure chiamare locate nella shell. Anche gli aiutanti sono diversi tra loro proprio come gli ambienti per cui sono stati costruiti: locate è istantaneo ma richiede che noi lo rinfreschiamo periodicamente. Sulla riga di comando possiamo digitare un comando seguito da parametri e argomenti. I parametri spiegano al calcolatore in che modo il comando va eseguito, gli argomenti gli dicono su cosa deve lavorare.
Per esempio, fate due clic sullicona del vostro disco rigido. Finder mostrerà una finestra con il contenuto del disco. Aprite il Terminale e scrivete ls / (elle esse spazio barra); poi andate a capo. La shell mostra il contenuto del disco: ls significa lista ed è il comando, non ci sono parametri, / indica il disco rigido davvio. Provate una variante: ls -F /. Il parametro effe modifica il listato facendo apparire il simbolo barra dopo i nomi delle cartelle, il simbolo @ dopo i nomi degli alias, un asterisco dopo i nomi dei file. Notate che la shell mostra sempre tutti i file che per il Finder sono normalmente invisibili, come il cestino e le cartelle riservate alluso interno di Mac OS X.
La maggior parte dei comandi a Terminale hanno per argomento un file o una cartella, proprio come la maggior parte delle operazioni che effettuiamo nel Finder. In Mac OS X, cè un metodo molto semplice e intuitivo per specificare un argomento del genere: basta trascinare licona del file o della cartella da Finder sopra la finestra del Terminale. Per esempio, scrivete ls -F , compreso lo spazio dopo la F, e poi trascinate licona di una qualsiasi cartella, infine premete Invio. Vedrete apparire un elenco del contenuto di quella cartella, compresi i file invisibili. Adesso scopriamo insieme qualche piccola pepita doro sepolta nel Terminale. Si tratta di utility già disponibili in ogni copia di Mac OS X ma che quasi nessuno utilizza perché non ne conosce lesistenza.
Status del calcolatore
ac
Mostra quanto tempo ha passato al calcolatore lutente corrente. Con ac -p vengono mostrati tutti gli utenti registrati dal Mac (quelli il coi nome appare allavvio).
top
Mostra tutti i processi (programmi e applicazioni) aperti, e di ciascuno rivela quanta memoria sta usando e quanto tiene impegnato il calcolatore. Per uscire dalla schermata, premete il tasto Q.
lsof
Mostra tutti i file correntemente aperti sul calcolatore. La variante lsof -i -U mostra tutte le connessioni Internet aperte.
netstat
Mostra lo status della rete. La variante netstat -s mostra quanti pacchetti di rete sono andati persi (e il motivo) ed è utile per valutare la bontà di una connessione via modem.
nvram
Mostra il contenuto della RAM parametrica (non volatile), che contiene la configurazione del calcolatore quando è spento. Si tratta della stessa memoria che viene azzerata premendo Mela-Opzione-P-R allaccensione.
sysctl
Mostra informazioni sullo status del sistema. Per esempio, sysctl kern.boottime indica quando è stata acceso il Macintosh; sysctl kern.version mostra nome e ultimo aggiornamento del sistema operativo; sysctl hw.model mostra il modello dello hardware e può venire usato per distinguere le revisioni degli iMac, PowerMac eccetera.
hostinfo
Mostra informazioni sul Macintosh. Permette di distinguere lo specifico modello del processore.
uptime
Mostra da quanto tempo è acceso il Mac, quanti utenti differenti riconosce e quanto pesante è stato il carico di lavoro (in scala da zero a uno) negli ultimi 1, 5 e 15 minuti.
vm_stat
Mostra informazioni statistiche sullo stato della memoria virtuale.
Calendari
cal
Un calendario perpetuo. Digitato senza parametri, mostra il mese corrente. Possiamo aggiungere lanno in corso e ottenere un calendario dellintero anno; oppure scrivere mese ed anno in forma numerica. Provate a scrivere cal 09 1752: apparirà un calendario corretto ma incredibile: solo chi è maggiormente ferrato in storia ne capirà il motivo.
calendar
Un almanacco con le ricorrenze del giorno. Va infocato scrivendo calendar -f /usr/share/calendar/calendar. e poi il nome dellarchivio ricorrenze che volete consultare. Gli archivi disponibili sono birthday, christian, computer, history, holiday, judaic e music.
leave
Promemoria a tempo. Può venire utilizzato con un orario assoluto, per esempio leave 1030 per le 10:30, oppure con un orario relativo, per esempio leave +0115 punta la sveglia per unora e quindici minuti da adesso.
Inutilities
banner
Stampa una scritta in caratteri enormi. Provate banner Macworld.
yes
Bestemmiatore in conto terzi. Accetta come argomento una parolaccia e risponde scrivendola infinite volte a video. Viene usato dai programmatori frustrati per fare in modo che sia il calcolatore a tirare saracche per loro.