文件名末尾的波浪号代表什么?


31

在Windows中,我相信文件名中带有波浪号的文件表示当前在应用程序中打开的文件。例如,Microsoft Word创建的文件几乎与您当前打开的文件名称相同,但名称中带有波浪号。它的图标也部分消失。据我所知,这表示存在一个临时文件

  • 如果应用程序崩溃并且您没有机会保存文件,或者
  • 以允许原始文件保持被文件系统解锁并可供其他应用程序访问。

在Linux中,我遇到了一个* .log文件,该文件的文件名(scan.log~)末尾有一个波浪号。这是否意味着该日志文件当前在可能正在写入该文件的另一个应用程序中打开?

Answers:


32

如果文件后面带有tilde~,则仅表示该文件是由文本编辑器或类似程序创建的备份。这并不意味着其他程序正在写入该文件。此外,打开的任何文件vi都无法在其他应用程序中打开,但这是另一次讨论。

轻松找到所有这些类型的文件,请键入cd以获取主文件夹的顶层,然后输入:

find -type f -iname '*~'

或者,如果要在特定目录中找到它们,请键入:

find /home/mike/Downloads -type f -iname '*~'

如果您碰巧编辑了一个文件但还没有保存原始文件的备份,这些文件将非常有用!Gedit例如,尽管可以在首选项中关闭此设置,但它会为所有已编辑文件创建此类备份。但是, (files~)它们不能替代适当的备份,因为它们可能不包含您需要的数据,也不是您想要的编辑的版本。


只是要注意,如果文件夹集是通过Samba共享的,然后Windows客户端的Office软件编辑文件,它将使用〜$ OriginalFilename.xlsx创建一个隐藏的文件锁定隐喻。它将包含有关谁拥有锁的必要信息。因此,如果您遇到这种情况,请谨慎编写脚本以进行清理工作。
迈克尔·布兰肯希

12

一些文本编辑器(例如emacs)会创建您正在编辑的文件的备份,并为备份文件指定原始文件的名称以及波浪号。您描述的文件可能是scan.log使用此类文本编辑器打开并进行一些更改的结果。

您可以使用fuser(请参阅Ubuntu软件包psmisc)查看某个进程当前是否已打开该文件:fuser scan.log~

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.