文档章节

Linux/UNIX: 使用 dd 命令创建 1GB 大小的二进制

FalconChen
 FalconChen
发布于 03/27 13:18
字数 893
阅读 33
收藏 0

如何使用 Shell 命令,在 UNIX/Linux/BSD 系统上使用dd命令创建1GB或者10GB镜像文件?

您可以使用 dd 命令生成镜像文件,用来测试网络或文件系统。

你需要使用下面命令:

  1. fallocate - 预分配空白文件;
  2. truncate  - 缩小或扩展文件的大小;
  3. dd - 转换和复制文件,例如 克隆、新建、覆盖 镜像;
  4. df - 查看磁盘空间;
  5. du - 统计磁盘使用情况;
  6. ls - 列出文件大小;

fallocate 命令语法

基本语法是:

fallocate -l Image_Size_Here /path/to/image.img

使用 fallocate 命令在 Linux 上创建大文件

用下面命令创建 1GB 文件:
fallocate -l 1G test.img

使用 ls 命令查看文件大小:

$ ls -lh test.img

示例输出:
-rw-r--r--. 1 root root 1.0G Nov 27 03:42 test.img

你可以使用 stat 或 du 命令查看块分配信息:
stat test.img
  File: `test.img'
  Size: 1073741824      Blocks: 2097160    IO Block: 4096  regular file
Device: 805h/2053d      Inode: 9043983    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)  Gid: (    0/    root)
Access: 2013-11-27 03:42:27.575841698 -0600
Modify: 2013-11-27 03:42:27.575841698 -0600
Change: 2013-11-27 03:51:06.108962462 -0600
du -h test.img
1048580 test.img

创建 100M 大小的文件,按回车即可:

fallocate -l 100M file.out

后面的 -l 参数时用来指定文件大小以字节为单位,如 k, m, g, t, p, e 分别表示 KiB, MiB, GiB,TiB,PiB,EiB。

dd 命令语法

注意: 下面的信息只存在于老版本的 Linux 或当 fallocate 命令不可用的系统上。如果可能的话尽量使用 fallocate 命令创建的二进制镜像文件。dd 命令被认为是旧的并且不推荐使用,但这里介绍的只是历史的原因。

基本语法:

dd if=/path/to/input of=/path/to/output [options]
 OR
dd if=/dev/zero of=/path/to/output.img [options]
 OR
dd if=/dev/zero of=YOUR-IMAGE-FILE-NAME-HERE bs=1 count=0 seek=Size-HERE

使用 dd 命令创建镜像

首先,要确保磁盘有足够的空间来存放 dd 创建的文件:

$ df -H

创建 1MB 文件,按回车:

$ dd if=/dev/zero of=test.img bs=1024 count=0 seek=1024

你将会得到一个空文件(也称为“稀疏文件”)。创建 10M 的文件,按回车:

$ dd if=/dev/zero of=test.img bs=1024 count=0 seek=$[1024*10]

创建 100M 的文件,按回车:

$ dd if=/dev/zero of=test.img bs=1024 count=0 seek=$[1024*100]
 $ ls -lh test.img

创建 1GB 的文件:

$ dd if=/dev/zero of=1g.img bs=1 count=0 seek=1G
示例输出:0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000235686 s, 0.0 kB/s

确认文件大小(留意 bs 参数的作用):

$ ls -lh 1g.img
 $ stat 1g.img
 $ du -h 1g.im

dd 提示: 在 Unix 或 Linux 新建指定大小文件

如果 truncate 命令不可用,尝试下面语法:
dd if=/dev/zero of=/path/to/fiie.img bs=YOUR-FILE-SIZE-HERE count=1

在这个例子中,新建一个 1GB 大小的文件(在 *BSD/OS X 使用 1g):

$ dd if=/dev/zero of=1g.bin bs=1G count=1
示例输出:1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 8.12307 s, 132 MB/s

确认文件大小:

$ stat 1g.bin

示例输出:  File: `1g.bin'
  Size: 1073741824      Blocks: 2097152    IO Block: 4096  regular file
Device: 805h/2053d      Inode: 9043988    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)  Gid: (    0/    root)
Access: 2013-11-27 04:15:02.962662890 -0600
Modify: 2013-11-27 04:15:03.769673943 -0600
Change: 2013-11-27 04:15:03.769673943 -0600

英文原文:Linux / UNIX: Create Large 1GB Binary Image File With dd Command

译者:Daniel

© 著作权归作者所有

FalconChen
粉丝 140
博文 168
码字总数 87811
作品 0
深圳
高级程序员
私信 提问
加载中

评论(0)

硬盘测试——dd

dd是一个Unix和类Unix系统上的命令,主要功能为转换和复制文件。dd的名字可能来源于IBM的工作控制语言(JCL)中的DD语句,意为“Data Description”(数据描述)的缩写,它也被用来在Linux和...

jesse-lin
2016/11/06
22
0
linux 文件作为Swap分区

linux 文件作为Swap分区 1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。 dd if=/dev/zero of=/var/swapfile b...

ZhiZhiMao
2019/06/01
0
0
如何在 Linux 上创建和使用交换文件

本教程讨论了 Linux 中交换文件的概念,为什么使用它以及它相对于传统交换分区的优势。你将学习如何创建交换文件和调整其大小。 什么是 Linux 的交换文件? 交换文件允许 Linux 将磁盘空间模...

作者: Abhishek Prakash
2019/09/14
0
0
6个关于dd命令备份Linux系统的例子

数据丢失带来的损失是相当昂贵的。关键数据的丢失会对各种规模的企业带来影响。有几种方法来备份Linux系统,包括rsync的和rsnapshot等。本文提供有关使用dd命令备份Linux系统的6个实例。 dd...

linuxprobe16
2016/11/05
12
0
运维工程师必会的109个Linux命令(2)

点击链接加入QQ群 522720170(免费公开课、视频应有尽有):https://jq.qq.com/?wv=1027&k=5C08ATe 2 磁盘管理 2.1 dd 2.1.1 功能说明 读取,转换并输出数据。 2.1.2 语法 dd [bs=][cbs=][c...

小强测试帮
2018/05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

郑州哪哪里可以开工程款发票-郑州_新闻网

【电薇同步;1.3.8 - 2.7.4.1 - 5.2.9.7.】张生、诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridge,是Android手机通用...

yyqqvip
59分钟前
30
0
Nginx 反向代理访问

在Nginx 配置 server { listen 80; server_name www.xiaocx.org www.xiaocx.org www.xiaocx.org; root /Users/maison/work/xiaocx/dist; index i......

韩庚庚
今天
33
0
python笔记:环境变量已设置CMD中一直报错"python"不是内部命令,也不是可运行的程序或批处理文件

这些天虽然也写了几个小工具,但是打包都是在anaconda prompt中完成的,因为CMD中一直报错"python"不是内部命令,也不是可运行的程序或批处理文件,各种查度,千篇一律的是环境变量配置的问题...

小玲_001
今天
13
0
AI+BI服务模式

术语与缩写解释 缩写、术语 解 释 BI 商业智能(Business Intelligence,简称:BI),又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析...

zoegu228
今天
28
0
leetcode1227(面试题 17.09. 第 k 个数)--C语言实现

求: 有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。 示例 1:...

拓拔北海
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部