next up previous contents index
Next: Statistiche del sistema Up: Piccoli programmi potenti Previous: La potenza di Unix

Operazioni sui file

In aggiunta ai comandi come cd, mv e rm che avete imparato nel capitolo [*], ci sono altri comandi che operano sui file ma non sui dati in essi contenuti. Questi sono, tra gli altri, touch, chmod, du e df. Tutti questi comandi non si preoccupano di cosa c'è nel file--cambiano solamente alcune delle cose che UNIX ricorda relativamente al file. Ecco alcuni degli elementi che vengono manipolati da questi comandi:
touch  file1 file2 ...fileN
touch aggiorna i time stamp dei file elencati nella linea di comando all'ora corrente. Se un file non esiste, touch lo creerà vuoto. È anche possibile specificare la data che touch deve impostare per i file--consultate la pagina man di touch.
chmod  [-Rfv] modalità file1 file2 ...fileN
  Il comando usato per cambiare i permessi di un file è chmod, abbreviazione di change mode. Prima di andare a spiegare come usare il comando, parliamo di quali permessi ci sono in Unix: ogni file ha un gruppo di permessi associati ad esso, che dicono a UNIX se il file può essere letto, modificato o eseguito come programma (nel prossimo paragrafo parlerò di come l'utente li può impostare. Ogni programma eseguito da un utente ha gli stessi permessi dell'utente stesso; questo può essere un problema di sicurezza se non sapete cosa fa un particolare programma). UNIX riconosce tre tipi di persone: prima il proprietario del file (e la persona autorizzata ad usare chmod su quel file). Secondo, il gruppo. Il gruppo di molti dei vostri file potrebbe essere ``users'', che indica gli utenti normali del sistema (per vedere il gruppo di un particolare file, usare ls -l file). Poi c'è chiunque altro non sia il proprietario e non sia membro del gruppo, appropriatamente chiamato ``others'' (``altri''). Così un file potrebbe avere i permessi di lettura e scrittura per il proprietario, di lettura per il gruppo e nessun permesso per gli altri. Oppure, per altre ragioni, un file potrebbe essere leggibile/scrivibile per il gruppo e gli altri, ma non per il proprietario! Proviamo ad usare chmod per cambiare un po' di permessi. Prima, create un nuovo file usando cat, emacs o qualsiasi altro programma. Normalmente dovreste riuscire a leggere e scrivere questo file (i permessi dati agli altri utenti variano a seconda di come è impostato il sistema e il vostro account). Assicuratevi di poter leggere il file usando cat. Adesso proviamo a togliere il vostro permesso di lettura usando chmod u-r nomefile (il parametro u-r si legge ``user meno read'', cioè toglie all'utente - user - il permesso di lettura - read); se adesso tentate di leggere il file, otterrete l'errore di Permission denied (accesso negato)! Aggiungete il permesso di lettura con chmod u+r nomefile.      I permessi delle directory  usano la stessa struttura: lettura, scrittura ed esecuzione, ma agiscono un po' diversamente. Il permesso di lettura consente all'utente (o gruppo o altri) di leggere la directory--cioè di elencare i nomi dei file. Il permesso di scrittura consente all'utente (o gruppo o altri) di aggiungere o rimuovere file. Il permesso di esecuzione consente all'utente di accedere ai file della directory o di qualsiasi sottodirectory (se un utente non ha il permesso di esecuzione in una directory, non può farci neanche cd!). Per usare chmod, sostituite modalità con quello che volete modificare, user (proprietario), group (gruppo), other (altri) o all (tutti) e cosa farci (cioè usate il simbolo + per aggiungere il permesso, il simbolo - per toglierlo oppure il simbolo = per specificare esattamente i permessi da assegnare). I possibili permessi da aggiungere sono read (lettura), write (scrittura) ed execute (esecuzione). L'opzione R di chmod cambia i permessi di una directory e di tutti i file e sottodirectory di quella directory (`R' sta per ricorsiva). L'opzione f forza chmod a provare a cambiare i permessi, anche se l'utente non è il proprietario del file (se chmod ha l'opzione f, non stamperà messaggi di errore quando fallisce nel tentativo di modificare i permessi di un file). L'opzione v rende chmod prolisso--spiegherà tutto quello che sta facendo.
next up previous contents index
Next: Statistiche del sistema Up: Piccoli programmi potenti Previous: La potenza di Unix
Eugenia Franzoni
1998-09-29