2016-01-07 71 views
0

我想知道是否有某些版本的dd不明白乘法後綴。從DD手冊頁,它說:做一些版本的dd不明白乘法後綴?

bs=BYTES 
    read and write BYTES bytes at a time (also see ibs=,obs=) 
BLOCKS and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. 

,但是當我跑DD與基站參數A G後綴我不被理解數的錯誤:

bash $ dd if=/dev/urandom of=largeMovie.avi count=1024 bs=75G 
dd: invalid number `75G' 

DD的版本如下:

bash $ dd --version 
dd (coreutils) 5.97 

一個

+0

更好的產品要被移動到http:/ /unix.stackexchange.com/ – myaut

+0

它會在這裏得到更廣泛的覆蓋範圍,因此有更多的機會獲得答案 – amadain

+0

@amadain:這一點不是「覆蓋」,它是熱門話題。根據常見問題解答,您的問題是無關緊要的:http://stackoverflow.com/help/on-topic –

回答

0

我認爲你是在32位和75G比爲size_t大。 即使在64位上,您至少需要可用的內存量,因爲dd會分配由bs指定的緩衝區大小。

0

G不是標準後綴。行爲因此是未定義的。

唯一的標準後綴是k(1024)和b(512)。如果你想別的,你可以幾個號碼之間用x帶有後綴的繁殖:

dd bs=1024 count=75x1024x1024x1024 

(你舉的例子嘗試分配的內存是很少OK 75GiB,所以我換了bscount

這裏是POSIX說:

對於BS =,= CBS,IBS =和實測值=操作數的,應當提供指定字節大小的表達式。表達,EXPR,可以是:

的正十進制數

的正十進制數,後面跟K,由1024指定乘法後隨b

的正十進制數,由512

指定乘法

兩個或更多個正十進制數(帶或不帶k或b)中以x分開,指定指示值