Foros del Web » Administración de Sistemas » Unix / Linux »

Enlaces duros

Estas en el tema de Enlaces duros en el foro de Unix / Linux en Foros del Web. De antemano gracias.. Necesito su colaboracion para resolver esta duda... Estoy haciendo un script en shell para listar los enlaces fuertes dentro de un directorio, ...
  #1 (permalink)  
Antiguo 26/12/2012, 20:41
Avatar de tavomestra22  
Fecha de Ingreso: octubre-2010
Ubicación: Colombia
Mensajes: 21
Antigüedad: 14 años, 1 mes
Puntos: 0
Enlaces duros

De antemano gracias..

Necesito su colaboracion para resolver esta duda...

Estoy haciendo un script en shell para listar los enlaces fuertes dentro de un directorio, partiendo del hecho que el enlace duro y el archivo orginal estan en la misma carpeta...

entonces quiero listar los enlaces duro solamente, osea necesito saber si hay alguna forma de difenciar un enlace duro del archivo original....

Última edición por tavomestra22; 26/12/2012 a las 20:43 Razón: correcion
  #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

Etiquetas: duros, enlaces, links
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:15.