DI RECENTE ACCOMAZZI...
CERCA
» Ricerca avanzata
MAILING LIST

Se vuoi iscriverti alla mailing list di Luca Accomazzi inserisci qui la tua mail:

Vuoi ricevere i messaggi immediatamente (50 invii / giorno) o in differita e in gruppo
(due invii / giorno)?

» Vuoi saperne di più?

Il terminale shellerato

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 l’ambiente 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 dell’altro per alcuni compiti, un po’ come un’automobile 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.


ABC del Terminale

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 sull’icona 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 d’avvio. 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 all’uso 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 l’icona 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 l’icona di una qualsiasi cartella, infine premete Invio. Vedrete apparire un elenco del contenuto di quella cartella, compresi i file invisibili.


Le piccole utility del Terminale

Adesso scopriamo insieme qualche piccola pepita d’oro 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 l’esistenza.

Status del calcolatore

ac
Mostra quanto tempo ha passato al calcolatore l’utente corrente. Con ac -p vengono mostrati tutti gli utenti registrati dal Mac (quelli il coi nome appare all’avvio).

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 all’accensione.

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 l’anno in corso e ottenere un calendario dell’intero 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 dell’archivio 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 un’ora 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.


Questo articolo fa parte di uno dei miei percorsi. Se vuoi saperne di più su questo argomento, visita il resto del percorso cliccando qui.