3 581
contributi
m (→Ricerca di file nel sistema: prompt) |
|||
Riga 406: | Riga 406: | ||
== Creare un collegamento == | == Creare un collegamento == | ||
Un collegamento è un particolare tipo di file che non è altro che un rimando ad un altro file o directory. Per creare un collegamento tra file o directory si deve usare il comando <code>ln</code>. | Un collegamento è un particolare tipo di file che non è altro che un rimando ad un altro file o directory. Per creare un collegamento tra file o directory si deve usare il comando <code>ln</code>, di solito con l'opzione <code>-s</code> per creare link simbolici. | ||
<pre> | <pre> | ||
ln -s <file da collegare> <nome del link> | ln -s <file da collegare> <nome del link> | ||
Riga 412: | Riga 412: | ||
Supponiamo di avere il file testo.txt nella nostra home e di voler creare un collegamento in <code>usr/bin</code> chiamato "mylink.txt". Scriverò: | Supponiamo di avere il file testo.txt nella nostra home e di voler creare un collegamento in <code>usr/bin</code> chiamato "mylink.txt". Scriverò: | ||
<pre> | <pre> | ||
ln -s | ln -s testo.txt mylink.txt | ||
</pre> | </pre> | ||
Su Linux esistono due tipi di collegamenti: Hard link e Symbolic link. | Su Linux esistono due tipi di collegamenti: Hard link e Symbolic link. | ||
=== Hard Link === | === Hard Link === | ||
Sono di fatto una copia di una voce di directory, hanno nomi diversi ma puntano allo stesso inode e quindi condividono esattamente lo stesso dato (oltre agli stessi permessi, data di modifica, owner ecc.). | Sono di fatto una copia di una voce di directory, hanno nomi diversi ma puntano allo stesso inode e quindi condividono esattamente lo stesso dato (oltre agli stessi permessi, data di modifica, owner ecc.). Non c'è modo di distinguere l'originale dal link perché sono la stessa cosa: e per cancellare il file dal file system è necessario eliminare tutti gli hard-link associati allo stesso inode. | ||
Sono permessi soltanto per file regolari, non per directory, e soltanto se i file risiedono sullo stesso file system, se li supporta. Sono supportati da ext2/3/4. | |||
=== SymLink === | === SymLink === | ||
Sono dei piccoli file che contengono un puntamento ad altri file o directory. Questi file hanno i-node autonomo e possono puntare a file di altri file system (sia locali, che di rete). Si possono facilmente visualizzare con un normale ls -l e se viene cancellato o spostato il file a cui puntano rimangono "stale": continuano ad esistere ma puntano a qualcosa che non esiste. | Sono dei piccoli file che contengono un puntamento ad altri file regolari o directory. Questi file hanno i-node autonomo e possono puntare a file di altri file system (sia locali, che di rete). Si possono facilmente visualizzare con un normale ls -l e se viene cancellato o spostato il file a cui puntano rimangono "stale": continuano ad esistere ma puntano a qualcosa che non esiste. | ||
<br/> | <br/> | ||
Un symlink appare come avente tutti i permessi aperti a tutti gli utenti, di fatto è trasparente rispetto a permessi e ownership e riflette quelli del file o directory a cui punta. | Un symlink appare come avente tutti i permessi aperti a tutti gli utenti, di fatto è trasparente rispetto a permessi e ownership e riflette quelli del file o directory a cui punta. | ||
Se il file originale è cancellato, o anche solo spostato, l'esistenza di un link simbolico diviene inutile, non è intercambiabile come per gli hard-link. Infatti mentre l'hard-link punta allo stesso inode, un link simbolico punta al percorso del file originale, e nient'altro. | |||
In genere, per prevenire problemi e salvo si necessiti di conservare una copia dell'inode, è quasi sempre consigliabile ricorrere a link simbolici. | |||
== Cambiare i permessi di lettura, scrittura ed esecuzione == | == Cambiare i permessi di lettura, scrittura ed esecuzione == |
contributi