Percorso: ilMac.net > Scuola di Mac > Corsi > Il Terminale in pillole


Il Terminale in pillole

Il comando ls

Dopo aver aperto il terminale e capito cosa vogliono dire gli strani simboli che ci si sono parati davanti, vediamo di imparare il primo comando Unix!
Comincio col descrivere il comando "ls" perché credo che la prima cosa che si fa quando si entra in un ambiente è guardarsi attorno per vedere cosa c'è!
Per chi da giovane ha smanettato (ahimé) un pò con il DOS, il comando "ls" è equivalente al comando "dir" che utilizzavate per visualizzare il contenuto di una directory.
Dunque digitando "ls" sul vostro terminale otterrete la visualizzazione del contenuto della directory in cui vi trovate, semplicissimo no?
Se non digitate altro (ovvero se non vi spostate all'interno del vostro albero di cartelle dopo l'apertura del terminale) il risultato del comando è il contenuto della cartella in cui siete, cioè la vostra home. Nel mio caso:

Desktop Movies Public Documents Music
Shared Library Pictures Sites

Come qualsiasi altro comando Unix, "ls" può essere eseguito con una infinità di possibili opzioni, ciascuna designata da una lettera o un numero che devono essere digitate dopo "ls" e precedute da un segno meno ("-"). Vedrete quindi che al di là della semplice visualizzazione del contenuto di una directory, "ls" vi permette di accedere a moltissime informazioni sui file e le cartelle ivi contenute.
Facciamo qualche esempio. Ricordate che potete mettere anche più di una opzione per volta, sempre precedute dal segno "-", ad esempio: "ls -abcgdfsj".

Un po' di colore: l'opzione -G

Comincio con due opzioni un po' "frivole".
Se avete un sacco di roba nella vostra home e volete subito vederci chiaro, distinguendo file, cartelle, eseguibili ecc. ecc. allora provate a scrivere "ls -G"
In output le cartelle sono colorate di blu, i file di nero, gli eseguibili di verde, i link in fucsia ecc. ecc. (non li ricordo tutti! )
Se invece i colori non vi piacciono ma volete lo stesso distinguere subito in base al tipo di oggetti, allora provate con "ls -F".
In output vedrete le cartelle seguite da una slash (/), i file seguiti da nulla, i link seguiti da una chiocciola (@) e gli eseguibili da un asterisco (*).

Sempre piu giù! L'opzione -R

Mettiamo ora che voi vogliate subito vedere cosa c'è anche all'interno delle cartelle della vostra home ma senza muovervi di lì, cioè senza spostarvi nelle sottocartelle (vedremo la prossima volta come fare questo!). Allora "ls -R" è l'opzione che fa per voi!
FERMI! NON LO FATE SUBITO!
Prima dovete essere ben al corrente che questa opzione visualizza TUTTO il contenuto di TUTTE le sottocartelle del punto in cui vi trovate RICORSIVAMENTE. Poichè vi trovate nella home, il risultato del comando sarà TUTTO il contenuto della vostra home! Dunque il listato rischia di essere lunghetto! Quando vi stufate di vedere linee che scorrono, bloccate l'esecuzione con Control+C e date un'occhiata all'output con lo scrolling.
Prima viene il listato normale del comando "ls", poi per ogni cartella della home viene visualizzato il suo contenuto. Se volete limitarvi a conoscere il contenuto della sola cartella "Desktop" allora provate a scrivere: "ls -R Desktop".
Dopo aver imparato questa opzione e dopo aver imparato il comando Unix per effettuare ricerche (in una delle prossime puntate! ), capite bene che non ci vuole assolutamente un programmatore sopraffino per mettere su un'applicazione come Sherlock!!
Anzi, ciascuno di voi può farsi il proprio motore di ricerca interno con un semplice script da terminale!

I file nascosti: l'opzione -a

A volte si ha bisogno di andare a cercare qualcosa tra i file "nascosti" del nostro computer, ovvero tra quei files il cui nome è preceduto da un punto e non vengono dunque visualizzati nel Finder o via il semplice "ls".
Digitando "ls -a" (dove la a sta per "all"), visualizzate tutti i file nascosti della directory in cui vi trovate. Ad esempio (non riporto tutto):

Desktop
..
Movies
.CFUserTextEncoding
Public
.DS_Store
Documents
.Trash
Music
.addressbook
Shared
.bash_history
Library
.bashrc
Pictures
.gimp-2.0
Sites
.java
.profile

Non spiegherò la funzione e l'utlilità dei file nascosti presenti nella vostra home (sarebbe un'impresa lunghetta...), in generale comunque si può dire che sono per lo più file di configurazione di applicazioni o di sistema e come tali, se modificati possono creare problemi: pertanto sono "nascosti"!
Giusto i primi due: "." sta ad indicare il punto in cui vi trovate (vale a dire che il comando "ls" vi segnala che all'interno della cartella in cui vi trovate si trova anche.....la cartella stessa! );
".." invece indica che "al di sopra" della cartella in cui siete ce n'è un'altra, ovvero non siete alla "radice" del vostro albero di cartelle.

L'opzione (secondo me) più importante: -l

Questa è secondo me l'opzione più utile del comando "ls". Permette infatti di visualizzare un sacco di informazioni sugli elementi presenti nel punto dell'albero dove vi trovate. È però un po' difficile da leggere di primo acchitto.....
Scrivete "ls -l", otterrete una cosa del genere:

drwxr-xr-x 23 giuboz admin 782 14 Apr 18:47 Desktop
drwxr-xr-x 11 giuboz admin 374 29 Mar 18:47 Documents
drwxr-xr-x 50 giuboz admin 1700 26 Feb 18:47 Library
drwxr-xr-x 9 giuboz admin 306 22 Mar 18:47 Movies
drwxr-xr-x 8 giuboz admin 272 10 Apr 18:47 Music
drwxr-xr-x 10 giuboz admin 340 3 Apr 18:47 Pictures
drwxr-xr-x 4 giuboz admin 136 8 May 2004 Public
drwxr-xr-x 3 giuboz admin 102 7 May 2004 Shared
drwxr-xr-x 18 giuboz admin 612 13 Apr 18:47 Sites

Da destra a sinistra abbiamo:
il nome del file o della cartella o che altro;
la data e l'ora di ultima modifica (se ' vecchio di 1 anno, l'ora non c'è!);
il numero di bytes occupato dall' elemento (per le cartelle, NON il contenuto totale, solamente il numero di bytes occupato dal nome e dalle eventuali altre info);
il nome del proprietario dell'elemento seguito dal gruppo di appartenenza (nel mio caso "giuboz" appartiene al gruppo "admin" degli amministratori);
il numero 1 se l'elemento è un file o un eseguibile, oppure un altro numero nel caso di una cartella: in quest'ultimo caso è il numero totale degli elementi compresi in quella cartella (compresi i file nascosti) ;
infine a sinistra di tutto, troviamo 10 caratteri importantissimi:
il primo specifica il tipo di elemento ("d" per cartelle, "-" per files, "l" per link simbolici ecc. ecc.),
gli altri 9 sono i famosissimi, celeberrimi e corruttibilissimi PERMESSI (o PRIVILEGI)!
Finalmente li tocchiamo con mano dopo aver lasciato fare Onyx per tutto questo tempo !
Si dividono a gruppi di 3: permessi dell'utente, permessi del gruppo, permessi di tutti gli altri.
All'interno dei 3 blocchi abbiamo il permesso di lettura, il permesso di scrittura, il permesso di esecuzione. I simboli dovrebbero essere ovvi ma andiamo con un esempio:
Nella mia penultima linea vedete scritto:

drwxr-xr-x 3 giuboz admin 102 7 May 2004 Shared

Dunque vedete che la mia cartella Shared
1) è stata modificata l'ultima volta il 7 maggio 2004,
2) occupa (unicamente col suo nome e attributi, NON col suo contenuto) 102 blocchi di memoria (bytes),
3) appartiene a me "giuboz" che faccio parte del gruppo "admin",
4) contiene 3 elementi al suo interno (provate con "ls -aR Shared" e vedrete),
5) nel gruppone d 10 caratteri, "d" vuol dire che Shared è una directory, il primo gruppo di permessi recita "rwx" dunque il proprietario "giuboz" ha permessi di lettura,scrittura ed esecuzione; il secondo gruppo recita "r-x" dunque il gruppo "admin" NON HA permesso di scrittura, MA HA permesso di lettura ed esecuzione; il terzo gruppo è uguale al secondo, dunque tutti gli altri utilizzatori hanno gli stessi permessi del gruppo.

In una delle prossime puntate impareremo a modificare una di quelle "r" in "-" oppure una di quelle "-" in "w" ecc. ecc. e a quel punto vi sentirete onnipotenti al pari di Onyx!


Lezione successiva : Il comando chmod.


Data di pubblicazione: 14-12-2005
L'intero contenuto di questo sito è © dal 1998 del Team di ilMac.net, è vietata ogni riproduzione senza il consenso scritto da parte degli autori.