AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 657175
Accepted
lazarus
lazarus
Asked: 2015-08-06 23:40:55 +0800 CST2015-08-06 23:40:55 +0800 CST 2015-08-06 23:40:55 +0800 CST

错误“文件是指向不存在的目标的符号链接”

  • 772

在Emacssum.cpp和中处理两个活动缓冲区时,template.cpp我不小心关闭了我的笔记本电脑 ( Ubuntu 15.04 (Vivid Vervet)),但没有关闭 Emacs,也没有保存这两个文件。

当我重新启动笔记本电脑并通过 列出 Emacs 中的目录内容时C - x C - f /C++/,我得到以下信息。

Ubuntu 上 Emacs 的屏幕截图

.#sum.cpp 之后的行是什么意思?

lrwxrwxrwx  1 anupam anupam   41 Aug  6 00:53 .#sum.cpp -> [email protected]:1438790786

我知道 Emacs 通过 # by 保存未保存的缓冲区autosave,但是访问时#sum.cpp为什么显示以下内容?

文件是指向不存在目标的符号链接?

symbolic-link
  • 3 3 个回答
  • 3197 Views

3 个回答

  • Voted
  1. Best Answer
    Florian Diesch
    2015-08-07T00:17:28+08:002015-08-07T00:17:28+08:00

    自动保存的文件是#sum.cpp#. Emacs使用符号链接 .#sum.cpp来存储一些内部数据(似乎是用户名、主机名和一些时间戳)

    由于符号链接的目标只是一些短文本(如果您访问符号链接的内容,则解析为路径),符号链接有时用于存储少量数据。在那种情况下,目标很可能不是有效的文件路径,如果您尝试访问它,您会收到错误消息。

    这是因为创建符号链接是一个原子操作:要么创建带有完整内容的符号链接,要么根本不创建。相反,创建一个常规文件并用内容填充它不是原子的,如果出现错误,您可能会得到一个空文件或只有部分内容。

    • 6
  2. iacobus
    2015-08-06T23:59:58+08:002015-08-06T23:59:58+08:00

    符号链接 - 符号链接 - 是包含目标文件相对于符号链接位置的文本描述的文件。与硬链接相反,当您删除目标文件时,符号链接是空的。

    • 2
  3. kasperd
    2015-08-09T03:00:19+08:002015-08-09T03:00:19+08:00

    符号链接实际上只是一段短文本,当您打开它时,内核中会发生特殊的“魔法”。程序可以把他们想要的任何文本放在那里。在创建符号链接时,该文本是否实际上是一个有效的路径名并不重要。目标的存在仅在您尝试打开符号链接时才重要。

    Emacs 使用它的方式略有不同。它创建一个符号链接以指示文件已打开并且有未保存的更改。如果您启动另一个 emacs 实例,它会警告您上一个实例已经打开了文件。

    为此使用符号链接而不是其他方法的原因是,如果文件位于 NFS 上,符号链接也可以工作。这也是为什么主机名出现在文本中的原因,这样 emacs 就会知道文件当前是在这台机器上还是在另一台机器上打开。

    我想如果您尝试再次使用 emacs 编辑该文件,它会注意到该文件应该由当前计算机上的 emacs 实例打开,但该 emacs 实例不再存在,因此它一定已经死了。然后 emacs 可以安全地忽略符号链接并且不会给您警告。

    • 1

相关问题

  • unlik后与硬链接有什么不同的符号链接?

  • 如何创建一个别名,以便当我输入“kt”时它执行“killall gnome-terminal”?

  • 如何找到菊花链符号链接的最终目标?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve