Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Mar 2005 20:54:51 +1000
From:      Peter Jeremy <PeterJeremy@optushome.com.au>
To:        Danny Braniss <danny@cs.huji.ac.il>
Cc:        sthaug@nethelp.no
Subject:   Re: Heads up: gtar gone from base system
Message-ID:  <20050329105450.GC69824@cirb503493.alcatel.com.au>
In-Reply-To: <E1DGBGs-000BPH-6z@cs1.cs.huji.ac.il>
References:  <12938.1112080352@bizet.nethelp.no> <E1DGBGs-000BPH-6z@cs1.cs.huji.ac.il>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2005-Mar-29 09:36:18 +0200, Danny Braniss wrote:
>> > Brian missed a pair of parenthenis.  The example should read:
>> >
>> > ( cd srcdir ; tar cf - . ) | ( cd destdir ; tar xpf - )
>> 
>> All the first perens does is leave you sitting wherever you were before 
>> starting, whereas my example would have left you sitting in srcdir.
>> It makes no functional difference in the tar/untar job itself.

It makes a significant difference if "destdir" is relative.

>> same everywhere. I do it on Linux and FreeBSD too and I just verified on a 
>> 5.3 box just to make sure instead of relying on memory and common sense.
>> It's still in my fingers too, used it for many years. Lately I have
>> been using cp -pR for the same job.
>
>caution:
>     -R    If source_file designates a directory, cp copies the directory and
>           the entire subtree connected at that point.  This option also
>           causes symbolic links to be copied, rather than indirected through,
>           and for cp to create special files rather than copying them as nor-
>           mal files.  Created directories have the same mode as the corre-
>           sponding source directory, unmodified by the process' umask.
>******************************************************************************
>           Note that cp copies hard linked files as separate files.  If you
>           need to preserve hard links, consider using tar(1), cpio(1), or
>           pax(1) instead.
>******************************************************************************

At work, we have a development toolchain which creates symlinks of the
form "gui -> ." within its output trees and I regularly have to remind
people not to use "cp -pR" (or samba) to copy the trees.

I usually use "tar|tar" or "find|cpio" for tree copying.  The latter has
the option of being able to hardlink the files instead of copying them.

-- 
Peter Jeremy



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050329105450.GC69824>