Linux中如何将文件dump成16进制值

将图像转换为16进制文件 在做图像处理时,有时需要将一张已有的图像写入到程序中。这时linux命令xxd可以完成这个需求。 注: win10可使用ubuntu子系统来使用linux命令,非常方便 xxd -i logo.bmp logo.h 此命令将logo.bmp文件的16进制数据存储为c数组 xxd命令详细说明: Usage: xxd [options] [infile [outfile]] or xxd -r [-s [-]offset] [-c cols] [-ps] [infile [ 阅读详情

http://www.cnblogs.com/bcxx_qin/archive/2009/05/06/1450596.html


在linux中有多种方式可以将文件dump成16进制显示,也可以将16进制值再反向成文件。

$ hexdump test.txt
0000000 524f 2d41 3030 3036 0a30 524f 2d41 3030
0000010 3630 0a30                              
0000014

$ od -x test.txt
0000000 524f 2d41 3030 3036 0a30 524f 2d41 3030
0000020 3630 0a30
0000024

$ xxd test.txt
0000000: 4f52 412d 3030 3630 300a 4f52 412d 3030  ORA-00600.ORA-00
0000010: 3036 300a                     060.

注意到hexdump和od出来的结果都是按实际存储的字节序,因为基于x86的linux是little-endian的,也就是高低字节是颠倒了的。但是xxd的结果是将字节序调整过了的。而IBM的Power CPU是big-endian的,所以在AIX上od的结果如下:

$od -x test.txt
0000000  4f52 412d 3030 3630 300a 4f52 412d 3030
0000020  3036 300a
0000024

xxd还可以实现从16进制反向生成文件,只需要加上-r选现即可。

xxd test.txt | xxd -r
ORA-00600
ORA-00060

$ echo 0000000: 4f52 412d 3030 3630 300a 4f52 412d 3030 | xxd -r
ORA-00600
ORA-00

但是要注意xxd接受的是big-endian格式的16进制值,如果输入的是little-endian的,则生成的文件字符(包括换行符)是两两颠倒的。

$ od -x test.txt | xxd -r
RO-A0006
0RO-A0060
0

在vi编辑器中可以使用:%!xxd 调用xxd来将文件转换成16机制编辑模式,编辑完成后再调用:%!xxd -r转换文件模式,从而使得vi具有16进制编辑的功能,:%!其实就是调用外部shell命令,需要注意的是xxd的字节序是big-endian的,不要搞错了。

如果你的Linux系统中找不到xxd命令,那么检查下是否有安装vim-common包

rpm -qa | grep vim
vim-enhanced-6.3.046-0.40E.7
vim-X11-6.3.046-0.40E.7
vim-minimal-6.3.046-0.40E.7
vim-common-6.3.046-0.40E.7
print_hex_dump调试内核,嘎嘎香 prefix_type: 地址的输出格式是按照偏移、绝对地址或者不输出地址 (%DUMP_PREFIX_OFFSET, %DUMP_PREFIX_ADDRESS, %DUMP_PREFIX_NONE)print_hex_dump是 Linux 内核中的一个函数,用于以十六进制和 ASCII 码格式打印内存数据块。最近在验证芯片功能的过程中发现了一个好用的内核调试接口,print_hex_dump,除了直接打印16进制和ascii外,还支持动态调试打印。@prefix_str: 打印的前缀字符串。 阅读详情

相关推荐

Linux超级强大的十六进制dump工具:XXD命令,我教你应该如何使用!

本文介绍了在Linux操作系统中使用XXD命令的基础知识,包括如何安装XXD命令、如何使用XXD命令查看文件内容、将文件转换为十六进制表示以及编辑二进制文件等操作。XXD命令是一种非常有用的工具,对于开发人员和系统管理员来说,掌握XXD命令的使用方法是非常重要的。

网络技术联盟站 3443

linux shell运用16进制计算

((test=0x1234)) echo $test if [ $test -eq 4660 ]; then echo hello else echo not hello fi linux-shell 脚本转换 十六进制 十进制 八进制 二进制-zt http://www.51testing.com/html/00/130600-867618.html...

shipinsky的博客 1万+

Linux中使用gdb dump内存

在应急响应中,我们往往会有dump出某一块内存下来进行分析的必要。今天要讲的是利用gdb命令dump出sshd进程的内存。 按照 Linux 系统的设计哲学,内核只提供dump内存的机制,用户想要dump什么样的内存,dump多少内存是属于策略问题,由用户来决定。 在真实的使用场景中,主要有两种使用方式: 一种是dump某一个进程的地址空间来供用户在进程挂掉之后debug分析,也就是通常所说...

谢公子的博客 1万+

Linux shell 编程-关于16进制

Linux shell 编程 在项目过程中,对方给了Linux下的操作指令,很是不方便。于是写了Linux的脚本,记录下编写过程中遇到和解决的问题。 shell中设置变量的时候,要求等号“=”之间不要有空格 变量名$0是脚本名,$n(n>=1)表示传递给脚本的第n个参数 使用变量时需要加上$+变量名, 在字符拼接过程中为了确定变量名采用${变量名} ${#变量名} 这样...

felonyxce的专栏 6804

告别死记硬背!用实际案例带你玩转UE5编辑器界面(附场景搭建练习)

本文通过实际案例教学,带你轻松掌握Unreal Engine5编辑器界面的核心功能。从创建基础场景到添加光源和可交互对象,逐步讲解内容浏览器、模式面板、世界大纲等模块的协同工作方式,告别死记硬背的学习模式。附场景搭建练习,助你快速上手UE5开发。

weixin_30566063的博客 730

51单片机-点亮LED和蜂鸣器

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。ULN2003是大电流驱动陈列,多用于单片机、只能仪表、PLC、数字量输出卡等控制电路中。可直接驱动蜂鸣器、继电器等负载。void delay(u16 i) // i等于1大约10uswhile(i--);//取反,高低电平不断变化,产生脉冲delay(10);// 周期200us。

三日沐水 1127

linux 读文件 c语言,把一个文件数据读取为16进制保存(C语言linux环境)

(1)说明//把输入文件名为a.txt,(可以新建一个空文件,命名为b.txt)输出文件为b.txt//在linux下把a.txt ,b.txt ,test三个文件放在一起,在linux环境下运行test即可。(2)Makefile编写如下:test:test.ogcc -o test test.otest.o:gcc -c test.cclean:rm test.o(3)test.c相关的源码如...

weixin_34129429的博客 957

NXP(imx8qxp)系列DDR校准以及android镜像烧录

文章目录一、 不得不吐槽以下nxp的这个代码镜像烧写的过程,做得太开源了,导致镜像根本烧录不进去,实属令人头痛。 一、

永不秃头的程序员的博客 5991

Linux存储16进制,linux 16进制 产看文件

hexdump - ascii, decimal, hexadecimal, octal dump查看十六机制的首选工具。-c 每单元以字节为单位,显示出对应的ASCII码-C 每单元以字节为单位,同时显示十六机制和ASCII码例:[atom@localhost code]$ hexdump -c txtfile0000000thequick...

weixin_29940495的博客 809

ubuntu-25.04-desktop-amd64 工具VMware-tools 正确安装方法

摘要:Ubuntu 25.04虚拟机安装VMware Tools后无法实现主机与虚拟机间的文件复制粘贴和拖拽功能,问题可能源于工具兼容性。建议优先安装open-vm-tools套件(含open-vm-tools-desktop),而非官方VMware Tools。具体方案:通过终端执行安装命令后重启系统。该方法已实测有效解决该兼容性问题。(149字)

安徽锐锋科技-沐雨潇竹 672

在 SAP HANA XS Advanced 中用 InA 打通 Web 化分析数据访问:架构原理、部署步骤与实战指南

本文介绍了如何在SAP HANA环境中通过InA协议为XS Advanced应用和分析工具提供实时数据访问。主要内容包括:InA协议的作用是将HANA计算视图等模型通过HTTP(S)暴露为实时数据源;SAP HANA Analytics Adapter(xsahaa)是关键组件,负责协议转换和连接管理;部署包含本地和云端两种形式,均需建立XSA空间与租户数据库的映射;实施前需准备HDI容器、适配器构建和网络验证;安全方面通过XSA用户角色和HDI授权双重控制;文章还提供了与SAP Analytics Clo

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 259

linux以16进制打开文件,linux下查看十六进制文件方法

1. 在 vi 或 vim 的命令状态下:%!xxd——将当前文本转换为16进制格式。:%!xxd -r——将当前文件转换回文本格式。2. od - dump files in octal and other formats顾名思义是查看八进制,可以通过指定参数为查看十六进制-A 指定左边侧栏显示的地址基数,默认为八进制-t 指定输出单元的进制格式和...

weixin_34637857的博客 5305

R语言 百度坐标转换至WGS84坐标

本文利用R语言封装了百度坐标转换至WGS84坐标的函数,亲测有效,提供了便捷的百度坐标转换方法。

qingchen98的博客 2135

linux无法产生core文件夹,无法生成core dump文件的几个原因

1. 进程无写权限(如目录不可写、存在同名的非regular文件(目录或符号链接)等)2. 存在同名文件且有多个hard link3. 文件系统空间不足4. 指定目录不存在5. 进程的RLIMIT_CORE或RLIMIT_SIZE被设置为0。使用getrlimit和ulimit检查修改6. 进程所执行的二进制文件无读权限7. 进程所执行的程序设置了set-user-ID (set-group-ID...

weixin_42498006的博客 6892

如何在Ubuntu 22.04系统上安装CUDA 12.9

本文提供Ubuntu22.04系统上安装CUDA12.9的简明指南:1)确认已安装适配575驱动;2)清理旧版本后安装必需依赖库;3)通过deb包方式添加英伟达源并安装CUDA12.9工具包;4)配置环境变量;5)通过nvcc-V和nvidia-smi命令验证安装。文中包含常见问题解决方法及多显卡使用说明,全程约需10分钟完成安装。

2501_93651177的博客 1481

金蝶Apusic应用服务器 未授权目录遍历漏洞复现

由于金蝶Apusic应用服务器/admin/protected/selector/server_file/files、/admin/protected/selector/server_file/folders 等接口没有进行校验和过滤,直接将参数拼接到文件操作中,导致出现目录遍历漏洞,未经身份验证的远程攻击者可通过此漏洞读取系统内部系统文件路径及信息,导致信息泄露,系统处于极不安全状态。

0xSec 2171

用vi在linux下查看16进制文件

用vi在linux下查看16进制文件 在vi的命令状态下 : :%!xxd ——将当前文本转换为16进制格式。 :%!od ——将当前文本转换为16进制格式。 :%!xxd -c 12——将当前文本转换为16进制格式,并每行显示12个字节。 :%!xxd...

aezympxj84131的博客 115

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

linux生成dump文件_linux内核调试之 crash分析dump文件

Linux 下也有众多的内存转储分析工具,lcrash、Alicia、Crash。Crash 是由 Dave Anderson 开发和维护的一个内存转储分析工具,目前它的最新版本是 5.0.0。 在没有统一标准的内存转储文件的格式的情况下,Crash 工具支持众多的内存转储文件格式:Live linux 系统kdump 产生的正常的和压缩的内存转储文件由 makedu...

weixin_30003217的博客 1515

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

linux查看文件位置命令bwd,linux 16进制 产看文件

hexdump - ascii, decimal, hexadecimal, octal dump查看十六机制的首选工具。-c 每单元以字节为单位,显示出对应的ASCII码-C 每单元以字节为单位,同时显示十六机制和ASCII码例:[atom@localhost code]$ hexdump -c txtfile0000000thequick...

weixin_39727402的博客 372

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux 16进制查看命令、工具

1. 在 vi 或 vim 的命令状态下:%!xxd              ——将当前文本转换为16进制格式。:%!xxd -r          ——将当前文件转换回文本格式。2. od - dump files in octal and other formats  顾名思义是查看八进制,可以通过指定参数为查看十六进制

chenglian_999的专栏 4万+

【Linux】【运维】 【Thread Dump 线程堆栈】

【Linux】【运维】 【Thread Dump 线程堆栈】

qq_44077764的博客 1384

用vi在linux下查看16进制文件的方法

原帖地址,请查看:http://fanxh1983.blog.163.com/blog/static/35519721200891664823458/ 用vi在linux下查看16进制文件的方法。 用法很简单: 在vi的命令状态下 :%!xxd ——将当前文本转换为16进制格式。 :%!od ——将当前文本转换为16进制格式。 :%!xxd -c 12——将

vivianke的专栏 578

linux查看文件16进制,Linux下肿么查看16进制文件

1、xxd - make a hexdump or do the reverse.能够显示文件对应的十六机制格式,同时还能将修还后的十六进制格式反写回文件,一般与vim结合使用。(在 vi 或 vim 的命令状态下):%!xxd 将当前文本转换为16进制格式。:%!xxd -r 将当前文件转换回文本格式。如果没有此命令,请先安装vim-commonrpm...

weixin_30241053的博客 549

crash实战:手把手教你使用crash分析内核dump

Kdump是Linux的一种内核崩溃捕获机制,Linux内核遇到致命错误崩溃时会触发Kdump机制将崩溃时的现场保存下来,以便后续分析和故障排查。目前市面上有很多分析Kdump的工具,例如trace32, crash tool,本文介绍crash tool在手机领域的应用,并重点介绍一些实用的技巧。然而,本文的重点并不是介绍crash tool的工作原理和基础命令,也不是为了介绍Kdump转储的原...

内核工匠 1万+
上一篇: 如何准确估算并发数?
下一篇: 使用Git制作和管理Patch
ppby2002
博客等级 码龄23年 65粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值