真正的so文件和ln -s之间有什么区别

时间:2013-03-25 03:09:29

标签: unix shared-libraries

例如,我的目录如下:

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

这两种方式总是一样吗?

我问这个问题的原因是我发现unix会在我

时复制到真正的文件中
cp -r lib /path/to/

像这样的新目录:

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

1 个答案:

答案 0 :(得分:1)

sols -s之间的差异是文件和符号链接之间的差异。符号链接类似于其他文件的别名,对它们的操作会导致链接文件发生更改。执行cp时,它会将链接文件复制到目标目录,并将链接名称作为文件名,即,当它打开符号链接进行复制时,它会读取链接文件。因此丢失链接,而是获取链接文件的副本。如果使用-P命令的cp选项,则可以保留符号链接信息。

cp -P lib /path/to/