Допустим, у меня есть два файла file1и file2:
$ echo aaa >file1
$ ln file1 file2
Затем я проверяю, совпадают ли inode:
$ 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файле инициализации. Если я редактирую, file1используя emacs -Q file1вместо этого, я получаю файл с именем file1~в текущем каталоге, который ссылается file2(имеет тот же индекс), но file1~не был изменен (так что он идентичен старому file1) .. Это не то, что я хочу. Я хотел бы, чтобы оба file1и один и file2тот же файл, и включить обновленное содержимое файла ..
(setq backup-by-copying t)в мой~/.emacsфайл инициализации, он будет работать как нужно ..