[RndTbl] dd command

Sean Walberg sean at ertw.com
Wed Feb 21 22:01:46 CST 2007


At first glance it doesn't care much.

[sean at bob ddtest]$ echo "hello" > test
[sean at bob ddtest]$ ls -l test
-rw-rw-r-- 1 sean sean 6 Feb 21 21:43 test
[sean at bob ddtest]$ dd if=test of=test.out bs=1k
0+1 records in
0+1 records out
6 bytes (6 B) copied, 0.000157303 seconds, 38.1 kB/s
[sean at bob ddtest]$ ls -l test.out
-rw-rw-r-- 1 sean sean 6 Feb 21 21:43 test.out

Flip through the source code to dd.c:

/* The number of bytes in which atomic reads are done. */
static size_t input_blocksize = 0;

/* The number of bytes in which atomic writes are done. */
static size_t output_blocksize = 0;

You'd have to browser a bit deeper to get the One True Answer, there looks
like there are several different types of copying that can happen, each has
different behaviours.

notrunc is a bit easier, it's only referenced in two places, both in the
same function.  It seems to be a direct setting/clearing of O_TRUNC to
open(2):

  O_TRUNC
              If  the  file  already exists and is a regular file and the
open
              mode allows writing (i.e., is O_RDWR or  O_WRONLY)  it  will
be
              truncated to length 0.  If the file is a FIFO or terminal
device
              file, the O_TRUNC flag  is  ignored.  Otherwise  the  effect
of
              O_TRUNC is unspecified.

Sean


On 2/21/07, Dan Martin <ummar143 at cc.umanitoba.ca> wrote:
>
> Can someone tell me how the dd command handles block sizes?  The man
> page and any Linux books I have don't explain it very well.
>
> If I specify
> dd if=\dev\mydevice ... bs=1M
> What happens if mydevice has a fraction of a block left over?
>
> What is "notrunc" for the output file?  Truncation from what to what?
>
> --
>   -Dan
>
> Dr. Dan Martin, MD, CCFP, BSc, BCSc (Hon)
>
> GP Hospital Practitioner
> Computer Science grad student
> ummar143 at cc.umanitoba.ca
> (204) 831-1746
> answering machine always on
>
> _______________________________________________
> Roundtable mailing list
> Roundtable at muug.mb.ca
> http://www.muug.mb.ca/mailman/listinfo/roundtable
>
>


-- 
Sean Walberg < sean at ertw.com>    http://ertw.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.muug.mb.ca/pipermail/roundtable/attachments/20070221/f8b7fa39/attachment-0001.html


More information about the Roundtable mailing list