Quand dois-je utiliser des liens durs par opposition aux liens logiciels?

10

Je suis sur le point de commencer à jouer, mklinkmais j'essaie toujours d'avoir une vraie prise sur toute cette chose "symlink". En particulier, j'ai remarqué qu'il existe deux types de liens - "liens souples" et "liens durs" - mais j'ai du mal à vraiment comprendre la différence entre les deux, ou pourquoi je devrais préférer l'un à l'autre pour tout cas d'utilisation donné.

Le maximum que j'ai pu glaner jusqu'à présent est le suivant:

  • Les liens logiciels sont traités comme des pointeurs vers le fichier / dossier cible.
  • Les liens matériels sont traités comme s'ils étaient en fait le fichier / dossier cible.

Qu'est-ce que cela signifie vraiment en termes de traitement des liens par le système d'exploitation et les applications? Quels facteurs faut-il peser pour décider d'utiliser l'un ou l'autre?

Le cas d'utilisation actuel que j'ai est pour obtenir SkyDrive pour synchroniser les fichiers / dossiers qui sont en dehors du répertoire SkyDrive réel . Cependant, je préférerais que les réponses puissent également inclure des directives générales pour référence future.

Iszi
la source

Réponses:

6

Il est possible d'avoir des liens souples pendants, car un lien souple est un pointeur vers un fichier.

Il n'est pas possible d'avoir des liens physiques pendants. Chaque fichier a au moins un lien physique, c'est-à-dire une entrée de répertoire dans le système de fichiers. Ainsi, si vous créez un fichier, puis un lien dur vers celui-ci, puis supprimez le fichier d'origine, le lien dur ne sera pas affecté.

Pour cette raison, les liens physiques peuvent vous faire croire que lorsque vous avez supprimé un fichier, il a vraiment disparu, bien que, sauf si vous supprimez TOUS les liens physiques, le fichier existera toujours. La plupart du temps, vous souhaitez utiliser des liens logiciels, sauf si vous souhaitez profiter de cet aspect spécifique des liens physiques.

LawrenceC
la source
Ainsi, une interprétation métaphorique appropriée serait qu'un lien logiciel n'est qu'un raccourci de fichier alors qu'un lien matériel est une copie synchronisée du fichier?
Iszi
Eh bien ... gardez à l'esprit qu'un lien physique ne fait pas vraiment une copie supplémentaire des données du fichier. C'est une autre entrée du répertoire physique. Donc, deux liens physiques vers un fichier ne changeront pas beaucoup l'espace disque utilisé.
LawrenceC
Si vous maîtrisez les concepts de programmation, pensez à un lien souple comme un pointeur traditionnel et à un lien dur comme un pointeur (intelligent) compté par référence.
paddy