1

例如,我的目录是这样的:

lib
|
+--foo.so
+--bar.so -> bar.so.1.0.0.0
+--bar.so.1.0.0.0

这两种方式总是相同的吗?

我问这个问题的原因是我发现unix会在我复制到真实的so文件时

cp -r lib /path/to/

像这样的新目录:

/path/to/lib
|
+--foo.so
+--bar.so
+--bar.so.1.0.0.0    
4

1 回答 1

1

so和之间ls -s的区别是文件和符号链接之间的区别。符号链接就像其他文件的别名,对它们的操作会导致链接文件发生变化。当您这样做时cp,它会将链接文件复制到目标目录,并以链接名称作为文件名,即在打开符号链接时读取链接文件进行复制。因此,丢失链接并获取链接文件的副本。如果您使用-P该命令的选项,cp您可以保留符号链接信息。

cp -P lib /path/to/
于 2013-03-25T03:17:27.737 回答