Unix cp:如何在DEST中跟踪符号链接?

Unix cp:如何在DEST中跟踪符号链接?,unix,cp,Unix,Cp,例如,我希望将c复制到ab/而不是将a/b更改为带有c的文件夹: $ mkdir /a /b /ab /b/b $ ln -s /ab /a/b $ touch /b/b/c $ ls -Rl .: total 12 drwxrwxr-x 2 a drwxrwxr-x 2 ab drwxrwxr-x 3 b ./a: total 0 lrwxrwxrwx 1 b -> ab ./ab: total 0 ./b: total 4 drwxrwxr-x 2 b ./b/b: t

例如,我希望将c复制到ab/而不是将a/b更改为带有c的文件夹:

$ mkdir /a /b /ab /b/b
$ ln -s /ab /a/b
$ touch /b/b/c
$ ls -Rl
.:
total 12
drwxrwxr-x 2  a
drwxrwxr-x 2  ab
drwxrwxr-x 3  b

./a:
total 0
lrwxrwxrwx 1  b -> ab

./ab:
total 0

./b:
total 4
drwxrwxr-x 2 b

./b/b:
total 0
-rw-rw-r-- 1 c

我试过:

cp -rf /b/* /a/

cp: cannot overwrite non-directory ‘a/b’ with directory ‘b/b

即使使用flag-dHlLP dosent工作。

出于某些安全原因:

cp -rf b/* a/
给出:

cp: cannot overwrite non-directory `a/b' with directory `b/b'
因此,您只能执行此操作以取消符号链接:

unlink a/b
然后

一般来说,操作过多的目录结构是件坏事,擦除文件的风险相当大,如果使用root/,风险更大,需要避免

cp -rf b/* a/