¿Es un enlace simbólico / suave similar a un acceso directo / alias en un escritorio?

19

Me parece que la idea básica de enlaces simbólicos / suaves en comparación con los accesos directos (en una PC) o los alias (en una Mac) son lo mismo. ¿Estoy lejos? Son similares?

Marty
fuente

Respuestas:

14

La idea básica es casi la misma. Un enlace simbólico es un archivo especial que contiene una ruta (relativa o absoluta) a otro objeto del sistema de archivos. En UNIX / Linux, el sistema operativo mismo procesa el enlace simbólico, resolviendo el objeto real de manera transparente.

En Mac, un alias parece ser una construcción especial de Finder que puede hacer referencia a objetos remotos y locales, pero Finder resuelve la referencia, no el sistema operativo. MacOS X también tiene enlaces simbólicos, pero están separados de los alias.

La gran diferencia es entre un acceso directo de Windows y un enlace simbólico. Un acceso directo de Windows no puede reemplazar fácilmente un programa porque Windows siempre tiene que tener estas molestas extensiones de archivo y un archivo "lnk" no es ejecutable cuando se trata de Windows. Dentro de la GUI, funciona, pero desde el punto de vista del servidor, irrita. Lo mismo con un directorio. Son útiles, pero no tienen el poder y la flexibilidad de un enlace simbólico.

Arcege
fuente
"Lo mismo con un directorio": ¿Quiere decir que uno no puede cd en un enlace simbólico que apunta a un directorio?
dash17291
2
Lo que significa que no puede cd a un acceso directo en un sistema Windows ya que es una construcción de Windows, no DOS. Con UNIX / Linux, es una construcción de sistema de archivos, por lo que funcionará en cualquier lugar, incluido el cdcomando: depende del comando interpretar el punto final, no el sistema operativo. Por ejemplo, cdpodría usar un enlace simbólico a un directorio, pero fallaría correctamente en un enlace simbólico a un archivo normal.
Arcege
7

Realmente no. Hay un parecido, pero solo hasta cierto punto. He conocido a personas que piensan "ok, los enlaces simbólicos son como accesos directos, pero no los entiendo" hasta el punto en que dijeron "oh, en realidad los enlaces simbólicos no son como accesos directos, y ahora los entiendo". Por lo tanto, creo que los accesos directos no son una buena manera de comprender los enlaces simbólicos y recomiendo aclarar su mente de la comparación con los accesos directos.

Un enlace simbólico indica el nombre de otro archivo. Ese es "nombre" como en la ruta completa, es decir, que potencialmente incluye una parte del directorio, así como el nombre dentro del directorio. La ruta puede ser absoluta ( /foo/bar) o relativa ( foo/baro ../baro simplemente bar); Si el objetivo viene dado por una ruta relativa, se interpreta en relación con el directorio que contiene el enlace simbólico. El archivo de destino puede o no existir, y eliminar, mover o crear el archivo de destino no afectará el enlace simbólico.

Las operaciones que actúan sobre el contenido del archivo actúan sobre el archivo de destino. Por lo tanto, cuando lee o escribe en un archivo a través de un enlace simbólico, o ejecuta un programa a través de un enlace simbólico, es como si estuviera accediendo al archivo de destino. Las operaciones que actúan en un archivo desde el exterior, como renombrar o eliminar, actúan sobre el enlace simbólico mismo. Tenga en cuenta que para escribir, hace una diferencia si sobrescribe el archivo existente (que actuará en el destino) o si elimina el archivo existente y crea un nuevo archivo (que dejará el destino intacto y creará un nuevo archivo reemplazando el enlace simbólico, a menos que la aplicación se encarga de seguir el enlace (muchos lo hacen)).

Gilles 'SO- deja de ser malvado'
fuente
1
Un enlace simbólico no siempre constituye una ruta completa: en mi sistema Slackware 13.1, /usr/lib/libXv.so es un enlace simbólico a libXv.so.1.0.0. No hay camino completo allí.
Bruce Ediger