Linux文件包含“@​​^@^@^@”,如何恢复?

fla*_*nka 1 linux unix c

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

我怎样才能恢复文件?

我整天都在写这个程序。:((

小智 8

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

 char filename[100];  // null padded
 char mode[8]; // octal
 char nuid[8]; // octal
 char ngud[8];
 char size[12];
 ...
Run Code Online (Sandbox Code Playgroud)

所以看看那个片段,它符合模式——文件是 rw-rw-r,所有者/组 ID 为 1000,大小在 200 到 207 字节之间(看起来那个字段在你的 cut-n-粘贴)。赠品是如果文件有从字符 257 开始的“ustar”。在这种情况下,只需使用 tar 命令尝试从中提取(在临时目录中以防万一),希望您能从中得到一些东西它。