David Haller wrote:
> Hello,
>
> On Mon, 15 Jun 2020, Dale wrote:
> [..]
>> While I'm at it, when running dd, I have zero and random in /dev.  Where
>> does a person obtain a one?  In other words, I can write all zeros, I
>> can write all random but I can't write all ones since it isn't in /dev. 
>> Does that even exist?  Can I create it myself somehow?  Can I download
>> it or install it somehow?  I been curious about that for a good long
>> while now.  I just never remember to ask. 
> I've wondered that too. So I just hacked one up just now.
>
> ==== ones.c ====
> #include <unistd.h>
> #include <stdlib.h>
> #include <stdio.h>
> static unsigned int buf[BUFSIZ];
> int main(void) {
>     unsigned int i;
>     for(i = 0; i < BUFSIZ; i++) { buf[i] = (unsigned int)-1; }
>     while( write(STDOUT_FILENO, buf, sizeof(buf)) );
>     exit(0);
> }
> ====
>
> Compile with:
>     gcc $CFLAGS -o ones ones.c
> or
>     gcc $(portageq envvar CFLAGS) -o ones ones.c
>
> and use/test e.g. like
>
>     ./ones | dd of=/dev/null bs=8M count=1000 iflag=fullblock
>
> Here, it's about as fast as
>
>     cat /dev/zero | dd of=/dev/null bs=8M count=1000 iflag=fullblock
>
> (but only about ~25% as fast as 
>     dd if=/dev/zero of=/dev/null bs=8M count=1000 iflag=fullblock
> for whatever reason ever, but the implementation of /dev/zero is
> non-trivial ...)
>
> HTH,
> -dnh
>

I got it to compile, at least it created a file named ones anyway.  What
I'm unclear about, where is the if= for dd in the command?  All the
commands I've seen before has a if= and a of=.  The if for input and of
for output or target.  I'm assuming that if I want to target sdb, I'd
replace null with /dev/sdb. 

As I've posted before, even my scripting skills are minimal.  Surprised
I got it to compile even.  lol  Just trying to make sure I don't mess up
something.  I placed all this in the /root directory.  I'm assuming I
can copy paste the commands above while in /root to make it work?  I'm
asking because I haven't tried it yet. 

Thanks.

Dale

:-)  :-) 


Reply via email to