У меня есть вопрос о команде, используемой для записи нулей
это обычно: 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
?
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
.
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::).
Это 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 байтов большую часть времени, но теперь всегда)