* Felix C. Stegerman wrote on 2014-01-26 at 15:49 (+0100):

> On 2014-01-26 15:26, Lisi Reisz wrote:
> > I am wanting to use the CLI to copy some files from dirA to
> > dirB.  I want to exclude all hidden files.  Will this command
> > achieve it?
>
> I prefer using rsync instead:
>
> $ rsync --dry-run -av --progress --exclude='.*' /path/to/A/ /path/to/B/
>
> * The slashes after A and B are important.

No, you only have to take care about the trailing slash of the
source A.  See rsync(1):

    A trailing slash on the source changes this behavior to avoid
    creating an additional directory level at the destination.
    You can think of a trailing / on a source as meaning "copy
    the contents of this directory" as opposed to "copy the
    directory by name", but in both cases the attributes of the
    containing directory are transferred to the containing
    directory on the destination.  In other words, each of the
    following commands copies the files in the same way,
    including their setting of the attributes of /dest/foo:

        rsync -av /src/foo /dest
        rsync -av /src/foo/ /dest/foo

The trailing slash of the target directory B is irrelevant:

    $ mkdir -p foo/dir
    $ touch foo/file foo/dir/file foo/.hidden foo/dir/.hidden
    $ rsync -av --exclude='.*' foo target1
    $ rsync -av --exclude='.*' foo target2/

The results are identical directories ./target1 and ./target2.
Of course, both need not exist.

Regards,
Mathias


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20140126204815.ga29...@gmx.org

Reply via email to