我在linux中创建了一个空文件并添加了一个字符。但它显示为2字节文件

时间:2010-12-09 08:57:02

标签: linux unix

似乎在文件的末尾添加了(char)10。请注意,我在Nautilus中执行此操作,而不是以编程方式执行此操作。为什么会这样?怎么预防呢?

2 个答案:

答案 0 :(得分:4)

ASCII 0x0A是换行符'\ n'。

如果使用echo 1 >file创建了您的文件,则会添加换行符。如果您要跳过此行为,请执行echo -n 1 >file

答案 1 :(得分:1)

十进制代码10(十六进制为0x0a)的ASCII字符为'\ n',即类Unix系统中的新行(LF - 换行符)字符。你是如何创建文件的?

编辑:

如果你使用echo,你应该尝试-n标志,它会抑制默认发出的最终换行符:

echo -n X > file