linux用cat查看二进制文件出现乱码

今天用cat查看文件时突然全屏乱码,登出重新登陆之后还是未解决。于是在网上找了一些解决办法。希望有帮助

乱码截图:

经过了解才知道是因为我打开的文件名为二进制。

1、先说解决方法:

1、盲打输入 echo -e '\xf' 并回车。(或者复制粘贴过去)

与这个命令相对的是echo -e '\xe',在正常状态下输入此命令会把终端搞出乱码来。

2、输入:reset  指令重置,之后就恢复正常了

在bash下用cat显示二进制文件后就会出现乱码,并且整个终端显示包括shell提示符都是乱码,这个跟语言环境无关。

如果说在查看文件之前我们不确定文件格式,可以使用 file -i查看文件的编码格式。这个命令会输出文件的相关信息,包括编码格式。

file -i 文件名

fsimage_0000000000000000000: application/octet-stream; charset=binary

#fsimage0000000000000000000:应用程序/八位字节流;字符集=二进制

想要查看文件内容则用命令:

1、使用 vim 打开二进制文件(这种方法适用于需要对二进制文件进行修改的场景)

vim 是一个强大的文本编辑器,可以用来查看和编辑二进制文件。以下是使用 vim 打开二进制文件的步骤:

(1)使用 vim -b 命令打开二进制文件:vim -b 文件名

(2)将内容转换为十六进制格式::%!xxd

(3)编辑文件内容后,将其转换回文本格式::%!xxd -r

(4)保存并退出::wq

2、使用 od 命令(od 命令与 hexdump 类似,但提供了更多的格式选项)

od 命令可以用来查看文件内容,并且可以指定输出格式。以下是一些常用的选项:

(1)以十六进制格式显示文件内容:od -tx1 文件名
(2)以 ASCII 格式显示文件内容:od -tc 文件名
(3)从指定偏移量开始输出:od -j 偏移量 文件名

3、使用 hexdump 命令

hexdump 是一个用于查看二进制文件的命令,可以将二进制文件转换为十六进制格式并打印出来。以下是一些常用的选项:

(1)显示文件的 ASCII 格式:hexdump -C 文件名

(2)以单字节转换为八进制显示:hexdump -b 文件名

(3)从指定偏移量开始输出:hexdump -s 偏移量 文件名

4、除了上述方法,还有一些其他工具可以用来分析二进制文件,例如:

  • file:确定文件类型。

  • ldd:打印共享对象依赖关系。

  • ltrace:库调用跟踪器。

  • strings:打印文件中的可打印字符的字符串。

  • readelf:显示有关 ELF 文件的信息。

  • objdump:从对象文件中显示信息。

  • strace:跟踪系统调用和信号。

  • nm:列出对象文件中的符号。

  • gdb:GNU 调试器3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值