$ mkdir -p exemple/test
$ cd exemple
$ touch fichier
$ ln -s * test
$ ls -l test
total 0
lrwxrwxrwx 1 gab gab 7 Dec 2112:00 fichier -> fichier
lrwxrwxrwx 1 gab gab 4 Dec 2112:00 test -> test
et ça produit effectivement des liens cassés. Au passage, tu noteras que tu as un lien cassé vers le répertoire lui-même, ce qui pourrait être un problème. Ça serait bien d'être plus précis sur le * pour éviter ça.
La raison de ton problème est que si la cible est un chemin relatif, ln produit un lien symbolique avec un chemin relatif. Avec tes arguments actuels, ln produit un lien symbolique vers des fichiers dans le dossier local, mais les fabrique dans un répertoire d'un autre niveau, et c'est le drame.
Je sais, c'est pas très clair, alors encore un peu de code:
$ mkdir -p exemple/test
$ cd exemple
$ touch fichier
$ ls ../fichier
ls: cannot access '../fichier': No such file or directory
$ ln -s ../fichier test
$ ls -l test/
total 0
lrwxrwxrwx 1 gab gab 10 Dec 2112:06 fichier -> ../fichier
Et là, c'est un lien pas cassé. Mais c'est pas une super méthode. Pour créer des liens relatifs corrects, tu peux aussi ajouter l'option -r de ln (que j'ai découvert en lisant le man pour te répondre ;) ), ou, ce que j'ai tendance à faire, appeler ln, mais depuis le répertoire de destination:
$ mkdir -p exemple/test
$ cd exemple
$ touch fichier
$ cdtest
$ ln -s ../fichier .
$ ls -l
total 0
lrwxrwxrwx 1 gab gab 10 Dec 2112:15 fichier -> ../fichier
Tu peux aussi créer des liens symboliques avec des chemins absolus.
$ mkdir -p exemple/test
$ cd exemple
$ touch fichier
$ ln -s ~/exemple/fichier test
$ ls -l
ls -l
total 0
lrwxrwxrwx 1 gab gab 25 Dec 2112:18 fichier -> /home/gab/exemple/fichier
Chemins relatifs et absolus ont leurs avantages et inconvénients. Le plus adapté va complètement dépendre de ton usage. Si tu restes dans l'optique d'un sous-répertoire de travail dans ton répertoires de photos, les liens relatifs, ça ira probablement très bien.
# chemin relatif / absolu
Posté par gaaaaaAab . En réponse au message création liens symboliques impossible. Évalué à 4.
ce que tu fais doit un peu ressembler à ça:
et ça produit effectivement des liens cassés. Au passage, tu noteras que tu as un lien cassé vers le répertoire lui-même, ce qui pourrait être un problème. Ça serait bien d'être plus précis sur le * pour éviter ça.
La raison de ton problème est que si la cible est un chemin relatif, ln produit un lien symbolique avec un chemin relatif. Avec tes arguments actuels, ln produit un lien symbolique vers des fichiers dans le dossier local, mais les fabrique dans un répertoire d'un autre niveau, et c'est le drame.
Je sais, c'est pas très clair, alors encore un peu de code:
Et là, c'est un lien pas cassé. Mais c'est pas une super méthode. Pour créer des liens relatifs corrects, tu peux aussi ajouter l'option -r de ln (que j'ai découvert en lisant le man pour te répondre ;) ), ou, ce que j'ai tendance à faire, appeler ln, mais depuis le répertoire de destination:
Tu peux aussi créer des liens symboliques avec des chemins absolus.
Chemins relatifs et absolus ont leurs avantages et inconvénients. Le plus adapté va complètement dépendre de ton usage. Si tu restes dans l'optique d'un sous-répertoire de travail dans ton répertoires de photos, les liens relatifs, ça ira probablement très bien.