¿Cuándo se trata un enlace simbólico como aquello a lo que se vincula y como un enlace simbólico?

¿Cuándo se trata un enlace simbólico como aquello a lo que se vincula y como un enlace simbólico?

¿Cuándo se trata un enlace simbólico como aquello a lo que se vincula y como un enlace simbólico?

Un enlace simbólico puede vincular a un archivo de diferentes tipos. Por ejemplo, sea mylkun enlace simbólico que enlace a un directorio. Los dos siguientes harán cosas diferentes:

mv mylk ~

mv mylk/ ~

¿El hecho de que un símbolo sea tratado como lo que vincula o en sí mismo depende de lo que se espera que sea mediante un comando, o de cómo se especifica (independientemente del comando que utiliza el enlace)? Gracias.

Respuesta1

Un programa que actúa sobre el contenido de un archivo siempre actúa sobre el objetivo, no sobre el enlace simbólico, porque los enlaces simbólicos no tienen contenido propio.

Un programa que actúa sobre los metadatos de un archivo (marcas de tiempo, propietario, permisos,…) generalmente actúa sobre el objetivo, pero algunos programas tienen opciones para actuar sobre el enlace simbólico (por ejemplo, chown -h, touch -h,…).

Un programa que actúa sobre una entrada de directorio normalmente actúa sobre el enlace simbólico. Operaciones como cambiar el nombre y eliminar actúan sobre una entrada del directorio, sea cual sea. Hay llamadas al sistema separadas para acceder a los metadatos (incluido el tipo de archivo) de un archivo dependiendo de si el programa desea seguir enlaces simbólicos (stat) O no (lstat). Algunos programas que pueden actuar sobre cualquier tipo de entrada de directorio tienen opciones para indicarles que actúen sobre el objetivo en lugar del enlace cuando encuentran un enlace. Por ejemplo, muchas utilidades que atraviesan directorios de forma recursiva ( find,,, ...) actúan sobre enlaces simbólicos de forma predeterminada, pero siguen todos los enlaces simbólicos si pasa la opción y siguen los enlaces simbólicos en la línea de comando chown -R, pero no los enlaces simbólicos a los directorios encontrados durante recorrido recursivo si pasa la opción .cp -R-L-H

Si un nombre de archivo tiene una barra diagonal, esto obliga a que el nombre de archivo se interprete como un directorio.. Si el nombre es un enlace simbólico, se seguirá. Entonces mv mylk ~mueve lo que mylksea (enlace simbólico o no), mientras mv mylk/ ~mueve mylksi es un directorio, o el objetivo si mylkes un enlace simbólico a un directorio, y se queja si mylkno es ni un directorio ni un enlace simbólico a uno. Este comportamiento general

información relacionada