Bonjour, je veux créer de liens matériels mais heu en fait ln, bah... il redirige sur cp apparemment
Bonjour, je veux créer de liens matériels mais heu en fait ln, bah... il redirige sur cp apparemment
Bonjour
Pour être certain que tu n'utilises pas un malencontreux alias, remplace "ln" par "\ln". Et vérifie la suggestion de N_Bah.
Accessoirement le vrai ln , soit il fait le boulot, soit il ne le fait pas mais il ne redirige pas sur cp...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
que répond
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 type ln
Bonjour,
De base, ln fait un lien physique, c'est a dire que tu verras deux fichiers, mais il n'y en a en realite qu'un seul sur le disque dur. Cette notion n'existe pas sous Windows. Tu peux le voir avec ls -li, qui t'affiche le numero d'inode : si c'est le meme, c'est que tu as un lien physique.
Pour faire un lien symbolique, comme sous windows, il faut utiliser l'option -s
Il existe une notion similaire sous windows mais elle est peu utilisée
http://netensis.net/windows:fichiers:hardlinks
Il y a aussi le 2° champ du ls -l (juste après les rwxrwxrwx) qui donne le nombre de liens associés au fichier. Généralement il est à 1 mais si on commence à en créer, on verra ce nombre monter à 2, 3, 4...
Et pour les dossiers, ce nombre comptabilise le nombre de sous-dossiers contenus dans le dossier en question (en n'oubliant pas les sous-dossiers "." et ".." qui sont inhérent à chaque dossier Unix)
Si on veut trouver tous les liens d'un fichier particulier, alors on chope son n° d'inode (avec ls -i effectivement) puis suffit de faire un find /repertoire_de_base_de_la_partition -inum le_no_d_inode -printEn relisant tout ce topic je pense que tu vois un second fichier apparaitre alors tu crois que c'est un cp mais en fait il s'agit d'un second nom associé au même contenu disque. Bref ton ln fonctionne en fait
Joli. Je ne connaissais pas.
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
type ln m'affiche ça :C'est bon signe?
Code BASH : Sélectionner tout - Visualiser dans une fenêtre à part ln is /bin/ln
Note : je veux bien créer des liens physiques
C'est parfait.
Comme je l'ai dit, si tu crées un fichier "toto" et que tu tapes ln toto titi, tu vois un second fichier apparaitre. Tu peux donc croire que tu n'as fait qu'une simple copie mais en réalité, tu as bien créé un lien physique.
Visuellement il y a une différence car si tu fais un ls -l toto titi, tu verras un petit "2" juste après les droits rwxrwxrwx (si tu fais une simple copie, tu verras un "1"). Et si, comme l'a dit gangsoleil, tu fais un ls -i toto titi tu verras que le premier chiffre (le n° d'inode) est le même pour les deux (deux fichiers copiés ont deux n° différents).
Et si tu modifies toto puis que tu affiches titi, tu verras que ta modif y est aussi. Je dis "aussi" comme si cela sous-entendait une espèce de transfert alors qu'en réalité, puisqu'il n'y a qu'un seul contenu, la modif n'a même pas eu besoin d'être transférée. Il n'y a qu'un seul contenu référencé par deux noms => c'est bien un lien physique que tu as fait.
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
ce qui ne change pas ma question... pourquoi quand je fais :
et que je modifie mon titi, toto ne se modifie pas, et vice-versa?
Code BASH : Sélectionner tout - Visualiser dans une fenêtre à part ln toto titi
Peux-tu nous donner le résultat des 2 commandes suivantes?
Ca devrait nous aider à voir ce qui ne va pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ls -l toto titi ls -i toto titi
Au début :
Puis quand je modifie titi :
Code BASH : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 -rw-r--r-- 2 solalrastier staff 6 8 avr 18:52 titi -rw-r--r-- 2 solalrastier staff 6 8 avr 18:52 toto 2232099 titi 2232099 toto
Donc si j'ai bien compris, la modification casse le lien.
Code BASH : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 -rw-r--r-- 1 solalrastier staff 6 8 avr 18:52 titi -rw-r--r-- 2 solalrastier staff 6 8 avr 18:52 toto 2232107 titi 2232099 toto
Extraordinaire - Jamais vu ça - Effectivement tu as bien deux fichiers liés mais la modif casse le lien.
Il se pourrait que toto possède un attribut spécial - Essaye lsattr toto.
Sinon peux-tu recommencer avec un autre fichier ?
Exemple
Puis modif de truc1 et voir si ça se répercute dans truc2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 date >truc1 ln truc1 truc2
Puis refaire ce même test dans un autre fs (/tmp ou /var/tmp par exemple...)
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Bonjour,
Perso, je me méfie du processus qui modifie titi. Il fait peut-être une suppression/réécriture en pensant que c'est pareil. La preuve que non.
Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Le problème vient de l'application apparemment.... Qui a la mailing list d'Emacs que je demande aux devs de corriger le problème?
Effectivement, aussi improbable que cela puisse paraitre, il y a bien un soucis avec emacs et la gestion des liens hard.
Avant :
emacs -nw f1 (oui, j'ai pas de X).J'ecris, je sauve, je quitte, et pan :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 4572419 -rw-r--r-- 2 name group 5 Apr 9 14:48 f1 4572419 -rw-r--r-- 2 name group 5 Apr 9 14:48 f2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 4572421 -rw-r--r-- 1 name group 10 Apr 9 14:49 f1 4572419 -rw-r--r-- 2 name group 5 Apr 9 14:48 f1~ 4572419 -rw-r--r-- 2 name group 5 Apr 9 14:48 f2
Ce que tu dois faire :
Chercher le gestionnaire de bug de emacs
Chercher dedans s'il y a un bug deja remonte sur ce sujet.
Si ce n'est pas le cas, ouvrir un rapport de bug
Tu ne dois normalement pas utiliser la mailing liste pour remonter des bugs.
Ce n'est pas un bug mais un effet de bord de la méthode de backup utilisée par défaut et documentée.
Il est possible d'affecter la variable de configuration backup-by-copying-when-linked pour avoir un comportement plus raisonnable.
http://www.gnu.org/software/emacs/ma...p-Copying.html
Mais quelle idée d'utiliser "emacs" alors que "vi" est tellement supérieur
ɹǝsn *sıɹɐlos*
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Idem
Cordialement.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager