回答:
klanomathの回答で毎秒表示される同じ情報は、コマンドを使用して表示できます。コマンドの実行controlT中にキーボードから文字を入力するだけですdd
。
controlT文字を押すと、コマンドが送信SIGINFO
するdd
コマンドに同じ信号をpkill -INFO -x dd
送信します。
coreutils 8.24の時点で、ddはステータスオプションを追加しました。Homebrewでcoreutilsをインストールして、ddを更新します。
brew install coreutils
# All commands have been installed with the prefix 'g'
sudo gdd if=XXXX.iso of=/dev/diskX bs=1 status=progress
> example:
> 139648967 bytes (140 MB, 133 MiB) copied, 304 s, 459 kB/s
dd
それ自体はプログレスバーを提供しません。ただし、pkill -INFOコマンドを追加することで、ddコピープロセスの進行状況を推定できます。
例:
dd if=/dev/zero of=/dev/null bs=64m count=1000 & while pkill -INFO -x dd; do sleep 1; done
結果:
[1] 37691
0+0 records in
0+0 records out
0 bytes transferred in 0.028923 secs (0 bytes/sec)
275+0 records in
275+0 records out
18454937600 bytes transferred in 1.029698 secs (17922667819 bytes/sec)
553+0 records in
553+0 records out
37111201792 bytes transferred in 2.048291 secs (18118129881 bytes/sec)
829+0 records in
829+0 records out
55633248256 bytes transferred in 3.068911 secs (18128009214 bytes/sec)
1000+0 records in
1000+0 records out
67108864000 bytes transferred in 3.720346 secs (18038339571 bytes/sec)
[1]+ Done dd if=/dev/zero of=/dev/null bs=64m count=1000
これは、なんと18.1 GB / sに相当します。
まず、Homebrew Package Managerをインストールします。次に、次のコマンドpv
を使用dialog
してインストールする必要があります。
brew install 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 | dialog --gauge "Writing image to SD card..." 10 70 0
あなたは押すことができますControl+をtしながら、dd
コマンドが実行されているか、素敵なプログレスバーのためにインストールすることができpv
自作を経由して(パイプビューア):
brew install pv
次に実行します:
sudo dd if=disk-image.img | pv | sudo 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
それは簡単だ!macOS High Sierra以前の場合は、whileループを実行するだけで、完了するまで実行されます。別のウィンドウで次のコードを実行してください:
以下のコードは、ファームウェアブート中または完全なOS内でそのまま動作します
while kill -0 $PID; do $(caffeinate -t 10) $(kill - INFO $PID) echo “still copying file” “$(date)”; done
^ homebrewにはインターネットと実際のOSをインストールする必要があるため、「homebrew」や標準のMac OS Xでは使用できないツールを使用せずにマシンを起動(カフェイン)する。
注:上記では、PIDをプロセスIDに置き換える必要があり、常に進行状況が表示されます
$(...)
ですか?私は彼らが一般的に何をしているのかを知っています、なぜあなたはここでそれらを使用しているのだろうか?