2012-05-22 9 views

risposta

8

Dipende almeno in parte da cosa sono A e B. Se ti sposti tra i file system, l'inode sarà quasi certamente diverso.

Semplicemente rinominare il file sullo stesso sistema è più probabile che mantenga lo stesso inode semplicemente perché l'inode appartiene ai dati piuttosto che alla voce di directory e l'efficienza porterebbe a tale progettazione. Tuttavia, dipende dal file system e non è in alcun modo richiesto dagli standard.

Ad esempio, ci può essere un file system di versioni con il concetto di inode che ti dà un nuovo inode perché vuole tenere traccia della modifica del nome.

+0

Se siamo nello stesso file system, allora? – Luv

+1

@Luv - Trovo molto utile la spiegazione su [questa pagina] (http://teaching.idallen.com/dat2330/04f/notes/links_and_inodes.html). Una directory è semplicemente una mappatura da "nome" a "inode". Quindi un 'mv' che non ha bisogno di spostare fisicamente i dati sarà semplicemente un cambiamento in una voce di directory. Non un cambiamento in "inode". – ArjunShankar

+1

@paxdiablo - Questa è una buona risposta. Il tuo punto sulla versione dei file system è interessante. Sarebbe piuttosto costoso avere un comportamento corretto, ad esempio, se ci sono collegamenti reali che puntano al file che era 'mv'ed. – ArjunShankar

0

Dipende.

C'è un bell'esempio su this site che mostra che l'inode può rimanere lo stesso. Ma non farei affidamento su questo comportamento, dubito che sia specificato in qualsiasi standard.

Problemi correlati