題:
如何跟踪dd的進度
SeanClt
2016-04-08 08:13:24 UTC
view on stackexchange narkive permalink

我正在使用以下命令來創建可啟動的SD卡

  sudo dd bs = 4m if = en_windows_10_enterprise_version_1511_x64_dvd_7224901.iso of = / dev / disk2
 

有沒有辦法跟踪進度?

[如何在MacOS中獲取dd以打印傳輸統計信息?](http://stackoverflow.com/questions/20772392/how-to-get-dd-to-print-transfer-stats-in-macos)
六 答案:
David Anderson
2016-04-08 16:55:54 UTC
view on stackexchange narkive permalink

可以使用您的命令顯示相同的信息,該信息每秒顯示在klanomath的答案中。您只需在執行 dd 命令時從鍵盤輸入 control kbd> T kbd>字符即可。

通過按 control kbd> T kbd>字符,您將向 dd 命令發送相同的 SIGINFO 信號到命令 pkill -INFO -x dd 發送。

davidcondrey
2016-10-10 18:25:29 UTC
view on stackexchange narkive permalink

從coreutils 8.24開始,dd添加了狀態選項。用Homebrew安裝coreutils來更新dd。

  brew install coreutils
#所有命令均已安裝前綴“ g”
sudo gdd if == / dev / diskX的XXXX.iso =狀態=進度

>示例:
複製的> 139648967字節(140 MB,133 MiB),304 s,459 kB / s
 
不了解coreutils,非常方便。
儘管這樣做可以,但是您可以取消使用[Raw Disk]的速度提高(http://serenity.ee/post/82120938429/mac-os-dd-with-devdisk-vs-devrdisk)
您仍然可以按以下方式使用原始磁盤:`sudo gdd if = XXXX.iso of = / dev / rdiskX bs = 1M`並通過`CTRL` +`T`檢查進度
klanomath
2016-04-08 09:14:33 UTC
view on stackexchange narkive permalink

dd 本身不提供進度條。您可以通過添加 pkill -INFO 命令來估算dd複製過程的進度。

示例:

  dd if = / dev / zero of = / dev / null bs = 64m count = 1000 &而pkill -INFO -x dd;睡一覺完成
 

結果:

  [1] 37691
0 + 0條記錄
0 + 0條記錄
0字節以0.028923秒的速度傳輸(0字節/秒)
共有275 + 0條記錄
275 + 0條記錄
在1.029698秒內傳輸了18454937600字節(17922667819字節/秒)
553 + 0條記錄
553 + 0條記錄
37111201792字節以2.048291秒的速度傳輸(18118129881字節/秒)
共有829 + 0條記錄
829 + 0條記錄
55633248256字節以3.068911秒的速度傳輸(18128009214字節/秒)
中有1000 + 0條記錄
1000 + 0條記錄
67208864000字節在3.720346秒內傳輸(18038339571字節/秒)
[1] +完成dd if = / dev / zero of = / dev / null bs = 64m count = 1000
 

這相當於高達18.1 GB / s。

您在其上運行該命令的計算機的硬件規格是什麼?
AilioopkinCMT 3.5 GHz i7 iMac。為什麼?
只是因為字節/秒的輸出而感到好奇,順便說一句,實際上是16.8 GB / s(向上舍入),因為這些是基數2,而不是基數10的計算。
Guglie
2018-04-28 23:19:40 UTC
view on stackexchange narkive permalink

您可以在 dd 命令運行時按 Control kbd> + t kbd>,或者要獲得良好的進度條,可以安裝 pv (管道查看器)通過Homebrew:

 釀造安裝光伏
 

然後執行:

  sudo dd if = disk-image.img |pv |須藤dd of = / dev / disk2
 

或(知道圖像的大小,在此示例中為16GB):

  dd if = disk-image.img |pv -s 16G |dd of = / dev / disk2
 


示例輸出2:

(數據傳輸,經過時間,速度,進度欄和估計時間):

  1.61GiB 0:12:19 [2.82MiB / s] [=== >] 10%ETA 1:50:25
 
user255044
2018-04-28 23:40:08 UTC
view on stackexchange narkive permalink

首先,安裝 Homebrew軟件包管理器。然後,您必須使用以下命令安裝 pv dialog

 釀造安裝光伏對話框
 

然後您可以運行以下命令以使用以下命令獲取進度條:

  dd if = disk.img bs = 1m |pv disk.img |dd of = / dev / diskX bs = 1m
 

,但請確保將 disk.img 替換為映像的路徑,並將 diskX 替換為SD卡的磁盤標識符。如果您想要更多圖形化的內容,可以嘗試以下方法:

 (dd if = disk.img bs = 1m | pv -n disk.img | dd of = / dev / diskX bs = 1m conv = notrunc,noerror)2>&1 |對話框--gauge“正在將圖像寫入SD卡...” 10 70 0
 

來源: https://askubuntu.com/a/516724/765767

Don-Pierre Halfaway
2018-06-27 05:21:16 UTC
view on stackexchange narkive permalink

那很容易!對於macOS High Sierra及以下版本,只需運行while循環,它將一直運行到完成為止。只需確保在另一個窗口中執行以下代碼即可:

下面的代碼在固件啟動時或在完整的操作系統內均可使用。

而殺死-0 $ PID;做$(caffeinate -t 10)$(kill-INFO $ PID)echo“仍在復製文件”“ $(date)”;做完了

^為了使機器保持喚醒狀態(不含咖啡因),而無需使用“自製軟件”或標準Mac OS X中不提供的工具,因為自製軟件需要Internet和實際的操作系統才能安裝。

NOTE:以上要求您將PID替換為您的進程ID,它會不斷顯示進度

我還發現要保持機器處於喚醒狀態,這樣您就不會再回到睡眠狀態,而必須不斷喚醒它。
上面的腳本會告訴您日期,並為您提供複製狀態並每10秒保持喚醒狀態
當您不使用完整操作系統時,最好將其用於Mac上的終端。但是在固件/ BIOS中。絕對是一個值得記住的解決方案
$(...)的目的是什麼?我知道它們的一般用途,我只是想知道為什麼在這裡使用它們?
轉義空格,使命令在一行內全部運行。我敢肯定我可以將“(”和“)”加倍,但我希望人們能以外行的方式看到可用的選項
`而殺死-0 $ PID;做咖啡因-t 10;殺死-INFO $ PID;回顯“仍在復製文件” $(日期);完成`將很好地工作,並且避免創建很多不必要的子外殼(對於外行來說是相當混亂的)。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...