Windows XP et les versions ultérieures prennent en charge les liens symboliques. Pourtant, Windows continue à utiliser des fichiers de raccourcis (qui stockent essentiellement l'emplacement du fichier lié sous forme de texte). Pourquoi ?
Réponses
Trop de publicités?Un certain nombre de raisons, je suppose
- Vous pouvez stocker différents niveaux de compatibilité contre plusieurs raccourcis différents du même EXE car ils sont interprétés par le Shell, plutôt que par le système de fichiers.
- Certains liens de raccourci n'existent pas réellement sur le système de fichiers. Certains d'entre eux sont simplement des références à des GUIDs, ou des chaînes spéciales interprétées par le Shell.
- Vous ne pouvez pas inclure de commutateurs dans un lien symbolique. Vous pouvez pointer vers l'EXE, bien sûr, mais vous ne pouvez pas lui donner d'autres arguments.
- Vous ne pouvez pas choisir une icône pour un lien symbolique.
- Vous ne pouvez pas choisir le répertoire à partir duquel travailler dans un lien symbolique.
- Les fichiers de raccourcis ne doivent pas seulement pointer vers des fichiers, ils peuvent être des hyperliens ou des liens de protocole (dans le cas d'un fichier .URL).
- Les fichiers LNK peuvent exister sur n'importe quel système de fichiers. Les liens symboliques sont gérés par le système de fichiers lui-même, dans le cas de Windows, NTFS.
- Il n'y a pas vraiment besoin de les remplacer. Ils fonctionnent, ils sont minuscules, ils peuvent être mis à l'échelle dans le futur si jamais il y a un besoin d'ajouter plus de fonctionnalités que celles listées ci-dessus.
- Des droits d'administration sont nécessaires pour créer un lien symbolique (pour une bonne raison - sinon la redirection de fichiers innocents vers des fichiers malveillants peut être exécutée avec très peu de travail).
Il y aura d'autres raisons, mais je pense que c'est suffisant pour vous permettre de commencer :) - Il y a un lien fourni par @grawity aquí qui vous permettra d'approfondir certaines parties de ce sujet.
Un lien symbolique n'est rien de plus qu'un chemin d'accès enveloppé dans une très petite quantité de magie du système de fichiers. Il peut devenir invalide (" cassé ") de plusieurs façons, la plupart impliquant qu'un ou plusieurs fichiers ou répertoires soient renommés. Windows étant un logiciel grand public, il se peut qu'un grand nombre de programmes très mal conçus soient exécutés sur une installation "typique". Par conséquent, ce type de rupture est beaucoup plus difficile à éviter que sur un serveur où (en théorie) chaque programme qui touche le disque est une quantité connue.
Les raccourcis sont immunisé contre la plupart des formes de cassure puisqu'ils suivent leurs cibles indépendamment de la trajectoire. Cela les rend plus conviviaux. Ils sont spécifiquement conçus pour les consommateurs, avec une approche du type "faites ce que je veux et ne m'embêtez pas avec les détails".
Maintenant, vous pouvez utiliser des liens durs pour cela (dans une certaine mesure), mais les liens durs ont un certain nombre d'inconvénients. propriétés complexes qui les rendent impropres à l'utilisation par les consommateurs. En particulier, les fichiers obtiennent de nouveaux numéros d'inode beaucoup trop facilement et certains logiciels de sauvegarde se cassent de manière plutôt spectaculaire lorsqu'ils sont confrontés à des liens durs. Le premier point pourrait (peut-être) être résolu avec tunnelisation du système de fichiers (ce qui est en fait la façon dont les raccourcis résolvent un problème connexe), mais ce dernier est un problème beaucoup plus difficile.
(Je devrais probablement aussi noter que "résoudre" les liens durs avec le tunneling n'est décidément pas trivial puisqu'il ne s'agit pas simplement de rattacher les métadonnées qui se sont "perdues". Les inodes sont liés au schéma d'allocation des disques, donc vous ne pouvez pas les fusionner ou les réassigner arbitrairement après coup sans un certain travail de préparation. Puisque les raccourcis utilisent d'autres métadonnées qui peuvent être facilement tunnelisées, comme l'heure de création, ils n'ont pas ce problème).