Este artículo necesita citas adicionales para su verificación . ( mayo de 2010 ) |
Este artículo incluye una lista de referencias generales , pero carece de suficientes citas en línea correspondientes . ( Abril de 2009 ) |
Código de tipo | Alisado |
---|---|
Identificador de tipo uniforme (UTI) | archivo com.apple.alias |
Número mágico | 'book\0\0\0\0mark\0\0\0\0' |
Desarrollado por | Apple, Inc. |
Tipo de formato | atajo |
En el sistema operativo Mac OS 7 clásico y posteriores, y en macOS , un alias es un archivo pequeño que representa otro objeto en un sistema de archivos local, remoto o extraíble [1] y proporciona un enlace dinámico a él; el objeto de destino se puede mover o renombrar, y el alias seguirá vinculándose a él (a menos que se vuelva a crear el archivo original; un alias de este tipo es ambiguo y la forma en que se resuelve depende de la versión de macOS). En Windows, un "acceso directo" , un archivo con una extensión .lnk, realiza una función similar.
Es similar al enlace simbólico de Unix , pero con la distinción de funcionar incluso si el archivo de destino se mueve a otra ubicación en el mismo disco (en este caso actúa como un enlace duro , pero el origen y el destino del enlace pueden estar en diferentes sistemas de archivos, y el destino del enlace puede ser un directorio). Como descendiente de BSD , macOS también admite enlaces simbólicos (y duros) de Unix.
Un alias actúa como un sustituto de cualquier objeto en el sistema de archivos, como un documento , una aplicación , una carpeta , un disco duro , un recurso compartido de red o un medio extraíble o una impresora . Cuando se hace doble clic, la computadora actuará de la misma manera que si se hubiera hecho doble clic en el archivo original. Del mismo modo, elegir un archivo de alias desde un cuadro de diálogo "Abrir archivo" abriría el archivo original. El propósito de un alias es ayudar al usuario a administrar grandes cantidades de archivos al proporcionar formas alternativas de acceder a ellos sin tener que copiar los archivos en sí. Si bien un alias típico en el Mac OS clásico era pequeño, entre 1 y 5 KB, en macOS puede ser bastante grande, más de 5 MB (5000 KB) para el alias de una carpeta.
Un alias es una referencia dinámica a un objeto. El original puede ser movido a otro lugar dentro del mismo sistema de archivos , sin romper el vínculo. El sistema operativo almacena varios datos sobre el original en la bifurcación de recursos del archivo de alias. Algunos ejemplos de la información utilizada para localizar el original son:
Dado que cualquiera de estas propiedades puede cambiar sin que el ordenador lo sepa, como resultado de la actividad del usuario, se utilizan varios algoritmos de búsqueda para encontrar el objetivo más plausible. Esta tolerancia a fallos distingue al alias de funciones similares en otros sistemas operativos, como el enlace simbólico de Unix o el acceso directo de Microsoft Windows , a costa de una mayor complejidad e imprevisibilidad. Por ejemplo, una aplicación se puede mover de un directorio a otro dentro del mismo sistema de archivos, pero un alias existente seguiría ejecutando la misma aplicación al hacer doble clic.
Puede surgir la pregunta de cómo debería funcionar un alias si se mueve un archivo y luego se crea un archivo con el mismo nombre que el archivo movido original, ya que el alias se puede usar para localizar tanto el nombre original como la nueva ubicación del archivo original. Con los enlaces simbólicos, la referencia es inequívoca (los enlaces simbólicos se refieren al nuevo archivo, los enlaces físicos al original). Sin embargo, antes de Mac OS X 10.2, un alias tan ambiguo encontraría consistentemente el archivo movido original, en lugar del archivo recreado. En Mac OS X 10.2 y versiones posteriores, se encuentra el nuevo archivo, coincidiendo con el comportamiento de los enlaces simbólicos [1]. Las aplicaciones macOS pueden usar programáticamente el comportamiento anterior si es necesario.
Los alias funcionan de manera similar a las sombras en el Workplace Shell gráfico del sistema operativo OS/2 .
En el sistema operativo 7 y Mac OS 9 , los alias se distinguían visualmente para el usuario por el hecho de que sus nombres de archivo estaban en cursiva. Para adaptarse a los idiomas que no tienen cursiva (como el japonés ), en Mac OS 8.5 se agregó otra marca distintiva, una "flecha de alias" (una flecha negra con un pequeño borde blanco) similar a la que se usa para los accesos directos en Microsoft Windows.
En macOS , los nombres de archivo de los alias no están en cursiva, pero la insignia de flecha permanece.
Los archivos de alias en macOS comienzan con el número mágico 62 6F 6F 6B 00 00 00 00 6D 61 72 6B 00 00 00 00
que está en ASCII book␀␀␀␀mark␀␀␀␀
( ␀ representa el carácter nulo ).
Siguiendo el número mágico, se ha informado que un alias tiene un conjunto de registros dentro de él, cada registro tiene 150 bytes de longitud y consta de los campos que se muestran a continuación (todos los números enteros son big endian). [2] Sin embargo, los archivos de alias son mucho más grandes de lo que esto explicaría e incluyen otra información, incluidos al menos íconos. [3] [4]
Lo siguiente es para utilizar con el Administrador de recursos de alias de Apple.
Código Java para marcar un archivo alias
// Esta función comprueba si un archivo coincide con el número mágico del alias. public static boolean checkForMacAliasFile ( File inputFile ) throws FileNotFoundException , IOException { // Solo los archivos pueden ser alias. // No pruebe los directorios; serán falsos. if ( inputFile . isFile ()) { byte [] bookmark = new byte [] { 0x62 , 0x6F , 0x6F , 0x6B , 0x00 , 0x00 , 0x00 , 0x00 , 0x6D , 0x61 , 0x72 , 0x6B , 0x00 , 0x00 , 0x00 , 0x00 }; long length = inputFile . length (); if ( length > 16 ) { byte [] result = new byte [ 16 ] ; FileInputStream fis = new FileInputStream ( inputFile ); fis . read ( result ); fis . close (); return Arrays . es igual a ( resultado , marcador ); } } devuelve falso ; }
Hay un repositorio de Github con código C++ funcional aquí.
En System 7, la única forma de crear un alias era seleccionar el original y elegir "Crear alias" en el menú "Archivo". Luego se creaba un alias con el mismo nombre y la palabra "alias" adjuntada en la misma carpeta. En versiones posteriores, fue posible crear alias mediante la función de arrastrar y soltar , mientras se mantenían presionadas las teclas modificadoras de comando y opción.
Mac OS 8.5 agregó una función para volver a conectar alias que se habían roto por una razón u otra (cuando los algoritmos de búsqueda simple no pudieron encontrar un reemplazo confiable). Esto se hizo seleccionando un nuevo destino a través del cuadro de diálogo Abrir archivo estándar.
En Mac OS 8.5 se agregaron opciones para arrastrar un objeto en el Finder con el comando - opción para crear un alias en esa ubicación. Aquí es donde se agregó el cursor de alias al sistema. El cursor refleja la apariencia del cursor de "crear acceso directo" en los sistemas Windows.
La API de Alias Manager es parte de Carbon que permite a los desarrolladores crear alias y acceder al archivo con alias. [5]
Mac OS X 10.6 introdujo la API de marcadores en Cocoa como un conjunto de métodos NSURL
y funciones para CFURL
. [6] [7] En Mac OS X 10.7.3 , la API se mejoró para App Sandbox con marcadores con alcance de seguridad, que agregan permisos de seguridad a los alias por aplicación o por documento. [8]
En Mac OS X 10.8, la API de Alias Manager quedó oficialmente obsoleta en favor de la API de Marcadores. [5]
Unix y sistemas operativos similares ofrecen dos características muy similares a los alias de macOS: enlaces simbólicos y enlaces físicos . Al utilizar el Finder de macOS, los enlaces se muestran y se tratan en gran medida como alias de macOS, e incluso llevan un atributo "Kind" idéntico. Sin embargo, al utilizar la línea de comandos del shell, los alias de macOS no se reconocen: por ejemplo, no se puede utilizar el comando cd con el nombre de un archivo de alias. Esto se debe a que un alias se implementa como un archivo en el disco que debe ser interpretado por una API, mientras que los enlaces se implementan dentro del sistema de archivos y, por lo tanto, son funcionales en cualquier nivel del sistema operativo.
Actualmente no existe ningún comando preinstalado para resolver un alias en la ruta del archivo o directorio al que hace referencia. Sin embargo, un programa C disponible de forma gratuita utiliza las API de Carbon para Mac para realizar esta tarea. [9] En vista de ello, se pueden configurar comandos como cd para comprobar si hay alias y tratarlos como enlaces simbólicos o físicos.