Linux dd命令有多强大?( 二 )


7.2 `dd`命令使用案例2:备份一个磁盘分区
克隆设备和备份分区的步骤类似 。我们可以创建一个.img(原始磁盘映像)文件,而不是将目标文件作为一个设备 。
假设我们的系统在sda2有一个单独的主目录分区,我们希望将它备份到一个名为home_backup的文件中 。在我们当前的目录中 。
dd if=/dev/sda2 of=home_backup.img就是这么简单!简单和强大的备份程序就在您手上 。但总是有更多的东西要学 。
7.3 `dd`命令使用案例3:删除数据并将磁盘归零
还记得之前的所有警告吗?这个命令将用0替换sda的每个块 。即删除数据并无法还原 。
dd命令使用案例3:删除数据并将磁盘归零
dd if=/dev/zero of=/dev/sda这是怎么做到的呢?本质上,与所有其他in和out 选项相同 。/dev/zero是什么?
它是一个包含在Unix/Linux操作系统中的伪设备,它将向文件写入0,直到它到达文件的末尾 。
你也可以使用dev/random来输出随机的数据 。如果您计划使用原始图像文件来替换内容,这可能是不必要的,因为使用dd已经复制了未使用的空间 。
请注意,一些恶意有心的人在各种Linux论坛上欺骗不知情的用户来运行这个命令 。现在你知道这个命令的作用了,你就不会成为这个邪恶恶作剧的牺牲品了 。
7.4 `dd`命令使用案例4:`CD/DVD`中创建`.ISO`文件
如果你的电脑还有光驱的话,你可以直接从光驱上拷贝 。之前我提到过cd-rom的标准字节大小是2048 。我们将设置与之匹配的字节大小以避免转换问题,然后添加几个其他命令 。
dd if=/dev/cdrom of=space_jam_dvd.iso bs=2048 conv=noerror,sync让我解释一些事情 。使用conv=noerror,任何错误都将被忽略 。这个程序将一直运行到最后一个块而不停止 。它不会为他们停止 。
当与noerror一起使用时,sync将确保任何丢失的数据块将自动用空信息填充 。
这意味着现有数据将被映射到相同的位置,可能会尽可能多地保留内容 。
确保源文件和目标文件具有相同的bs来进行这些操作是很重要的,否则它们将不会得到预期的结果 。
7.5 `dd`命令使用案例5:创建一个可启动的USB
您可以使用dd创建一个可启动的USB,它就像您所期望的那样简单 。事实上,这是dd命令最流行的用法之一 。
这里涉及到一个额外的步骤 。在运行dd之前,我们使用mkfs命令在我们的USB上构建文件系统 。
没有选项,它使用默认的ext2系统 。因此,假设我们要准备的USB被称为sdb,我们想要将文件系统更改为ext4,我们将运行以下命令:
sudo mkfs.ext4 /dev/sdb如果希望与windows系统一起使用,可以使用mkfs.ntfs来替换命令的第一部分 。
你也可以使用以下语法:
mkfs -t [for type] $filesystem.一旦准备好了可启动的介质,我们就可以继续执行dd命令 。
dd if=someFile.iso of=/dev/sdb使用.iso文件挂载映像并复制到usb设备的相应驱动器名 。
8. 结论
本文主要介绍Linux dd命令的强大功能与日常的使用案例 。有很多不同的方法可以使用这个命令 。我试着讲了很多更有用的例子 。如果你有什么想看的或直接的问题,我很乐意帮忙 。请在评论中告诉我你的想法 。
本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/rmxx/1526.html




推荐阅读