web-dev-qa-db-fr.com

Quelle est la différence entre un lien mou (symbolique) et une liaison matérielle?

J'entends que vous pouvez maintenant créer des liens doux dans Vista aussi . Donc, quelle est la différence entre un lien mou (symbolique) et un lien dur sur UNIX/Linux/Vista?

Y a-t-il des avantages d'utiliser un sur l'autre? Ou desservent-ils seulement deux objectifs distincts?

59
Aaron K

Un lien dur partage traditionnellement les mêmes structures de système de fichiers (INODE dans UNXSPECK), tandis qu'une liaison logicielle est une redirection de chemin d'accès.

  • Les lignes hardlinks doivent figurer sur le même système de fichiers, Softlinks peut croiser des systèmes de fichiers.
  • Les fichiers hardlinked restent liés même si vous vous déplacez l'un ou l'autre (sauf si vous déplacez un sur un autre système de fichiers déclenchant le mécanisme de copie et de suppression). Les fichiers softlinked cassent si vous déplacez la cible (originale) et parfois lorsque vous déplacez le lien (avez-vous utilisé un chemin absolu ou relatif? Est-ce toujours valide?).
  • Les fichiers hardlinked sont co-égaux, tandis que l'original est spécial dans Softlinks et la suppression de l'original supprime les données. Les données ne disparaissent pas avant tous sont supprimés.
  • Les softlinks peuvent pointer sur toute cible , mais la plupart des systèmes d'exploitation/systèmes de fichiers interdisent les répertoires de haute définition pour empêcher les cycles dans le graphique du système de fichiers (à l'exception de la . et .. Entrées dans des annuaires UNIX qui sont des liens durs).
  • Les softlinks peuvent nécessiter une prise en charge spéciale des outils de marche des systèmes de fichiers. Lisez sur readlink (2) .

(Certains détails ramenés à l'esprit par MAT1T . Merci.)

Le résumé est qu'un lien symbolique/abrégé agit comme un raccourci vers le premier emplacement du fichier, alors qu'un HardLink est un raccourci vers le fichier sur le disque.

Si vous supprimez la cible d'un lien logiciel, le lien Soft cessera de fonctionner, mais si vous supprimez une copie d'une liaison matérielle, le fichier restera sur le disque jusqu'à ce que tous les liens durs soient supprimés. En effet, tous les noms de fichiers sont des hardlinks dans le fichier sur le disque.

Il existe également certaines restrictions, par exemple, je ne pense pas que vous puissiez créer des liens durs des dossiers, mais vous pouvez créer des liens doux d'entre eux. Les liens soft peuvent également indiquer des fichiers/des dossiers sur différents lecteurs et partitions, tandis que les liens durs ne peuvent pas.

10
Matthew Steeples