запишите нулевую команду

У меня есть вопрос о команде, используемой для записи нулей

это обычно: sudo dd if=/dev/zero of=/dev/null

но в некоторых веб-сайтах я нашел это: sudo dd if=/dev/zero of=/dev/null bs=1M

или sudo dd if=/dev/zero of=/dev/null bs=8M

Вы могли объяснить эффекты bs=1M и bs=8M?

2
задан 30 November 2014 в 11:46

3 ответа

не делайте этого особенно с sudo, если Вы ДЕЙСТВИТЕЛЬНО не знаете то, что Вы делаете, это уничтожит Ваши диски легко.

Вы, вероятно, имеете в виду bs, размер блока:

[romano:~/tmp] % dd if=/dev/zero of=test.dat sb=10
dd: unrecognised operand ‘sb=10’
Try 'dd --help' for more information.

bs средства, что dd записи и чтения в блоках размер Вы определяете. 1M средства 1 мегабайт.

⌂66% [romano:~/tmp] 1 % dd if=/dev/zero of=test.dat bs=10
^C959453+0 records in
959452+0 records out
9594520 bytes (9.6 MB) copied, 1.06318 s, 9.0 MB/s

sb не делает существует. Можно найти все это (и больше) в man dd.

3
ответ дан 19 November 2019 в 00:52

dd может быть довольно опасным, один хороший акроним, поскольку это - имя, является "Разрушителем Данных", это может перезаписать любой диск с малейшей опечаткой.

man dd или info coreutils 'dd invocation' должен говорить Вам всем Вас когда-нибудь (никогда?) хотел знать об использовании dd, и человек должен работать на примерно любую терминальную программу также.

нет никакой dd опции sb=, хотя существует bs=

   bs=BYTES
          read and write up to BYTES bytes at a time
 Set both input and output block sizes to BYTES.  This makes `dd'
 read and write BYTES per block, overriding any `ibs' and `obs'
 settings.  In addition, if no data-transforming `conv' option is
 specified, input is copied to the output as soon as it's read,
 even if it is smaller than the block size.

...

   N 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.

The numeric-valued strings above (N and BYTES) can be followed by a
multiplier: `b'=512, `c'=1, `w'=2, `xM'=M, or any of the standard block
size suffixes like `k'=1024 (*note Block size::).
2
ответ дан 19 November 2019 в 00:52

Это bs, не sb †¦

Для будущего: если Вы хотите знать то, что команда делает от терминального типа:

man NameOfCommand

В этом случае Вы нашли бы:

DD(1)                            User Commands                           DD(1)
NAME
       dd - convert and copy a file

SYNOPSIS
       dd [OPERAND]...
       dd OPTION

DESCRIPTION
       Copy a file, converting and formatting according to the operands.

       bs=BYTES
              read and write up to BYTES bytes at a time

, Таким образом, эти команды пишут в блоках 1 мегабайта и 8 мегабайтов вместо стандартного размера сектора (512 байтов большую часть времени, но теперь всегда)

2
ответ дан 19 November 2019 в 00:52

Другие вопросы по тегам:

Похожие вопросы: