Appel système LINK

Kalha -  
 kalha -
Bonjour à tous !!

Alors voilà j'ai un petit problème avec la commande LINK. Voici ma question :

Lorsqu’on construit un lien physique à l’aide de l’appel système LINK et que les deux chemins d’accès fournis en paramètre n’accèdent pas au même système de fichier que se passe-t-il ? Comment réagir dans un programme C ?

J'espère que quelqu'un pourra m'aider ou me donner des pistes de recherches !

Merci d'avance !

Bonne journée,

Kalha ;o)

1 réponse

jisisv Messages postés 3678 Statut Modérateur 935
 
Un lien dur ne se conçoit que sur un même système de fichiers:
(qui supporte les liens bien sûr)
johand@horus:~$ touch brol
johand@horus:~$ ls -l brol
-rw-r--r--  1 johand johand 0 Mar 17 16:50 brol
johand@horus:~$ ln brol truc
johand@horus:~$ ls -l brol truc
-rw-r--r--  2 johand johand 0 Mar 17 16:50 brol
-rw-r--r--  2 johand johand 0 Mar 17 16:50 truc
johand@horus:~$ rm brol
johand@horus:~$ ls -l truc
-rw-r--r--  1 johand johand 0 Mar 17 16:50 truc
johand@horus:~$ ln truc /mnt/hda4/divers/brol
ln: creating hard link `/mnt/hda4/divers/brol' to `truc': Invalid cross-device link

Regarde les codes d'erreur dans
man 2 link
non?

Johan
0
kalha
 
Merci beaucoup pour ta réponse Johan !

Elle m'a beaucoup aidée ! Tu avais raison.

J'étais passé à côté en consultant le man :
Il n'est pas possible de créer un lien physique entre 2 système de fichiers différents. Une erreur est générée (EXDEV).
Il faut alors plutôt créer un lien symbolique avec la commande symlink !

Encore merci,

Kalha :o)
0