SunOS 3.5 dd (ibs == obs) != bs

Griff Smith ggs at ulysses.homer.nj.att.com
Fri Nov 11 01:08:04 AEST 1988


In article <37 at eplrx7.UUCP>, mcneill at eplrx7.UUCP (mcneill) writes:
> In using dd in a pipe such as:

>    rsh otherhost "tar cbf 512 - ." | dd bs=262144 of=/dev/rst9

> I noticed that this does not work,

What do you mean by `does not work'?  If the output device were
/dev/rmt9 you would get lots of short blocks on the tape.  I don't
know what to expect for /dev/rst9.

> but:

>    rsh otherhost "tar cbf 512 - ." | dd obs=262144 ibs=262144 of=/dev/rst9

> works just fine.  I looked at the System V source for dd

Which version?  There was a complete re-write for Vr3.

> and saw something like:

>    if (bs) ibs = obs = bs;

> which leads me to believe that setting bs should do the same thing as 
> setting both ibs & obs.

The documentation in the old manual page is confusing.  The bs option
has a side-effect of doing a block-for-block copy if no conversions are
specified.  Output buffers do not necessarily have obs characters in
them.  If you set ibs==obs without setting bs, on the other hand, you
force a byte-by-byte copy that fills each output buffer with obs
characters.  The next release should have better documentation if AT&T
and Sun coordinate properly.

> Does BSD do something different which makes this feature or did I miss
> something in the source.

Both versions should have the same feature.

> -- 
>     Keith D. McNeill              |    E.I. du Pont de Nemours & Co.
>     uunet!eplrx7!mcneill          |    Experimental Station
>     (302) 695-7395                |    P.O. Box 80357
>                                   |    Wilmington, Delaware 19880-0357
-- 
Griff Smith	AT&T (Bell Laboratories), Murray Hill
Phone:		1-201-582-7736
UUCP:		{most AT&T sites}!ulysses!ggs
Internet:	ggs at ulysses.att.com



More information about the Comp.unix.questions mailing list