欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 【Linux】dd和hexdump命令的使用

【Linux】dd和hexdump命令的使用

2025/5/21 6:11:16 来源:https://blog.csdn.net/qq_45800517/article/details/148053090  浏览:    关键词:【Linux】dd和hexdump命令的使用

文章目录

  • 1. dd命令的介绍和使用
    • 1.1 dd命令的基本语法和参数
    • 1.2 dd命令的使用示例
      • 磁盘克隆
      • 创建磁盘镜像
      • 创建空文件
      • 覆盖写
      • 压缩备份
      • 远程复制
    • 1.3 dd命令使用注意事项
  • 2. hexdump命令的介绍和使用
    • 2.1 hexdump命令的基本语法和参数
    • 2.2 hexdump命令的使用示例
      • 查看文件前n个字节内容
      • 查看磁盘特定扇区
      • 对比文件差异
    • 2.3 hexdump命令使用注意事项
  • 3. 二者结合使用

1. dd命令的介绍和使用

dd是Linux系统中的一个命令行工具,主要用于块级数据的复制和转换,它以底层方式直接操作文件或设备,适合处理磁盘、分区、iSO镜像等场景。

1.1 dd命令的基本语法和参数

dd if=<输入文件> of=<输出文件> [选项]
# 常用选项
bs=<字节> : 设置每次读写块的大小,默认512B
count=<块数> : 仅复制指定数量的块
skip=<块数> : 跳过输入文件的前n个块
seek=<块数> : 跳过输出文件的前n个块

1.2 dd命令的使用示例

磁盘克隆

dd if=/dev/sda of=/dev/sdb bs=4M status=progress

/dev/sda克隆到/dev/sdb(注意目标磁盘容量需要相同或者更大);status=progress显示实时进度。

创建磁盘镜像

dd if=/dev/sda of=disk.img bs=4M status=progress

/dev/sda备份为镜像文件disk.img;
恢复镜像可使用:dd if=disk.img of=/dev/sda

创建空文件

dd if=/dev/zero of=largefile.bin bs=1M count=100

生成一个100M的空文件,由零填充

覆盖写

	dd if=/dev/urandom of=/dev/sda bs=4M status=progress

用随机数据覆盖磁盘。

压缩备份

# 结合gzip减少镜像体积
dd if=/dev/sda | gzip > disk.img.gz

远程复制

# 通过ssh跨网络克隆磁盘
dd if=/dev/sda | ssh user@host "dd of=/dev/sdb"

1.3 dd命令使用注意事项

  • dd直接操作硬件,错误的of=参数可能导致数据丢失;以及执行后难以恢复数据;
  • bs的值越大效率越高,但需平衡内存和性能;
  • 错误处理:conv=noerror,sync可以在读取错误时继续,并用零填充损坏快。

2. hexdump命令的介绍和使用

hexdump是Linux系统中用于查看和分析二进制文件内容的工具,它可以将文件内容以十六进制、十进制、八进制或ASCII码形式显示。

2.1 hexdump命令的基本语法和参数

hexdump [选项] <文件>
# ---------- 常用参数 ----------
# 显示模式
-C : 左侧显示十六进制字节,右侧显示对应的ASCII码
-b : 以八进制单字节显示文件内容
-c : 以ASCII字符显示文件内容,不可打印字符显示为转义字符
-d : 以十进制双字节显示内容
-o : 以八进制双字节显示内容
-x : 以十六进制双字节显示内容# 控制显示范围
-n <长度> : 仅显示文件的前N个字节
-s <偏移> : 从文件的指定偏移量开始显示,支持0x前缀表示16进制
-v : 显示所有数据

2.2 hexdump命令的使用示例

查看文件前n个字节内容

hexdump -C -n 64 /file1

查看磁盘特定扇区

hexdump -C /dev/sda -s 512 -n 512 # 查看第 2 个扇区

对比文件差异

hexdump -C file1.bin >> file1.txt
hexdump -C file2.bin >> file2.txt
diff file1.txt file2.txt

2.3 hexdump命令使用注意事项

  • 大文件处理时,直接使用hexdump可能导致终端卡顿,可以结合-n或者使用dd命令截取片段,比如:
    dd if=largefile.bin bs=1M count=10 | hexdump -C
    
  • -s偏移量以字节为单位,使用-s时要注意文件大小

3. 二者结合使用

一般情况下,可以使用dd命令操作数据,然后使用hexdump命令观察数据

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词