linux用cat查看二进制文件出现乱码的解决方案

 更新时间:2025年05月17日 09:58:13   作者:不古鸟  
这篇文章主要介绍了linux用cat查看二进制文件出现乱码的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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

乱码截图

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

先说解决方法

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 打开二进制文件的步骤:

  • 使用 vim -b 命令打开二进制文件:vim -b 文件名
  • 将内容转换为十六进制格式::%!xxd
  • 编辑文件内容后,将其转换回文本格式::%!xxd -r
  • 保存并退出::wq

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

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

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

3、使用 hexdump 命令

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

以下是一些常用的选项:

  • 显示文件的 ASCII 格式:hexdump -C 文件名
  • 以单字节转换为八进制显示:hexdump -b 文件名
  • 从指定偏移量开始输出:hexdump -s 偏移量 文件名

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

例如:

  • file:确定文件类型。
  • ldd:打印共享对象依赖关系。
  • ltrace:库调用跟 踪器。
  • strings:打印文件中的可打印字符的字符串。
  • readelf:显示有关 ELF 文件的信息。
  • objdump:从对象文件中显示信息。
  • strace:跟踪系统调用和信号。
  • nm:列出对象文件中的符号。
  • gdb:GNU 调试器。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vim自定义高亮分组以及一些实用技巧小结

    Vim自定义高亮分组以及一些实用技巧小结

    Vim/Vi基本上是*nix世界最受欢迎的编辑器了,不知道为什么,一直以来觉得和Emacs比起来,Vim更加有亲和力,用起来很舒服。那么下面这篇文章主要给大家介绍了关于Vim自定义高亮分组以及一些实用技巧的相关资料,需要的朋友可以参考下。
    2017-07-07
  • linux系统下定时执行php脚本的方法

    linux系统下定时执行php脚本的方法

    网站运营过程中,经常会遇到需要定时执行php脚本的情况,下面这篇文章主要介绍了linux系统下定时执行php脚本的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • Xshell7远程连接失败(connection failed)的问题解决

    Xshell7远程连接失败(connection failed)的问题解决

    本文主要介绍了Xshell7远程连接失败(connection failed)的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • linux编译内核的方法

    linux编译内核的方法

    在本篇文章里小编给各位整理的是关于linux编译内核的方法,有需要的朋友们可以跟着学习参考下。
    2020-03-03
  • Linux系统中获取时间的方法总结

    Linux系统中获取时间的方法总结

    在Linux操作系统中,获取时间是一个基本且重要的功能,本文旨在全面总结Linux系统中获取时间的方法,包括命令行工具和编程接口,帮助读者深入理解Linux时间管理的机制,需要的朋友可以参考下
    2025-03-03
  • linux如何使用date命令获取系统时间

    linux如何使用date命令获取系统时间

    这篇文章主要介绍了linux如何使用date命令获取系统时间问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Ubuntu中如何实现更新Linux内核

    Ubuntu中如何实现更新Linux内核

    本文详细介绍了如何使用三种方法更新Ubuntu中的Linux内核,包括系统更新流程、使用系统更新程序强制更新以及手动使用Mainline选择和安装新内核
    2025-01-01
  • Linux  ProFTPd安装与卸载详细介绍

    Linux ProFTPd安装与卸载详细介绍

    这篇文章主要介绍了Linux ProFTPd安装与卸载详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • Linux服务器下Nginx与Apache共存的实现方法分析

    Linux服务器下Nginx与Apache共存的实现方法分析

    这篇文章主要介绍了Linux服务器下Nginx与Apache共存的实现方法,结合实例形式分析了Linux服务器下Nginx与Apache共存的原理、解决思路与实现方法,需要的朋友可以参考下
    2019-06-06
  • linux下统计appche站点IP访问量的shell脚本

    linux下统计appche站点IP访问量的shell脚本

    这篇文章主要介绍了linux下统计appche站点IP访问量的几种shell脚本以及执行结果
    2014-06-06

最新评论