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.