Les liens symboliques ne fonctionne pas lorsque le lien est fait dans un autre répertoire?
Wow, je n'ai jamais vraiment utilisé les liens symboliques que beaucoup avant, mais c'est vraiment ahurissant:
bash-3.2$ echo "weird" > original.txt
bash-3.2$ mkdir originals
bash-3.2$ mv original.txt originals/
bash-3.2$ cat originals/original.txt
weird
bash-3.2$ mkdir copies
bash-3.2$ ln -s originals/original.txt copies/copy.txt
bash-3.2$ cat copies/copy.txt
cat: copies/copy.txt: No such file or directory
bash-3.2$ ls copies/copy.txt
copies/copy.txt
bash-3.2$ ls -l copies/copy.txt
lrwxr-xr-x 1 zach staff 22 Dec 22 01:23 copies/copy.txt -> originals/original.txt
bash-3.2$ cat originals/original.txt
weird
bash-3.2$ cat copies/copy.txt
cat: copies/copy.txt: No such file or directory
bash-3.2$ cd copies/
bash-3.2$ cat copy.txt
cat: copy.txt: No such file or directory
Pourquoi ne puis-je pas chat le lien symbolique dans le répertoire des copies?
Si je fais le lien symbolique à partir de l'intérieur de l'copies/, je peux le chat c'est très bien. Si je fais le lien symbolique dans le répertoire courant, je peux aussi le chat c'est très bien. Si je fais le lien symbolique dans le répertoire courant, puis le déplacer copies/, j'obtiens "copies/copy.txt: No such file or directory".
OriginalL'auteur user225643 | 2011-12-22
Vous devez vous connecter pour publier un commentaire.
Si vous créez un chemin d'accès relatif à un lien symbolique, il sera stocké comme un lien symbolique. Les liens symboliques sont relatifs à l'emplacement le lien est dans, pas l'emplacement où il a été créé ou ouvert.
Veuillez utiliser le chemin d'accès absolu ou le chemin d'accès relatif au lien.
Changement:
:
OriginalL'auteur kev
Vous pouvez également utiliser un chemin relatif pour atteindre cet objectif.
comme
Cela fonctionne
lorsque vous ouvrez le lien symbolique qui il essaie de consulter le fichier de la copie de répertoire et, depuis, n'existe pas, vous obtenez cette erreur.
Lorsque vous utilisez le chemin relatif ou absolu ce problème va être résolu.
Avec un script, vous devriez aller pour le chemin d'accès absolu. Fixe, le répertoire qui contient les liens symboliques et ensuite de créer les liens se rapportant à l'un fichier dans le répertoire
Tous les liens symboliques sont relatifs au répertoire le lien est dans. Il n'est pas nécessaire qu'un lien doit pointer vers un fichier existant lors de la création (comme vous l'avez trouvé). Le choix de lien relatif ou absolu ne doit PAS être faite sur la difficulté de faire le lien, mais si vous voulez un lien relatif ou absolu. Rappelez-vous que le déplacement d'un lien relatif après qu'il a été créé modifie le chemin d'accès absolu du fichier de points. Voir ici pour la conversion: stackoverflow.com/questions/2564634/...
Ce doit être la meilleure réponse. Si vous utilisez git, vous chemin absolu ne fonctionnera pas. Le truc à ajouter le chemin vous avec un point ".", signifiant "vous position actuelle" ou un point double "..", qui signifie "seul répertoire.
OriginalL'auteur Raghuram
Considérons un exemple où vous voulez symlink votre application se connecte à un autre endroit qui peut être un répertoire, qui est monté à un répertoire secondaire dont la taille ne sera pas l'effet de votre serveur d'arrêter de travailler. Maintenant, le répertoire monté sera la cible pour vous et vous devez créer un lien symbolique vers ce répertoire de votre répertoire de journaux.
Supposons que le répertoire de votre application est /home/ubuntu/my_app et une fois que vous démarrez votre application, il va générer un répertoire des journaux à l'intérieur de votre my_app répertoire. Maintenant, le but est de détourner l'utilisation du disque à la charge du répertoire monté et actuellement n'ont pas notre répertoire des journaux présents dans notre répertoire app. Alors allez-y et suivez les étapes ci-dessous:
Ce sera d'abord créer un répertoire portant le nom du journal dans la montée de la section et de la carte de votre application se connecte à ce répertoire. Tous les fichiers que vous ajoutez dans le journal d'application dossier sera lié au répertoire monté automatiquement et donc vous pouvez lire ces fichiers bof, n'importe où vous le souhaitez, soit à partir de l'original répertoire de journaux ou à partir du dossier monté.
OriginalL'auteur Prasad Kudalkar