Linux文件包含"@^@^@^@",如何恢复?

分享于 

3分钟阅读

电脑

  繁體 雙語

问题:

我刚编写了一个大的c 代码,但当我再次保存并打开该文件时,该文件包含奇怪的字符: "@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^ @^@^@^@^@0000664^@0001750^@0001750^@0000000031"

如何恢复文件?

我每天都写这个程序。 :( (


回答 1:

这可能是一个长镜头,但是看起来有点像TAR文件头的一部分。 可能你曾经尝试用tar备份它,并使用与输出文件相同的文件名? 我怀疑这个原因的原因是,TAR文件头开头是:


 char filename[100];//null padded


 char mode[8];//octal


 char nuid[8];//octal


 char ngud[8];


 char size[12];


.. .



所以看看这个 Fragment,它符合 Pattern --文件,所有者/组 ID 1000,以及 200和 207字节( 看来你的cut-n-paste里field了)的大小。 如果文件的"ustar"从字符 257开始,则返回。 这样,只要使用tar命令尝试从( 在临时目录中只是以防万一) 中提取,希望你能从中得到一些东西。


回答 2:

退出vim类型之前

 
:e! your_file_path



 

尝试加载文件。 这是为了你只是试图编辑错误的文件。

在另一个 shell 中,扫描 your_filename.recover 或者 file_name.swp 文件。 如果找到的话

 
vim -r file_name



 

应该取回你的档案。


回答 3:

我在日志文件中遇到这些字符的次数很少。 很多人在文件中将它们称为'球洞',在文件中实际数据量与它的指定大小之间存在一些不匹配。 正如我从很少研究的那样,因为同时在文件上执行多个操作,或者在写入磁盘时遇到了一些空间。 请参考这个和这个。

为了总结这些文件的内容,这些部分的内容不同,不同的文本编辑器以不同的方式呈现。

我真的感到非常抱歉,因为我知道如何损失某一天的( 你的爱和能量和你的爱),可能会很舒适。


回答 4:

你是否做了删除你的回车的事情? 当我写了一堆输出到文件并忽略了添加回车时,我看到了这一点。 is太长了。


回答 5:

^@的二进制零,低值,'',0 x00. 最佳猜测是你有一个零分隔字符串,并且你正在写出 char array的长度而不是使用 strlen



文件  REST  
相关文章