मान लीजिए कि मेरे पास दो फाइलें हैं file1और file2:
$ echo aaa >file1
$ ln file1 file2
फिर मैं जांचता हूं कि इनोड्स समान हैं:
$ ls -i
18749779 file1 18749779 file2
जो दिखाता है कि दो फाइलें वास्तव में एक ही हैं। अब मैं file1Emacs में एडिट करता हूं , और उदाहरण के लिए टेक्स्ट के साथ एक लाइन जोड़ता हूं bbb, और इसे सहेजता हूं और Emacs से बाहर निकलता हूं।
अब मुझे मिलता है:
$ ls -i
18749781 file1 18749779 file2
$ cat file1
aaa
bbb
$ cat file2
aaa
तो कड़ी कड़ी टूट गई है। ध्यान दें कि यह तब नहीं होता है जब मैं फ़ाइल को संपादित करता हूं vim, या यदि मैं बस करता हूं echo bbb >>file1..
मैं हार्ड लिंक को तोड़ने से Emacs को कैसे रोक सकता हूं?
अपडेट करें:
ध्यान दें कि मेरे पास है
(require 'backup-dir)
(setq bkup-backup-directory-info
'((t "~/.emacs-backups/" ok-create full-path )))
मेरे में ~/.emacsinit फ़ाइल। यदि मैं इसके बजाय इसका file1उपयोग emacs -Q file1करता हूं, तो मुझे file1~वर्तमान निर्देशिका में एक फ़ाइल मिलती है जो लिंक file2(उसी इनोड) के साथ है, लेकिन file1~इसे संशोधित नहीं किया गया है (इसलिए यह पुराने के समान है file1) .. यह वह नहीं है जो मैं चाहता हूं। मैं दोनों चाहते हैं file1और file2एक ही फाइल हो सकता है, और अद्यतन फ़ाइल सामग्री शामिल करने के लिए ..
(setq backup-by-copying t)अपनी~/.emacs