linux dd看不到安装盘,Linux dd 命令 command not found dd 命令详解 dd 命令未找到 dd 命令安装 - CommandNotFound ⚡️ 坑否...

显示行号

|

选择喜欢的代码风格

默认

GitHub

Dune

LakeSide

Plateau

Vibrant

Blue

Eighties

Tranquil

dd 命令根据指定的操作复制文件,并转换过程中的数据格式,对原文件的内容进行转换和格式化处理。

dd 命令安装:

-bash: dd: command not found

#Debian

apt-get install coreutils

#Ubuntu

apt-get install coreutils

#Alpine

apk add man

#Arch Linux

pacman -S coreutils

#Kali Linux

apt-get install coreutils

#CentOS

yum install coreutils

#Fedora

dnf install coreutils

#OS X

brew install coreutils

#Raspbian

apt-get install coreutils

#Docker

docker run cmd.cat/dd dd

dd 命令补充说明:

dd 命令用于复制文件并对原文件的内容进行转换和格式化处理。dd 命令功能很强大的,对于一些比较底层的问题,使用 dd 命令往往可以得到出人意料的效果。用的比较多的还是用 dd 来备份裸设备。但是不推荐,如果需要备份 oracle 裸设备,可以使用 rman 备份,或使用第三方软件备份,使用 dd 的话,管理起来不太方便。

建议在有需要的时候使用 dd 对物理磁盘操作,如果是文件系统的话还是使用 tar backup cpio 等其他命令更加方便。另外,使用 dd 对磁盘操作时,最好使用块设备文件。

dd 命令语法:

dd [OPERAND]...

dd OPTION

dd 命令选项:

if=文件名:输入文件名,默认为标准输入。即指定源文件。

of=文件名:输出文件名,默认为标准输出。即指定目的文件。

ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。

obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。

bs=bytes:同时设置读入/输出的块大小为bytes个字节。

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

skip=blocks:从输入文件开头跳过blocks个块后再开始复制。

seek=blocks:从输出文件开头跳过blocks个块后再开始复制。

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

conv=,关键字可以有以下11种:

conversion:用指定的参数转换文件。

ascii:转换ebcdic为ascii

ebcdic:转换ascii为ebcdic

ibm:转换ascii为alternate ebcdic

block:把每一行转换为长度为cbs,不足部分用空格填充

unblock:使每一行的长度都为cbs,不足部分用空格填充

lcase:把大写字符转换为小写字符

ucase:把小写字符转换为大写字符

swab:交换输入的每对字节

noerror:出错时不停止

notrunc:不截短输出文件

sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

--help:显示帮助信息

--version:显示版本信息

dd 命令选项数值后缀(块大小可以使用的计量单位表):

BLOCKS 和 BYTES 后面可以跟以下乘法后缀:

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

依次为T(TB),P(PB),E(exabyte),Z(zettabytes)和Y(yottabytes)。

dd 命令的坑:

警告:

谨慎使用 dd ———— 使用不当或输入错误的值可能会无意间擦除,破坏或覆盖硬盘驱动器上的数据。

dd 命令实例

从计算机中的 CD 创建 ISO 光盘映像。

dd if=/dev/sr0 of=/home/hope/exampleCD.iso bs=2048 conv=noerror,sync

创建 /dev/sda 硬盘驱动器的 img 文件。 要还原该映像,请输入:dd if=disk1.img of=/dev/sda

dd if=/dev/sda of=~/disk1.img

将内容从 if= drive /dev/sda 复制到 of= drive /dev/sdb:

dd if=/dev/sda of=/dev/sdb

dd 命令其他示例:

[root@localhost text]# dd if=/dev/zero of=sun.txt bs=1M count=1

1+0 records in

1+0 records out

1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s

[root@localhost text]# du -sh sun.txt

1.1M sun.txt

该命令创建了一个 1M 大小的文件 sun.txt,其中参数解释:

if 代表输入文件。如果不指定 if,默认就会从 stdin 中读取输入。

of 代表输出文件。如果不指定 of,默认就会将 stdout 作为默认输出。

bs 代表字节为单位的块大小。

count 代表被复制的块数。

/dev/zero 是一个字符设备,会不断返回 0 值字节(\0)。

块大小可以使用的计量单位表如本文上面显示 dd 命令数值后缀换算关系,以上命令可以看出 dd 命令来测试内存操作速度:

1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s

dd 命令,生成随机字符串

我们甚至可以使用 /dev/urandom 设备配合 dd 命令 来获取随机字符串:

[www@CommandNotFound /]$ dd if=/dev/urandom bs=1 count=15|base64 -w 0

15+0 records in

15+0 records out

15 bytes (15 B) copied, 0.000143231 s, 105 kB/s

y38aC+sFYmsejdDQUvs8

还有一种情况,比如在配置很低的服务器上编译 make (1G 内存) PHP 7.4.X 的时候,可能会遇到 virtual memory exhausted: Cannot allocate memory,先用 free 命令 查看:

$ free -m

total used free shared buff/cache available

Mem: 991 176 372 0 442 673

Swap: 0 0 0

可以按下面方式设置 swap 大小来解决:

mkdir /opt/images

rm -rf /opt/images/swap #如果有

接下来,用 dd 命令:

$ dd if=/dev/zero of=/opt/images/swap bs=1024 count=2048000

2048000+0 records in

2048000+0 records out

2097152000 bytes (2.1 GB) copied, 5.99634 s, 350 MB/s

#继续执行,用 mkswap 和 swapon 命令:

[root@CommandNotFound /opt/images]

$ mkswap /opt/images/swap

Setting up swapspace version 1, size = 2047996 KiB

no label, UUID=96aa2fe9-1ffe-418d-8bd6-1354b0fc229a

[root@CommandNotFound /opt/images]

$ swapon /opt/images/swap

swapon: /opt/images/swap: insecure permissions 0644, 0600 suggested.

此时再 free -m 可以看到已经设置了 swap,使用完毕后,可以关掉 swap:

$ free -m

total used free shared buff/cache available

Mem: 991 177 76 0 736 669

Swap: 1999 0 1999

$ swapoff swap

$ rm -f /opt/images/swap #swap文件也可以不删除,留着以后使用,关键是你的虚拟机硬盘够用

dd 命令扩展阅读:

dd 命令评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值