做 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 次 |
| 最近记录: |