dbcp — double buffered copy


dbcp [-v ] blocksize < infile > outfile


dbcp is a program for copying data rapidly between devices.

This command is DEPRECATED. Use dd instead.

While the primary application is to move data between raw devices such as tape and disk, it can also be used with pipes. No special support is required from the operating system; dbcp forks into two processes which communicate over a pair of regular pipes using a token passing scheme to synchronize their reading and writing activities. They continue copying until an end of file or error is detected. dbcp reads from the standard input and copies to the standard output. The argument blocksize specifies the number of 512 byte "blocks" to be read or written in each record.

If the -v flag is given, the number of records processed is printed upon exit.


$ dbcp 16 < /dev/rdk1a > /dev/rmt0

dbcp copies the filesystem on dk1a to tape with a record size of 8K bytes (16 * 512). This allows "streaming" tape drives to operate a peak speed.

$ tar cf - . | dbcp 20 > /dev/rmt0

The tar process runs independently of the dbcp, which rapidly copies the data to tape with the usual tar tape record size of 10K bytes (20 * 512).


cp(1), dd(1)


Douglas P. Kingston III (Davis, Polk, and Wardwell, Chase Manhattan Building, New York, NY)


This software is Copyright (c) 1993-2016 by the United States Government as represented by U.S. Army Research Laboratory.


Reports of bugs or problems should be submitted via electronic mail to <>.