Crea sito

ICT Officine Informatiche Roma

ICT SERVICES ROMA

Muoversi nel filesystem Comando pwd, ls -l, ls -F, ls -aF

Illustriamo brevemente il significato delle numerose informazioni presentate dal comando "ls -l". Il primo carattere di ogni riga può essere "d" per indicare che si tratta di una directory, "l" per indicare un link o "-" per indicare che si tratta di un normale file. I successivi nove caratteri rappresentano in forma sintetica i permessi di accesso assegnati ai file; devono essere letti raggruppandoli a tre a tre. I primi tre caratteri indicano i diritti del proprietario di tale file sul file stesso; i successivi tre caratteri indicano i diritti degli altri utenti facenti parte del gruppo proprietario del file, mentre gli ultimi tre caratteri rappresentano i diritti di tutti gli altri utenti del sistema. Una "x" sta ad indicare il diritto di esecuzione di tale file (mentre è chiaro cosa significa eseguire un programma, è opportuno chiarire che "eseguire" una directory significa poterci entrare dentro). Il carattere "r" sta ad indicare il diritto di leggere tale file (read), mentre "w" indica il diritto di poterci scrivere sopra (write), modificandolo o cancellandolo. Di seguito viene riportato lo username del proprietario del file (es.: marco) ed il nome del gruppo di appartenenza (es.: users). Viene poi visualizzata la dimensione del file, la data e l'ora in cui è stato creato (o modificato per l'ultima volta) ed infine il nome.

Appena entrati nel sistema ci troviamo all’interno della nostra home directory.

Per verificare il nome della directory possiamo usare il comando pwd (print working directory).

$ pwd
/home/marco
$ _
Il simbolo “/” (slash), oltre ad indicare la root directory del filesystem, è utilizzato come separatore tra le directory che fanno parte di uno stesso path; sui sistemi Windows la stessa funzione è svolta dal carattere “\” (backslash).

Di sicuro la prima cosa che ci viene in mente è quella di visualizzare il contenuto della nostra directory. Per far questo si deve usare il comando ls (list), equivalente al comando dir del prompt dei comandi di

Windows. Ad esempio potremmo ottenere il seguente output:   $ ls
lettera mail pippo.c progetto tesi
libro pippo pippo.zip src
$ _
Vengono visualizzati nove nomi, ma non è chiaro se siano nomi di file di dati, di sottodirectory o di programmi eseguibili. Abbiamo accennato precedentemente alle numerose opzioni che generalmente consentono di modificare opportunamente l’esecuzione di un certo comando o programa; in generale una riga di comando è costituita dal comando stesso seguito da una sequenza di opzioni indicate mediante caratteri (o sequenze di caratteri) preceduti dal simbolo “-“, e da parametri che vengono passati al comando. Le opzioni consentono di modificare in parte il modo con cui il comando viene eseguito. Ad esempio potremmo provare la seguente variante del comando ls:

$ ls -F /home/marco
lettera mail/ pippo.c [email protected] tesi/
libro/ pippo* pippo.zip src/
$ _

Il comando è “ls“, la sequenza “-F” rappresenta un’opzione del comando, mentre “/home/marco” è il parametro passato al comando stesso.

L’opzione “-F” del comando ls fa sì che accanto ad alcuni nomi di file venga visualizzato un simbolo che non fa parte del nome, ma che serve ad indicare di che tipo di file si tratta: lo slash “/” indica che è una directory, l’asterisco “*” indica che si tratta di un file eseguibile, mentre la chiocciola “@” sta ad indicare che quel file (o directory) non è fisicamente presente nella nostra directory, ma è un link, un rimando, un collegamento, ad un file (o ad una directory) che si trova da un’altra parte nel filesystem.

Si ottiene un’altra versione del comando ls aggiungendo l’opzione “-l” (long); visto che è possibile specificare più opzioni su uno stesso comando, vediamo quale potrebbe essere l’output del comando “ls -lF” (che equivale anche ad “ls -l -F“, visto che in molti casi le opzioni dei comandi possono essere “raggruppate”):

$ ls -lF
-rw-r–r– 1 marco users 937 Apr 23 12:43 lettera
drwxr-xr-x 2 marco users 1024 Apr 10 16:04 libro/
drwx—— 2 marco users 1024 Feb 01 09:32 mail/
-rwxr-x— 1 marco users 37513 Mar 10 11:55 pippo*
-rw-r–r– 1 marco users 18722 Mar 10 11:30 pippo.c
-rw-r–r– 1 marco users 23946 Mar 10 12:03 pippo.zip
lrwxrwxr– 1 marco users 8 Apr 04 18:16 progetto -> /usr/proj
drwxrwx— 2 marco users 1024 Mar 10 08:47 src/
drwxr–r– 2 marco users 1024 Feb 12 1995 tesi/
$ _
Illustriamo brevemente il significato delle numerose informazioni presentate dal comando “ls -l”. Il primo carattere di ogni riga può essere “d” per indicare che si tratta di una directory, “l” per indicare un link o “-” per indicare che si tratta di un normale file. I successivi nove caratteri rappresentano in forma sintetica i permessi di accesso assegnati ai file; devono essere letti raggruppandoli a tre a tre. I primi tre caratteri indicano i diritti del proprietario di tale file sul file stesso; i successivi tre caratteri indicano i diritti degli altri utenti facenti parte del gruppo proprietario del file, mentre gli ultimi tre caratteri rappresentano i diritti di tutti gli altri utenti del sistema. Una “x” sta ad indicare il diritto di esecuzione di tale file (mentre è chiaro cosa significa eseguire un programma, è opportuno chiarire che “eseguire” una directory significa poterci entrare dentro). Il carattere “r” sta ad indicare il diritto di leggere tale file (read), mentre “w” indica il diritto di poterci scrivere sopra (write), modificandolo o cancellandolo.

Di seguito viene riportato lo username del proprietario del file (es.: marco) ed il nome del gruppo di appartenenza (es.: users). Viene poi visualizzata la dimensione del file, la data e l’ora in cui è stato creato (o modificato per l’ultima volta) ed infine il nome.

Nell’esempio il file pippo.zip può essere letto e modificato dal proprietario (marco), mentre può essere soltanto letto dagli altri utenti del sistema; è stato creato il 10 Marzo dell’anno in corso alle 12:03. Il file progetto è un link alla directory /usr/proj e può essere utilizzato in lettura, scrittura ed esecuzione solo dal proprietario e dagli utenti del gruppo users, ma non dagli altri utenti del sistema che possono solo accedervi in lettura.

Delle numerosissime opzioni del comando ls ci limitiamo ad illustrarne solo un’altra, che ci permette di introdurre anche qualche interessante novità a proposito dei nomi dei file; cominciamo con il solito esempio, osservando l’output prodotto dal comando “ls -a”:

$ ls -aF
./ .bashrc lettera pippo* [email protected]
../ .exrc libro/ pippo.c src/
.Xdefaults .newsrc mail/ pippo.zip tesi/
$ _

Da dove spuntano questi strani file preceduti da un punto e perché fino ad ora non li avevamo visti? Per convenzione sotto Unix (ma anche in ambiente Windows) il nome “.” (punto) sta ad indicare la directory corrente, mentre con “..” si indica la directory “padre” nell’albero del filesystem(1). Gli altri file preceduti dal punto sono dei normali file (o directory, ma non nel nostro caso) che però non vengono visualizzati dal comando ls proprio perché hanno un nome che comincia con il punto. In questo modo possiamo evitare di visualizzare alcuni file che devono essere presenti nella nostra directory (ad esempio i file di configurazione), ma che non utilizzeremo direttamente quasi mai e dei quali dimenticheremo presto la presenza. Visualizzarli ogni volta renderebbe l’output del comando ls eccessivamente ridondante e quindi tali file vengono, in un certo senso, “nascosti”.

Per spostarsi attraverso le directory del filesystem si usa il comando cd (change directory). Ad esempio per “scendere” nella directory src si dovrà digitare il comando “cd src”, mentre per risalire nella directory padre (la nostra home directory) dovremo digitare il comando “cd ..”. A proposito della home directory è utile osservare che ci si può riferire ad essa mediante l’uso del simbolo “~” (tilde), mentre per riferirsi alla home directory dell’utente “marina” si potrà usare la stringa “~marina” (ad esempio si potrà digitare “cd ~marina” per spostarci nella sua directory: questo modo di impostare il comando è sicuramente più sintetico del canonico “cd /home/marina”). Visto che si presenta frequentemente la necessità di rientrare nella propria home directory, il comando cd dato senza nessun parametro assolve efficacemente tale scopo.

Translate »
×

Benvenuto !

Fai clic su uno dei nostri specialisti elencati di seguito per avviare una chat di supporto su WhatsApp o inviaci un'e-mail a helpdesk [email protected]

You are Wellcome !

Click one of our helpdesk specialist below to start a chat on WhatsApp or send us an email to [email protected]

 

× HELPDESK