Tema Libero

LINUX, microcorso

« Older   Newer »
  Share  
vic vega
view post Posted on 7/6/2007, 22:53 by: vic vega     +1   -1

viaggiare o stare fermi è solo un'intenzione

Group:
Administrator
Posts:
10,231
Rating:
+1
Location:
una ridente località nella brughiera lombarda

Status:


7. il terminale (2)

qualche altro comando, questa volta da usare con un po' più di attenzione.

7a. rm

rm è un comando che serve a cancellare (rimuovere, da qui il nome) uno o più file.

insomma, dando

CODICE
$ rm file1


il file denominato file1 verrà definitivamente cancellato dal vostro sistema (e non spostato nel cestino!).

chiaramente nella forma

CODICE
$ rm file1 file2


l'operazione sarà svolta su entrambi i file in argomento.

se il file da cancellare non sta nella directory corrente dovrete ovviamente dare il comando

CODICE
$ rm /percorso/di/file1


altra cosa interessante: avrete notato che molti comandi hanno delle opzioni, e che queste opzioni iniziano con un trattino seguito da una lettera maiuscola o minuscola. bene, ma se qualche mente perversa ha creato un file con il nome che inizia con un trattino? come far capire al sistema che quello è l'argomento del comando e non una serie di opzioni? più semplice di quello che sembra, basta dare

CODICE
$ rm -- -file1


non che capiti tuttii giorni di trovare file con nomi fatti così, ma casomai dovesse capitare sapete come eliminarli (o comunque lavorarci da terminale).

e parlando di opzioni, anche rm ne ha. le principali sono:

rm -d, che fà sì che rm lavori sulle directory invece che sui file
rm -f, che forza l'eliminazione
rm -i, che chiede conferma prima di procedere all'eliminazione
rm -r o rm -R, che cancella le directory e le sottodirectory in modo ricorsivo.

OCCHIO! queste opzioni sono tremendamente pericolose! il terrore di tutti i linuxiani è di scrivere nella shell in un momento di follia

CODICE
$ rm -Rf /


cosa fa? ditemelo voi, a questo punto dovreste capirlo a colpo d'occhio... comunque non fa nulla di buono (don't try this at home!!!).

7b. rmdir

rmdir è simile a rm -d, in pratica seve a rimuovere le directory.

quindi, se avete una directory ./prova che non vi serve più per qualunque ragione, digitando

CODICE
$ rmdir ./prova


ve ne liberate.

e se rm ha l'opzione -r (oppure -R) che serve a cancellare ricorsivamente le directory e le sottodirectory, l'equivalente in rmdir è

rmdir -p

dare il comando

CODICE
$ rmdir -p prova1/prova2


equivale a scrivere

CODICE
$ rmdir  prova1/prova2 prova1
.

rispetto a rm -d oppure rm -r (o -R) ha il vantaggio di poter rimuovere solo directory vuote, quindi è meno rischioso del suo "collega".

7c. chmod

chmod è un comando importantissimo per lavorare in linux da shell.

in windows, se l'utente pippo crea un file, l'utente topolino può leggerlo senza problemi. in linux non è detto che sia così. ogni file possiede una serie di permessi che dicono chi lo può leggere, scrivere o eseguire. nell'interfaccia grafica i permessi si trovano tra le proprietà del file, e sono rappresentati da nove caselle che possono essere spuntate a seconda di come si vuole impostare l'accesso al file. le nove caselle sono disposte su tre righe (proprietario, gruppo e altri) e tre colonne (lettura, scrittura ed esecuzione). in genere il proprietario del file (poniamo pippo) ha tutti i permessi (lettura-scrittura-esecuzione), o almeno quelli di lettura e scrittura (se il file non è un eseguibile non ha senso avere i permessi di esecuzione. per quanto riguarda i membri del gruppo (ogni utente ha un gruppo col proprio nome di cui è di default "membro unico"; comunque, ai gruppi si possono aggiungere anche altri utenti ed è possibile creare nuovi gruppi) e gli altri si può decidere di limitare in qualche modo l'utilizzo del file (magari vietando scrittura e/o esecuzione o precludendo del tutto l'accesso).

in forma testuale ci sono due modi per impostare i permessi.

il primo sistema è "alfabetico". sempre nella linguetta "permessi" delle proprietà del file dovrebbe esserci un'indicazione "simbolici", del tipo -rwxrwxrwx. il trattino all'inizio indica che ciò su cui stiamo lavorando è un file normale (le directory al posto del trattino hanno una d). il primo gruppo di lettere indica i permessi del proprietario, il secondo quelli del gruppo, il terzo quelli degli altri. le lettere hanno i seguenti significati:

r indica permesso di lettura
w indica permesso di scrittura
x indica permesso di esecuzione

se ho un file con permessi -rwx------ posso dare il comando

CODICE
$ chmod g+r file


per dare al gruppo permesso di lettura oppure

CODICE
$ chmod o+rw file


per dare agli altri i permessi di lettura e scrittura (i permessi non sono "cumulativi", quindi il permesso di scrittura non include automaticamente quello di lettura; se si dà solo permesso di scrittura senza dare quello di lettura sarà come non aver dato nulla)

se invece ho un file con permessi -rwxr-xr-x e voglio poterlo eseguire solo io, dovrò dare

CODICE
$ chmod go-x file


i membri del gruppo e gli altri potranno leggere il file, ma solo il proprietario potrà scriverlo o eseguirlo.

il secondo sistema invece è numerico. i valori base sono:
0 = nessun permesso
1 = permesso di esecuzione
2 = permesso di scrittura
4 = permesso di lettura

sommando questi valori si può avere il corrispettivo numerico dei permessi di un file. quindi il file del primo esempio "alfabetico" (quello che aveva permessi -rwx------) avrebbe permessi 700, mentre quello del secondo esempio (-rwxr-xr-x) sarebbe 755.

il comando corrispondente a

CODICE
$ chmod g+r file


sarebbe

CODICE
$ chmod 740 file


, quello corrispondente a

CODICE
$ chmod go-x file


sarebbe

CODICE
$ chmod 711 file
.
 
Top
95 replies since 21/12/2006, 00:03   1180 views
  Share