linux+dd模式,Linux命令之dd详解

dd [OPERAND]

dd 选项

复制一个文件,根据[OPERAND]进行转换和格式化

(1). OPERAND参数

说明1:dd的选项只有’--help’和’--version’,也就是帮助与版本信息。而下列都是[操作数],而非选项。

说明2:读取是输入,写入是输出

说明3:不指定if,默认从标准输入读取。如果不指定of,默认写入到标准输出

bs=BYTES 同时设置读取和写入(输入ibs输出obs)的块大小为BYTES个字节,具体看本章(4).块大小可以使用的计量单位

cbs=BYTES 一次转换BYTES个字节,即指定转换缓冲区大小

conv=CONVERSION[,CONVERSION] 用指定参数转换文件

count=N 仅拷贝N个块,块大小等于ibs指定的字节数

ibs=BYTES 一次读取BYTES个字节,即指定一个块大小为BYTES个字节(默认512)

if=FILE 从文件读取代替标准输入,即指定源文件

iflag=FLAG[,FLAG] 使用FLAG参数指定的输入方式

obs=BYTES 一次写入BYTES个字节,即指定一个快大小为BYTES个字节(默认512)

of=FILE 写入到文件代替标准输出,即指定目的文件

oflag=FLAG[,FLAG] 使用FLAG参数指定的输出方式

seek=BLOCKS 从输出文件开头跳过BLOCKS个输出块再开始复制(小心ibs和obs不一样)

skip=BLOCKS 从输入文件开头跳过BLOCKS个输入块再开始复制(小心ibs和obs不一样)

status=WHICH 用来控制dd程序的输出信息。分别为noxfer,none和progress,默认为progress。none不输出任何相关信息,错误信息正常输出。noxfer不输出最后的统计信息。progress输出所有信息。

(2).CONVERSION参数

ascii 由ebcdic码转换至ascii码

ebcdic 由ascii码转换至ebcdic码

ibm 由ascii码转换至替换的ebcdic码

block 对于输入中的每一行输出cbs个字节,用空格替换输入换行符,必要时用空格填充

unblock 删除cbs大小的块的尾部空格,并添加一个换行符

lcase 将大写字符转换为小写字符

nocreat 不创建输出文件,输出文件必须已经存在

excl 输出文件已经存在则失败;dd命令必须创建文件本身

notrunc 不要截断输出文件(不将文件长度缩短为0)

ucase 将小写字符转换为大写字符

sparse 尝试查找而不是编写空(NUL)输出块。在支持稀疏文件的文件系统中,当扩展输出文件时,这会创建稀疏输出。

swab 交换每对字节,奇数时最后一个字节只复制

noerror 读取数据发生错误后仍然继续

sync 把每个输入块以空(NUL)填充至ibs大小,如果配合日block或unblock使用,则以空格代替空(NUL)填充

fdatasync 结束前将输出文件数据写入磁盘

fsync 类似上面,但元数据也一同写入

(3).FLAG参数

append 追加模式。将数据拷贝到目标文件末尾,同时应该设置conv=notrunc。否则文件将在被拷贝之前清空。

cio 使用并发I/O存取模式,此模式使用直接I/O。并删除POSIX要求,将所有I/O串行化到同一个文件。在cio模式下无法打开该文件,同时打开一个标准文件(这句话可能有错,原文:A file cannot be opened at cio mode,and with a standard open in the same time.)。

direct 使用直接I/O存取模式,避免缓冲区高速缓存(不在内存中对文件数据进行缓存)

directory 仅拷贝文件夹,因为很多系统不支持对文件夹进行I/O操作,所以不太实用。

dsync 使用同步I/O模式读写数据。每次写的时候,都强制进行一次物理写入(写入/保存到磁盘)

sync 数据和元数据都使用同步I/O模式。

fullblock 直到填充万一个块后才返回

nonblack 使用非阻塞I/O

noatime 不改变文件的访问时间

noctty 不对dd使用指定的文件作为控制终端

nofollow 不跟随符号链接

nolinks 如果有多个硬链接则失败(硬链接和软链接也就是符号链接,自己查一下吧,有点复杂)

binary 使用二进制I/O

text使用text I/0

count_bytes 将count的单位设置为字节,而不是块

(4).块大小可以使用的计量单位

单位大小

代码

字节(1B)

c

字节(2B)

w

块(512B)

b

千字节(1024B)

k

兆字节(1024KB)

M

吉字节(1024MB)

G

(5).实例

根据/dev/zero空文件创建一个50M的空文件

[[email protected] ~]$ dd if=/dev/zero of=1.txt bs=M count=50

记录了50+0 的读入

记录了50+0 的写出

52428800字节(52 MB)已复制,0.0508383 秒,1.0 GB/秒

[[email protected] ~]$ ll -h 1.txt

-rw-rw-r--. 1 xf xf 50M 2月 26 10:17 1.txt

[[email protected] ~]$ cat 1.txt

[[email protected] ~]$

注意:还可以用于完整备份。dd if=/dev/sda of=/dev/sdb(包括超级块等)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vi命令Linux/Unix系统中的一款文本编辑器,可用于编辑各种文本文件,包括配置文件、代码等。而less命令则是一种文本查看器,可用于查看文本文件,比vi命令更加轻量级。下面分别对vi和less命令进行详细讲解。 ## vi命令 ### 基本用法 vi命令有多种模式,最常用的是命令模式和编辑模式。在命令模式下,可以执行一些命令,如保存文件、退出编辑等;在编辑模式下,可以进行插入、删除、修改、复制等编辑操作。 以下是vi命令的一些基本用法: 1. 打开文件:`vi 文件名` 2. 切换到编辑模式:按下`i`键或`Insert`键 3. 保存文件:在命令模式下,输入`:w`并按下回车键 4. 退出编辑:在命令模式下,输入`:q`并按下回车键 5. 强制退出编辑(不保存):在命令模式下,输入`:q!`并按下回车键 6. 保存并退出编辑:在命令模式下,输入`:wq`并按下回车键 ### 进阶用法 vi命令还有很多高级用法,如: 1. 复制、粘贴和删除:在编辑模式下,使用`yy`复制当前行,使用`p`粘贴剪切板中的内容,使用`dd`删除当前行 2. 搜索和替换:在命令模式下,输入`/关键字`进行搜索,输入`:s/旧字符串/新字符串/g`进行替换 3. 多窗口编辑:在命令模式下,输入`:sp`可以打开一个新窗口,输入`:vs`可以打开一个新的垂直窗口 ## less命令 less命令是一种文本查看器,用于查看文本文件。它比vi命令更加轻量级,可以快速浏览大型文本文件。 以下是less命令的一些基本用法: 1. 查看文件:`less 文件名` 2. 翻页:使用空格键向下翻页,使用`b`键向上翻页 3. 搜索:按下`/`键后输入要搜索的关键字,按下回车键进行搜索,使用`n`键继续向下查找 4. 退出查看:按下`q`键退出查看 除了基本用法外,less命令还有一些高级用法,如: 1. 显示行号:使用`-N`参数可以在每行前面显示行号,如`less -N 文件名` 2. 显示颜色:使用`-R`参数可以显示颜色,如`less -R 文件名` 3. 显示文件大小:在查看文件时,按下`=`键可以显示文件大小和行数 4. 查看多个文件:在查看多个文件时,可以使用`:n`和`:p`命令来切换文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值