How can I use
/dev/(u)random on Ubuntu or any *nix sistems?
I tried this but it says permission denied.
Note : I also tried as root.
/dev/(u)random sudo /dev/(u)random sudo -s; /dev/(u)random
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.Sign up to join this community
It's a file like device, so you can do things like cat it or copy from it. For instance:
dd if=/dev/urandom of=~/urandom_test count=4 bs=1024
Creates a file containing 4K of random bytes.
cat /dev/urandom > ~/urandom_test2
Will continue to write random bytes to that file until you hit Ctrl-C. Don't do this on a low performing system...
head -30 /dev/urandom > ~/urandom_test3
Will write 30 lines of random bytes
If you need a certain number of random bytes, read that number of bytes from
It is a "special file" that is made to be like a file to read random numbers from.
cat to read from
/dev/urandom is a bad idea, because it will try to read
/dev/urandom to the end - but it does not end.
You can use
head. But take care to read by byte, not by line - because lines would be randomly separated by random newline bytes.
So, to read 30 random bytes into a file
head -c 30 /dev/urandom > random.bytes
You can read from it as a normal user.
Normally, you want to use
The problem is that
/dev/random is hard to use in the right way - and easy to use in a wrong way. Using it wrong works at first, but creates strange - even random - performance problems later. Sometimes.
When you use
/dev/urandom, it makes use of
/dev/random internally, taking care of the tricky parts.