Katakanlah saya punya dua file file1dan file2:
$ echo aaa >file1
$ ln file1 file2
Lalu saya periksa apakah inodenya sama:
$ ls -i
18749779 file1 18749779 file2
yang menunjukkan bahwa kedua file tersebut sebenarnya sama. Sekarang saya mengedit file1di Emacs, dan menambahkan baris dengan misalnya teks bbb, dan menyimpannya dan keluar dari Emacs.
Sekarang saya dapat:
$ ls -i
18749781 file1 18749779 file2
$ cat file1
aaa
bbb
$ cat file2
aaa
Jadi tautannya rusak. Perhatikan bahwa ini tidak terjadi ketika saya mengedit file vim, atau jika saya hanya melakukan echo bbb >>file1..
Bagaimana saya bisa mencegah Emacs dari putus tautan keras?
Memperbarui:
Perhatikan bahwa saya punya
(require 'backup-dir)
(setq bkup-backup-directory-info
'((t "~/.emacs-backups/" ok-create full-path )))
dalam ~/.emacsfile init saya . Jika saya mengedit file1menggunakan emacs -Q file1sebagai gantinya, saya mendapatkan file yang dipanggil file1~di direktori saat ini yang terhubung ke file2(memiliki inode yang sama) tetapi file1~belum dimodifikasi (jadi identik dengan yang lama file1) .. Ini bukan yang saya inginkan. Saya ingin keduanya file1dan file2menjadi file yang sama, dan untuk memasukkan konten file yang diperbarui.
(setq backup-by-copying t)ke~/.emacsfile init saya itu berfungsi seperti yang diinginkan ..