【问题标题】:cp: how to follow symbolic links in DEST?cp:如何在 DEST 中跟踪符号链接?
【发布时间】:2013-10-20 08:20:18
【问题描述】:

例如,我希望将 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

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

【问题讨论】:

    标签: unix cp


    【解决方案1】:

    出于某种安全原因:

    cp -rf b/* a/
    

    给予:

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

    所以你只能这样做来取消符号链接:

    unlink a/b
    

    然后

    cp -rf b/* a/
    

    一般来说,操作太多的目录结构是不好的,擦除文件的风险很大,如果你使用root /,风险更大,要避免。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 2012-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 2016-06-21
      相关资源
      最近更新 更多