Linux中关于dd命令的使用实例教程
发布时间 - 2017-05-28 00:00:00 点击率:次dd命令用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。下面这篇文章主要给大家介绍了关于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 timeconv=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.000124124038 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
总结
# linux
# 并在
# 给大家
# 可选
# 跳过
# 默认为
# 相关内容
# 有一定
# 而不
# 朋友们
# 来看看
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
C++时间戳转换成日期时间的步骤和示例代码
Laravel如何使用Blade组件和插槽?(Component代码示例)
Laravel怎么实现验证码(Captcha)功能
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
如何在腾讯云免费申请建站?
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
如何快速搭建高效可靠的建站解决方案?
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
用yum安装MySQLdb模块的步骤方法
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
利用python获取某年中每个月的第一天和最后一天
深圳网站制作平台,深圳市做网站好的公司有哪些?
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
如何选择PHP开源工具快速搭建网站?
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
Laravel如何创建自定义中间件?(Middleware代码示例)
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
Laravel如何配置Horizon来管理队列?(安装和使用)
Laravel storage目录权限问题_Laravel文件写入权限设置
Python文本处理实践_日志清洗解析【指导】
电商网站制作价格怎么算,网上拍卖流程以及规则?
Laravel如何实现多对多模型关联?(Eloquent教程)
Linux后台任务运行方法_nohup与&使用技巧【技巧】
详解Huffman编码算法之Java实现
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
如何解决hover在ie6中的兼容性问题
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
如何在IIS7中新建站点?详细步骤解析
如何用狗爹虚拟主机快速搭建网站?
海南网站制作公司有哪些,海口网是哪家的?
如何生成腾讯云建站专用兑换码?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
如何在建站之星绑定自定义域名?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
如何在Windows 2008云服务器安全搭建网站?
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
企业网站制作这些问题要关注
JavaScript中的标签模板是什么_它如何扩展字符串功能
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
HTML 中如何正确使用模板变量为元素的 name 属性赋值
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?


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