On Wed, Aug 26, 2009 at 09:34:07PM -0300, Guillermo Ibanez wrote: > Estimados, les comento un problema que tuve con el comando ln, quizás > me puedan echar algunas luces. > > Estoy trabajando con unos archivos c++ y, dado que soy muy > desordenado, he decidido valerme de ln para que el mismo archivo sea > accesible desde distintos directorios (se que ese no es el camino > indicado, pero no importa, no es el punto del mail). > > Básicamente, a un mismo archivo le hago links duros para evitar la > multiplicidad de versiones en distintos proyectos. > > Daba la casualidad que estaba editando un archivo en un directorio y > compilándolo (por desorden personal) en otro, pero al corregir los > errores con el editor de textos seguía dándome esos mismos errores en > el compilador. > > Me arriesgué, cerré el que estaba editando y lo abrí el del directorio > en que estaba compilando, encontrando que en efecto dicho archivo no > tenía realizados los cambios antes hechos. > > Yo entendìa que cuando, por ejemplo uno hace: > > ln archivoA archivoB > > tanto archivoA y archivoB eran dos entradas, de la misma jerarquía que > apuntaban a un mismo archivo físico (al que originalmente apuntaba > archivoA), pero después de esa experiencia comienzo a dudar.....
Es fácil de comprobar que es así usando la opción -i de ls: emili...@merlot:~$ touch archivoA emili...@merlot:~$ ls -i archivoA 318912 archivoA emili...@merlot:~$ ln -s archivoA archivoB emili...@merlot:~$ ls -i archivo* 318912 archivoA 318923 archivoB@ emili...@merlot:~$ ln -f archivoA archivoB emili...@merlot:~$ ls -i archivo* 318912 archivoA 318912 archivoB Como se vé, un link simbólico (-s) crea un archivo diferente (diferente inodo) en el filesystem. Sin embargo un link duro apunta al mismo inodo, por lo tanto al mismo contenido en disco. Más pistas: emili...@merlot:~$ ls -l > archivoA emili...@merlot:~$ md5sum archivoA 49091ca775856337b9138aa37e297a83 archivoA emili...@merlot:~$ md5sum archivoB 49091ca775856337b9138aa37e297a83 archivoB emili...@merlot:~$ ls -l >> archivoB emili...@merlot:~$ md5sum archivoB 567061a5c7f087d5d743b3dfb7360e06 archivoB emili...@merlot:~$ md5sum archivoA 567061a5c7f087d5d743b3dfb7360e06 archivoA por lo que archivoA y archivoB tienen siempre el mismo contenido. Saludos Emiliano _______________________________________________ Lugro mailing list [email protected] http://lugro.org.ar/mailman/listinfo/lugro
