cp:如何在DEST中遵循符号链接?

时间:2013-10-20 08:20:19

标签: unix cp

例如,我希望将c复制到ab / not change 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

即使使用标志-dHlPP也不起作用。

1 个答案:

答案 0 :(得分:0)

出于某些安全原因:

cp -rf b/* a/

给出:

cp: cannot overwrite non-directory `a/b' with directory `b/b'

所以你只能这样做才能取消链接symlinc:

unlink a/b

然后

cp -rf b/* a/

一般来说,操纵过多的目录结构是件坏事,擦除文件的风险相当大,在你使用root /的情况下,风险更大,要避免。