我运行了 hexdump 命令,没有参数,我的 ubuntu 机器死机了...我做了什么?这个命令没有参数能做什么?
它有什么用处?
答案1
这是来自man hexdump
:
hexdump 实用程序是一个过滤器,它以用户指定的格式显示指定的文件或标准输入(如果没有指定文件)。
简而言之,它将文本从一种格式转换为另一种格式。传统上,hexdump 主要用于调试,尤其是使用低级库的程序。
但是现在有了unicode,我有时会用它来获取不同的字符值或者转换行或文件。
因为它是一个过滤器,所以你发送文本进去一个简单的方法是使用管道运算符 ( |
)。
它以 ASCII、十进制、十六进制或八进制形式输出显示的文本。您可以使用格式说明符来确定输出。这些是您在 之后放置的命令选项hexdump
。
如果您想在命令行上看到结果,您需要从开始echo
。
所以就是echo text-to-transform | hexdump options optional-format-specifiers
手册页中的一个示例是:
echo hello | hexdump -v -e '/1 "%02X\n"'
输出每个字母的十六进制值。
这个例子可能看起来没什么用,但请记住,可以以人类可读的形式重新编码整个文件或转储内存内容。
如果您不向 hexdump 发送输入,它会一直等待,似乎什么也不做。如果您hexdump
自己运行,就会发生这种情况。当您说它冻结时,是否发生了更多情况?
答案2
它以人类可读的格式(通常是十六进制)打印数据。与大多数 unix 命令一样,它无需任何参数即可读取 stdin 上的数据并写入 stdout,因此如果您没有重定向 stdin,那么它只是在等待您在终端中输入一些数据。计算机没有冻结,只有命令在等待输入。您可以使用 Ctrl-C 中断命令,或者 Ctrl-D 表示输入结束。