मान लीजिए कि मेरे पास दो फाइलें हैं file1
और file2
:
$ echo aaa >file1
$ ln file1 file2
फिर मैं जांचता हूं कि इनोड्स समान हैं:
$ ls -i
18749779 file1 18749779 file2
जो दिखाता है कि दो फाइलें वास्तव में एक ही हैं। अब मैं file1
Emacs में एडिट करता हूं , और उदाहरण के लिए टेक्स्ट के साथ एक लाइन जोड़ता हूं 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 )))
मेरे में ~/.emacs
init फ़ाइल। यदि मैं इसके बजाय इसका file1
उपयोग emacs -Q file1
करता हूं, तो मुझे file1~
वर्तमान निर्देशिका में एक फ़ाइल मिलती है जो लिंक file2
(उसी इनोड) के साथ है, लेकिन file1~
इसे संशोधित नहीं किया गया है (इसलिए यह पुराने के समान है file1
) .. यह वह नहीं है जो मैं चाहता हूं। मैं दोनों चाहते हैं file1
और file2
एक ही फाइल हो सकता है, और अद्यतन फ़ाइल सामग्री शामिल करने के लिए ..
(setq backup-by-copying t)
अपनी~/.emacs