问题描述
我正在使用dd
将图像复制到USB上。但是dd
代表什么?
我理解它的用途,但不知道dd
的名称实际上是什么,或者是它的首字母缩写词。它甚至没有在手册页中说明。
最佳解决思路
语法的灵感来自OS /360 JCL的DD(数据定义)语句。资料来源:GNU
更多阅读Here
次佳解决思路
有很多理论。我记得在Unix v7中(当dd
首次出现时)手册页说它意味着磁盘转储(或者它是数据转储?),因为它经常用作磁盘备份/恢复实用程序。但是,v7 man page的档案中没有提到词源或含义。可能是我从贝尔实验室的某个人那里听到的,因为我在20世纪80年代初期偶尔会访问它。
其他theories are:
-
数据驱逐舰
-
数据析构函数
-
盘驱逐舰
-
删除数据
-
重复数据
-
最初用于复制和转换,但由于C编译器已经使用了
cc
(来自PDP-11上Unix-V7的人员),因此重命名了
第三种解决思路
dd代表Data Description。
第四种思路
dd = “Disc Dump”。
此实用程序来自原始UNIX系统操作环境,通常复制辅助内存(“Virtual Memory”操作系统中的大容量存储设备)。 dd可以这样做,一点一位,一字节一字节,扇区扇区,轨道跟踪等。它还可以翻转位,将EBCDIC转换为ASCII,更改块大小,并执行你想要的任何其他二进制操作/需要移动/转换/恢复存储数据。当时的存储设备(全部)比现在慢得多,密度低,可靠性差得多。我们不得不一直更换/修理“随机存取磁性存储设备”(例如磁盘驱动器,软盘和硬磁盘等)。
在头部崩溃或其他灾难性存储设备故障的情况下,”dd”是(现在仍然是)我最喜欢的实用程序之一,用于提取新设备的数据。安装新设备后,我可以使用fsck(文件系统检查)和fsdb(文件系统调试器)来恢复/修复一些受损的文件系统,并可能提取一些数据。
这也是我们的第一个基本备份系统。应用程序进程(dd)可以作为”super user”运行,并通过I /O子系统(内核)通过字符(原始)或块设备驱动程序[入口点]直接读/写,绕过文件系统(内核)但完全复制文件系统构造到新设备。 dd(像所有其他UNIX核心实用程序一样)也能够从标准输入读取并写入标准输出,允许它用于shell脚本中的其他内容:-) ….
第五种思路
一直认为它代表’disk dupe'(复制磁盘)认为它是在SCO Unix Sys V版本