我正在完成学校的作业,但在使这一部分正常工作方面遇到了问题。
任务是让我在 CLI 中创建一个文件,在 GEDIT 中打开并编辑该文件而不保存,然后列出目录。根据说明,当我列出目录时,我打开并附加但未保存的文件后面应该显示一个“~”,但它没有显示出来。
我是否遗漏了什么?
答案1
是的,你错过了一些东西:你不希望在首先打开它.只有你会看到它保存后您打开的文件。
gedit 如何保存文件
当前文件被重命名。然后修改的内容被写入一个新文件,该文件被赋予您打开的文件的名称。
如果在“首选项”、“编辑器”选项卡中启用了“在保存前创建文件的备份”选项,则备份文件将通过~
在文件名中添加 来重命名。否则,它将被重命名为以点 开头的随机字符串.
。如果保存成功,则将删除该随机命名的文件。
与其他典型的基于终端的编辑器的行为进行对比
图形编辑器 Gedit(和其他图形编辑器)的这种行为会影响硬链接的工作。如上所述,这些编辑器实际上将修改的内容保存在新文件(即新 inode)下。Linux 硬链接指向一个 inode。文件系统上其他位置的同一文件的硬链接将继续指向旧数据,而不再链接到已更改的文件。通常,这不是用户所期望的。但是,这种方法更安全:如果保存失败,原始内容仍保留在磁盘上。
传统的(特别是基于终端的)Linux 编辑器会将更新的内容保存到相同的 inode 中。它们将更新的内容写出到相同的 inode 中,替换旧的内容。