Un alias contient deux informations: un identifiant unique du fichier auquel il est lié et le chemin et le nom du fichier auquel il est lié.
Si vous renommez ou déplacez un fichier, puis créez un nouveau fichier avec le chemin d'accès et le nom de fichier que le fichier avait à l'origine, alors tout alias lié au fichier d'origine est désormais lié au nouveau fichier.
Toutefois, si vous renommez ou déplacez un fichier sans le remplacer, puis appelez un alias, l'alias est mis à jour pour pointer vers le nouveau chemin d'accès et le nouveau nom de fichier, en utilisant pour cela l'identifiant unique.
Un lien symbolique, d'autre part, ne contient pas d'identifiant unique à un fichier et apparaîtra comme rompu si le fichier est renommé ou déplacé et non remplacé par un fichier du même chemin d'accès et du même nom de fichier.
Votre choix doit dépendre du scénario qui vous convient le mieux.
Une autre différence est que les outils de ligne de commande (c'est-à-dire tout ce qui utilise les API de fichiers Posix) ne comprendront pas les alias, juste les liens symboliques. Les deux fonctionneront pour les applications GUI.
Gordon Davisson
Comme je poste dans ce post ( apple.stackexchange.com/questions/2992/… ), j'ai constaté que l'action de l'automate ne fonctionne pas avec le lien, mais avec l'alias.
prosseek
@sentinal, vous devez également ajouter les liens
physiques
1
Notamment, Spotlight n'indexera pas de lien symbolique. Il
indexera
2
Je suis assez confus par la réponse de la sentinelle create a new file with the path and filename that the file originally had. C'est aussi abrupt, pourquoi voulez-vous faire ça?
Eh bien, si vous comprenez pourquoi et comment l'alias fonctionne sur l'utilisation de l'UID et du chemin d'accès au fichier (alors que le lien symbolique ne fonctionne que sur le chemin d'accès), vous pouvez comprendre la différence et la réponse très votée plus facilement.
Sur les systèmes de fichiers HFS et HFS +, chaque fichier et dossier a un identifiant unique et persistant. Les alias utilisent cette identité ainsi que les informations de chemin pour rechercher des fichiers et des dossiers sur le même volume.
À partir de Mac OS X 10.2, les alias ont inversé cet ordre de recherche en utilisant le chemin d'accès en premier et l'identité unique en second. Cela signifie que si vous déplacez un fichier et le remplacez par un fichier portant le même nom, les alias du fichier d'origine pointent désormais vers le nouveau fichier. De même, si vous déplacez un fichier sur le même volume (sans le remplacer), les alias utilisent les informations d'identité uniques pour localiser le fichier.
Lorsqu'un fichier ou un dossier se déplace, l'alias peut mettre à jour ses informations de chemin ou ses informations d'identité uniques pour tenir compte de la modification. Si un fichier se déplace quelque part sur le même volume, l'alias met à jour son enregistrement interne avec les nouvelles informations de chemin d'accès du fichier. De même, si le fichier d'origine est remplacé par un fichier du même nom, mais avec une identité unique différente, l'alias met à jour son enregistrement interne avec l'identité unique du nouveau fichier. (résultat de create a new file with the path and filename that the file originally had)
Étant donné que les alias utilisent initialement un chemin d'accès au système de fichiers pour résoudre l'emplacement d'un fichier, ils offrent désormais un comportement similaire aux liens symboliques. Les liens symboliques reposent exclusivement sur les informations de chemin pour localiser un fichier. Si vous déplacez un fichier quelque part sur le même volume sans le remplacer, les liens symboliques vers le fichier se brisent alors que les alias ne le font pas. La seule façon de corriger un lien symbolique est de le supprimer et d'en créer un nouveau.
Cela semble être un commentaire sur une réponse et non une tentative de répondre à la question du PO. Pouvez-vous expliquer comment votre message répond à la question d'origine? Voir Comment répondre pour obtenir des conseils sur la rédaction de bonnes réponses. - De l'avis
fsb
J'ai répondu à la question d'OP en expliquant comment la recherche sur l'alias fonctionne sur Mac, c'est-à-dire comment le chemin vers le fichier et l'UID est utilisé dans une recherche. La réponse très votée a répondu à la différence mais n'a pas répondu pourquoi la différence est générée.
Je suis assez confus par la réponse de la sentinelle
create a new file with the path and filename that the file originally had
. C'est aussi abrupt, pourquoi voulez-vous faire ça?Eh bien, si vous comprenez pourquoi et comment l'alias fonctionne sur l'utilisation de l'UID et du chemin d'accès au fichier (alors que le lien symbolique ne fonctionne que sur le chemin d'accès), vous pouvez comprendre la différence et la réponse très votée plus facilement.
référence
la source