Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/12/2012, 09:18
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Enlaces duros

Bueno, por un lado está la opción -samefile de find, que podrías probar con cada archivo de la carpeta:
Código BASH:
Ver original
  1. find . -samefile archivo1

Por otro, algo más manual: lo que te interesa saber es qué archivos en la carpeta apuntan al mismo inodo. El programa ls te puede dar información sobre qué archivos son enlaces, viendo el segundo campo de la salida de ls -l.
Este campo representa justamente la cantidad de enlaces de un archivo, es 1 para la mayoría de los archivos normales y 2 para la mayoría de las carpetas sin subcarpetas (un enlace sería el nombre, y otro el directorio especial '.').
Para los directorios con subdirectorios, como cada directorio hijo contiene el enlace '..', el número en este campo es 2+$NUM_SUBDIRECTORIOS.
El programa stat puede mostrarte el número de inodo de un archivo
Código BASH:
Ver original
  1. stat -c "%i" archivo
por lo que podrías fácilmente comparar entre sí los archivos para los cuales ls te muestra un número de enlaces mayor que 1.

Bueno, en realidad podrías filtrar los archivos con más de un enlace y usar aplicar find -samefile a cada uno, quizás eso sea más simple.


Saludos