Linux中dd命令使用实例教程
作者:hbxztc 发布时间:2021-03-12 05:41:37
标签:linux,dd命令
本文主要给大家介绍了关于Linux中dd命令使用的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:
一、Linux dd命令用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
使用方法:dd [OPERAND]
参数注释:
bs=BYTES read and write BYTES bytes at a time (also see ibs=,obs=)
cbs=BYTES convert BYTES bytes at a time
conv=CONVS convert the file as per the comma separated symbol list
count=N copy only N input blocks
ibs=BYTES read BYTES bytes at a time (default: 512)
if=FILE read from FILE instead of stdin(默认为标准输入)
iflag=FLAGS read as per the comma separated symbol list
obs=BYTES write BYTES bytes at a time (default: 512)
of=FILE write to FILE instead of stdout(默认为标准输出)
oflag=FLAGS write as per the comma separated symbol list
seek=BLOCKS skip BLOCKS obs-sized blocks at start of output
skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input
status=WHICH WHICH info to suppress outputting to stderr;
'noxfer' suppresses transfer stats, 'none' suppresses all
CONVS的可选参数
ascii from EBCDIC to ASCII
ebcdic from ASCII to EBCDIC
ibm from ASCII to alternate EBCDIC
block pad newline-terminated records with spaces to cbs-size
unblock replace trailing spaces in cbs-size records with newline
lcase change upper case to lower case
nocreat do not create the output file
excl fail if the output file already exists
notrunc do not truncate the output file
ucase change lower case to upper case
sparse try to seek rather than write the output for NUL input blocks
swab swap every pair of input bytes
noerror continue after read errors
sync pad every input block with NULs to ibs-size; when used
with block or unblock, pad with spaces rather than NULs
fdatasync physically write output file data before finishing
fsync likewise, but also write metadata
FLAGS的可选参数
append append mode (makes sense only for output; conv=notrunc suggested)
direct use direct I/O for data
directory fail unless a directory
dsync use synchronized I/O for data
sync likewise, but also for metadata
fullblock accumulate full blocks of input (iflag only)
nonblock use non-blocking I/O
noatime do not update access time
noctty do not assign controlling terminal from file
nofollow do not follow symlinks
count_bytes treat 'count=N' as a byte count (iflag only)
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:
c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M
GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y
二、使用实例
1、将本地的/dev/hdb整盘备份到/dev/hdd
dd if=/dev/hdb of=/dev/hdd
2、将/dev/hdb全盘数据备份到指定路径的image文件
dd if=/dev/hdb of=/root/image
3、备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径
dd if=/dev/hdb | gzip > /root/image.gz
4、把一个文件拆分为3个文件
#文件大小为2.3k
[Oracle@rhel6 ~]$ ll db1_db_links.sql
-rw-r--r-- 1 oracle oinstall 2344 Nov 21 10:39 db1_db_links.sql
#把这个文件拆成每个文件1k,bs=1k,count=1,使用skip参数指定在输入文件中跳过多少个bs支读取
[oracle@rhel6 ~]$ dd if=db1_db_links.sql of=dd01.sql bs=1k count=1
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 4.5536e-05 s, 22.5 MB/s
[oracle@rhel6 ~]$ dd if=db1_db_links.sql of=dd02.sql bs=1k count=1 skip=1
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.000146387 s, 7.0 MB/s
[oracle@rhel6 ~]$ dd if=db1_db_links.sql of=dd03.sql bs=1k count=1 skip=2
0+1 records in
0+1 records out
296 bytes (296 B) copied, 0.000204216 s, 1.4 MB/s
#拆分出的文件
[oracle@rhel6 ~]$ ll dd*sql
-rw-r--r-- 1 oracle oinstall 1024 May 20 14:58 dd01.sql
-rw-r--r-- 1 oracle oinstall 1024 May 20 14:58 dd02.sql
-rw-r--r-- 1 oracle oinstall 296 May 20 14:58 dd03.sql
5、把拆分出的文件合并为1个
#合并操作,此时用到seek参数,用于指定在输入文件中跳过的bs数
[oracle@rhel6 ~]$ dd of=1.sql if=dd01.sql
2+0 records in
2+0 records out
1024 bytes (1.0 kB) copied, 0.000176 s, 5.8 MB/s
[oracle@rhel6 ~]$ dd of=1.sql if=dd02.sql bs=1k seek=1
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.000124038 s, 8.3 MB/s
[oracle@rhel6 ~]$ dd of=1.sql if=dd03.sql bs=1k seek=2
0+1 records in
0+1 records out
296 bytes (296 B) copied, 0.00203881 s, 145 kB/s
#与拆分前的文件进行校验
[oracle@rhel6 ~]$ diff 1.sql db1_db_links.sql
[oracle@rhel6 ~]$
6、在输出文件中指定的位置插入数据,而不截断输出文件
需要使用conv=notrunc
参数
[oracle@rhel6 ~]$ dd if=2.sql of=1.sql bs=1k seek=1 count=2 conv=notrunc
来源:http://www.linuxidc.com/Linux/2017-05/144021.htm
0
投稿
猜你喜欢
- 上一篇介绍了在Linux的CentOS下如何安装Nginx服务器,并且实现在Linux上访问Nginx服务器。本篇主要介绍VMVare下基于
- 今天我们来说说服务器基础知识方面的几个问题,也是困惑初涉服务器领域众“菜鸟”们的几个常见问题:1 双
- 随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统
- Webhostingpad空间以低廉的价格占据了美国主机市场不小的份额,便宜无好货应该不能用于Webhostingpad,从他们提供即时客服
- 前言在使用docker部署redis的时候,遇到很多坑,在此记录下遇到的问题一、安装docker和docker-compose### 安装d
- 校内网更名为人人网后,不断突破原先的限制发展,先是推出两网通行服务,将人人网与旗下开心网(kaixin.com)实现互联互通,从而使人人网和
- 一、Ubuntu Server 18.04.5 LTS系统安装Ubuntu分为桌面版(desktop)和服务器版(Server),下面为大家
- 记住一句话:执行ASP程序的地方不允许写入文件;允许写入文件的地方不允许运行ASP程序.在IIS里,选择不允许写入文件的目录如上传图片的UP
- 本系列写到今天(1,2),我打算做个完整的系列,从公司基本上能用得上的东西都写一写,在2008R2上有什么改变,能为大家带来何种易用性以及管
- 新增反爬虫策略文件:vim /usr/www/server/nginx/conf/anti_spider.conf文件内容#禁止Scrapy
- 广告的位置完全决定了广告的点击率,以文章网站为例,文章正文放336*280是公认点击率最高的。有的人总是抱怨某项广告收益太低,也许就是因为广
- IIS的安全验证机制做得很好,我们可以用ASP的安全验证来对windows 2000的管理者密码进行在线修改。当有人登录站点时,利用Serv
- 一、什么是沙盒所谓的“沙盒效应(Sandbox Effect)”对于许多网站管理员来说不像游乐场,倒
- Godaddy windows主机添加域名在现有虚拟主机帐户上可以添加多个域名。你可以根据自己选择的主机方案去注册,而不需要局限在一个原始注
- 测绘之家是我一个朋友的小站。说它小是因为它的定位服务范围小,只是针对一个很小的专业的人才网站。在帮朋友建站推广这段时间,其在该专业主流搜索关
- 前言该系列默认开启Nacos 服务,还不会搭建的小伙伴可以参考往期文章~本节重点是给大家介绍利用docker来搭建Es集群,废话不多说直接开
- 建站的朋友在Godaddy上注册了域名,绑定免费空间,进行测试程序,现在购买了新空间,要取消免费空间与域名的绑定,该如何删除Godaddy免
- 架设FTP服务器,一向是把安全放在首位,特别是利用IIS之类工具建立起来的FTP服务器更是如此。如果设置不当遭受到恶意攻击,那造成整个服务器
- 很多人做网站,有人成功,但是更多人失败,这是为什么?我觉得做网站,从事网赚行业—贵在坚持!现在搭建网站很容易,网络上一大把CMS建站系统任你
- WordPress系统的用户密码是保存在wp_users数据表的user_pass字段,密码是通过Portable PHP password