При работе через два активных буфера в Emacs, sum.cpp и template.cpp я случайно отключил свой ноутбук (Ubuntu 15.04 (Vivid Vervet)) без закрытия Emacs и без сохранения этих двух файлов.
Когда я перезапустил ноутбук и перечислил содержимое каталога в Emacs на C - x C - f /C++/, я получил следующее.
Что делает строка означает, что после. # sum.cpp?
lrwxrwxrwx 1 anupam anupam 41 Aug 6 00:53 .#sum.cpp -> anupam@anupam-Vostro-3546.3489:1438790786
Я знаю, что Emacs сохраняет несохраненный буфер # на autosave, но при доступе к #sum.cpp, почему он показывает следующее?
является символической ссылкой на несуществующую цель?Символы - символические ссылки - это файлы, которые содержат текстовое описание того, где целевой файл относится к символической ссылке. В отличие от жестких ссылок, когда вы удаляете целевые файлы, символические ссылки пустые.
Символическая ссылка - это всего лишь короткий текст со специальным «волшебством», происходящим в ядре при его открытии. Программы могут помещать туда любой текст, который им нужен. Является ли этот текст действительным именем пути, не имеет значения, когда создается символическая ссылка. Существование цели имеет значение только при попытке открыть символическую ссылку.
Emacs использует это несколько иначе. Он создает символическую ссылку, указывающую, что файл открыт и имеет несохраненные изменения. Если вы запустите другой экземпляр emacs, он может затем предупредить вас о предыдущем экземпляре, который уже открыл файл.
Причиной использования символических ссылок для этого вместо других методов является то, что символические ссылки также работают, если файл находится на NFS. Это также почему имя хоста находится в тексте, так что emacs будет знать, открыт ли файл на этом компьютере или на другом компьютере.
Я думаю, если вы попытаетесь снова отредактировать файл с emacs, он заметил, что файл предположительно открыт экземпляром emacs на текущем компьютере, но этот экземпляр emacs больше не существует, поэтому он должен как-то умереть. И тогда emacs может спокойно игнорировать символическую ссылку и не давать вам предупреждение.