Linux “什么是”呢^@&引用;文件中的字符序列表示

Linux “什么是”呢^@&引用;文件中的字符序列表示,linux,bash,character,vi,Linux,Bash,Character,Vi,当我打开存储qemu-system\u x86\u 64进程参数的/proc/PID/cmdline文件时,每个空格都由^@字符序列更改。 可以cat cmdline | tr'\000',这意味着序列对应于NUL字符 为什么会出现这个序列而不是空白?有可能得到吗 使用shell命令的转义序列的ASCII值?它是^@,用于在不同的编辑器或查看器中显示控制字符0到31和127:vi,更少 要查看八进制转储实用程序的文件od中的确切顺序,可以使用: 例子 查看字符和八进制值的步骤 od -c y

当我打开存储
qemu-system\u x86\u 64
进程参数的
/proc/PID/cmdline
文件时,每个空格都由
^@
字符序列更改。
可以
cat cmdline | tr'\000'
,这意味着序列对应于
NUL
字符

为什么会出现这个序列而不是空白?有可能得到吗 使用
shell
命令的转义序列的ASCII值?

它是
^@
,用于在不同的编辑器或查看器中显示控制字符0到31和127:
vi
更少

要查看八进制转储实用程序的文件
od
中的确切顺序,可以使用:

  • 例子
查看字符和八进制值的步骤

od -c your_file
查看十六进制值的步骤

od -t x1 your_file
od -t u1 your_file
查看十进制值的步骤

od -t x1 your_file
od -t u1 your_file
同时查看所有3个

od -c -t x1 -t u1 your_file

哪种文件格式?如果“全部”,则太宽。文件中的此字符序列没有特殊意义。像vi(m)这样的一些文本编辑器以这种方式显示空字符。在C语言中,*nix实用程序倾向于使用它来编写,每个字符串都以一个二进制零字节终止。命令行(通常称为
argv[]
)是这些字符串的数组,即在每个命令行参数之间具有二进制零的内存块。该空间由shell用于标记,以使其对用户友好,否则就不存在。