将相对链接复制到绝对链接

将相对链接复制到绝对链接

给定一个/path/to/files包含许多相对链接的目录foo -> ../other/data/foo,如何将中的链接复制files/为绝对路径链接/mydata/path/

我以为使用

ls -s $(readlink /path/to/files/*) /mydata/path/

会这样做,但它只会在新位置创建重复旧位置的相对路径,这意味着所有链接都指向虚空。

我最终需要的是:

/path/to/files/foo -> ../other/data/foo
/mydata/path/foo -> /path/to/other/data/foo

我最终得到的是

/path/to/files/foo -> ../other/data/foo
/mydata/path/foo -> ../other/data/foo # broken link

我也尝试了 的各种排列cp,尽管 macOS cp 没有-s标志。

答案1

您正在寻找realpath

ls -s $(realpath /path/to/files/*) /mydata/path/

会做你想做的事。

相关内容