Last week, I needed to test the speed of my VPN connection. My plan was to create a file of some given size (say 10M), and test copy it to another server across the VPN tunnel.
My first task was to create a file of size 10M. On Solaris, it can be done simply by this command:
$ mkfile 10m output.dat
On Linux, you can use the dd command:
$ dd if=/dev/zero of=output.dat bs=1024 count=10240
10240+0 records in
10240+0 records out
10485760 bytes (10 MB) copied, 0.218581 seconds, 48.0 MB/s
$ ls -hl output.dat
-rw-r--r-- 1 peter peter 10M 2008-02-09 16:21 output.dat
The above dd command creates a zero-filled file named output.dat consisting of a count of 10240 blocks, each of block size 1024.
An anonymous commenter pointed out that you can also create a 10M file like this:
$ dd if=/dev/zero of=output.dat bs=1M count=10
Now that the 10m file has been created, I can time the copying of the 10m file like this:
$ time scp path/to/10m.dat firstname.lastname@example.org:/some/location
If you can suggest other ways to create an arbitrary sized file, please share with us via comments.
P.S. Articles from this blog on the dd command:
Show progress during dd copy