做 iedd bs=4M if=archlinux.iso of=/dev/sdx status=progress oflag=sync
或做之间有什么区别cp archlinux.iso /dev/sdx && sync
,有理由使用一个而不是另一个吗?(除了 dd 中漂亮的进度条)
一个区别是效率,因此是速度。例如,您可以一一获取字节并将它们复制到设备,使用cat
:
cat archlinux.iso > /dev/sdx
Run Code Online (Sandbox Code Playgroud)
理论上 cat 会独立移动每个字节。这是一个缓慢的过程,尽管在实践中会涉及缓冲区。
有了dd
一个好的块大小(通常与物理块大小相关),它会更快。
有了cp
这取决于所用的缓冲区大小cp
(不是你的控制之下),在路上,其他缓冲区。理论上效率介于cat
和之间dd
。
打个比方:这就像把一个杯子里的东西倒进另一个杯子里。
cat
一次会做一滴。
dd
将使用勺子,您定义勺子有多大(系统限制适用)
cp
会用自己的勺子,你不知道它有多大。
归档时间: |
|
查看次数: |
769 次 |
最近记录: |