当我做' ls'在我的Raspberry Pi 2终端上的命令,我看到不同类型的文件名,有些像" #example.cpp#",以及其他类似的" homework1.cpp~&# 34。
这两种文件类型意味着什么,我怎样才能摆脱它们?只需使用' rm'命令似乎不适合我。谢谢!
答案 0 :(得分:1)
某些应用程序将创建文件的副本,并在为副本创建文件名时使用特殊字符。例如,某些文本编辑器将使用相同的名称制作要开始编辑的文件的副本,并在文件末尾添加波形符(〜)。这样您就可以备份要编辑的文件。
另一个原因是,如果应用程序正在将文件处理为临时文件,然后将临时文件用于下一步。例如,C / C ++编译器可能正在使用C预处理器读取文件homework1.cpp
以生成临时文件#homework1.cpp#
,然后由编译器编译该文件以生成目标代码文件。
我不熟悉树莓派,所以我不确定在正面和背面用英镑符号(#)创建文件名的原因。也许它是C ++编译器。我非常确定附加到文件名末尾的波浪号字符的文件是来自vi
或vim
的后备文件,其中包含上次打开文件时的文件副本文本编辑器。
您可以做的一件事是查看这些文件以查看使用Linux命令或文本编辑器的内容。如果您使用文本编辑器,我会将文件作为备份复制到另一个文件夹,然后在那里查看。
编辑:有人刚发布,然后删除了一个答案,该答案还提到了如何删除这些文件。
我读到的是rm
命令用于某些特殊字符,你需要在名称周围使用引号,你可能还需要使用转义来转义某些特殊字符。
命令shell读取您键入的命令行,并在将文本传递给您键入的命令之前对其进行更改。因此,如果文件名中有空格,请说出jj Johny
,然后删除您必须指定文件rm "jj Johny"
,因为命令处理器使用空格来分隔参数。
另一张海报提到你必须使用反斜杠字符逃脱英镑符号(#),以防止它被命令处理器修改。