Digamos que tengo dos archivos file1y file2:
$ echo aaa >file1
$ ln file1 file2
Luego verifico que los inodes son los mismos:
$ ls -i
18749779 file1  18749779 file2
lo que muestra que los dos archivos son realmente iguales. Ahora edito file1en Emacs, y agrego una línea con, por ejemplo, el texto bbb, y lo guardo y salgo de Emacs.
Ahora obtengo:
$ ls -i
18749781 file1  18749779 file2
$ cat file1
aaa
bbb
$ cat file2
aaa
Entonces el enlace duro está roto. Tenga en cuenta que esto no sucede cuando edito el archivo vim, o si simplemente lo hago echo bbb >>file1...
¿Cómo puedo evitar que Emacs rompa enlaces duros?
Actualizar:
Tenga en cuenta que tengo
(require 'backup-dir)
(setq bkup-backup-directory-info
      '((t  "~/.emacs-backups/" ok-create full-path )))
en mi ~/.emacsarchivo init Si edito file1usando en su emacs -Q file1lugar, obtengo un archivo llamado file1~en el directorio actual que enlaza file2(tiene el mismo inodo) pero file1~no ha sido modificado (por lo que es idéntico al anterior file1). Esto no es lo que deseo. Me gustan los dos file1, y file2al ser el mismo archivo, e incluya el contenido del archivo actualizado ..

(setq backup-by-copying t)a mi~/.emacsarchivo init, funciona como se desea ..Respuestas:
@Hakon resolvió su propio problema con:
Si prefiere mantener el comportamiento predeterminado y usar
back-up-by-copyingsolo para archivos vinculados, puede usar esto en su lugar (y dejarlobackup-by-copyingconfigurado ennil):Además, como señaló @Harald, puede establecer
back-up-by-copyingcomo una variable local de archivo en su lugar, para activar esta función solo para archivos individuales.La explicación de este comportamiento del manual de Emacs :
Vea la página vinculada para más discusión.
fuente