Dd'nin ilerlemesini nasıl izleyebilirim


Yanıtlar:


57

Her saniyede klanomath'ın cevabında görüntülenen aynı bilgi, komutunuzu kullanarak görüntülenebilir. Komut yürütülürken controlTklavyeden bir karakter girmeniz yeterlidir dd.

controlTKaraktere basarak, aynı SIGINFOsinyali ddkomutun pkill -INFO -x ddgönderdiği komuta gönderirsiniz.


25

Coreutils 8.24'ten itibaren, dd bir durum seçeneği ekledi. Dd'yi güncellemek için homutrew ile coreutils'i kurun.

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    

3
Coreutils hakkında bilmiyordum, çok kullanışlı.
SteveLambert

1

8

ddkendisi bir ilerleme çubuğu sağlamaz. Dd kopyalama işleminin ilerlemesini bir pkill -INFO komutu ekleyerek tahmin edebilirsiniz .

Örnek:

dd if=/dev/zero of=/dev/null bs=64m count=1000 & while pkill -INFO -x dd; do sleep 1; done

Sonuç:

[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

Hangi bir kuyruklu 18.1 GB / s çevirir.


Bu komutu çalıştırdığınız makinenin donanım özellikleri nelerdir?
user3439894

kullanici3439894 3.5 GHz i7 iMac. Niye ya?
klanomath

Bu arada, bayt / sn çıktısı nedeniyle merak ettim, bu arada aslında 16,8 GB / sn (yuvarlama) bunlar taban 2, taban 10 hesaplamaları değil.
user3439894

5

Her şeyden önce, Homebrew Paket Yöneticisi'ni yükleyin . Sonra yüklemek pvve dialogbu komutu ile gerekir:

brew install pv dialog

Daha sonra şu komutu kullanarak bir ilerleme çubuğu almak için bu komutu çalıştırabilirsiniz:

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

ancak disk.imggörüntünün yoluyla ve diskXSD kartınızın disk tanımlayıcısıyla değiştirdiğinizden emin olun . Daha grafik bir şey istiyorsanız, bunu deneyebilirsiniz:

(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

Kaynak: https://askubuntu.com/a/516724/765767


3

Sen basabilirsiniz Control+ tederken ddkomut çalıştıran veya güzel ilerleme çubuğunun yükleyebileceğiniz pvHomebrew aracılığı (boru görüntüleyici):

brew install pv

ve sonra yürütmek:

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

veya (görüntünün boyutunu bilmek, bu örnekte 16 GB):

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


Örnek çıktı 2:

(veri aktarıldı, geçen süre, hız, ilerleme çubuğu ve tahmini süre):

    1.61GiB 0:12:19 [2.82MiB/s] [===>                 ] 10% ETA 1:50:25

2

O kolay! MacOS High Sierra ve altı için, sadece bir süre döngü çalıştırın ve bitinceye kadar çalışacaktır. Aşağıdaki kodu başka bir pencerede yaptığınızdan emin olun:

Aşağıdaki kod, ürün yazılımı önyüklemesi sırasında veya tamamen işletim sistemi işletim sistemlerinde iken çalışmaz.

while kill -0 $PID; do $(caffeinate -t 10) $(kill - INFO $PID) echo “still copying file” “$(date)”; done

^ Makineyi “homebrew” veya standart Mac OS X'te bulunmayan araçlar kullanmadan uyanık tutmak (kafeinsiz) tutmak için, çünkü homebrew internet ve kurulum için gerçek bir işletim sistemi gerektirir.

NOT: Yukarıdakiler, PID'yi işlem kimliğinizle değiştirmenizi gerektirir ve sürekli ilerlemeyi gösterir.


Ayrıca makineyi uyanık tutmak için uzakta buldum, böylece tekrar uykuya dalmayacak ve sürekli olarak uyanacaksınız.
Don-Pierre Halfaway,

Yukarıdaki senaryo size tarihi anlatıyor, kopyalarının
statüsünü veriyor

Tam üfleme işletim sisteminde olmadığınız zaman en iyi Mac terminali için kullanılır. Ancak Firmaware / bios içinde. Kesinlikle hatırlanması gereken bir çözüm
Don-Pierre Halfaway 23

Amacı ne $(...)? Genel olarak ne yaptıklarını biliyorum, neden onları burada kullandığınızı merak ediyorum.
nohillside

boşluklardan kaçmak ve komutun bir satır içinde çalışmasını sağlamak. "(" Ve ")" i iki katına çıkarabileceğime eminim ama insanların meslekten olmayan bir yaklaşımda mevcut seçenekleri görmelerini istedim
Don-Pierre Halfaway
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.