I want to create a "copy" of a directory tree where each file is a hardlink to the original file
Example: I have a directory structure:
dirA/
dirA/file1
dirA/x/
dirA/x/file2
dirA/y/
dirA/y/file3
Here is the expected result, a "copy" of the directory tree where each file is a hardlink to the original file:
dirB/ # normal directory
dirB/file1 # hardlink to dirA/file1
dirB/x/ # normal directory
dirB/x/file2 # hardlink to dirA/x/file2
dirB/y/ # normal directory
dirB/y/file3 # hardlink to dirA/y/file3
Best Answer
On Linux (more precisely with the GNU and
busybox
implementations ofcp
as typically found on systems that have Linux as a kernel) and recent FreeBSD, this is how:For a more portable solution, see answer using pax and cpio by Stéphane Chazelas