共享对象末尾的@符号是什么意思?

时间:2015-01-15 17:10:39

标签: unix shared-objects

我正在使用Ubuntu,当我列出/ usr / lib /下的库时,我发现其中一些库末尾有数字和/或@符号。例如libgc.so.1 @或libgettextlib.so @ 有谁知道这意味着什么?

1 个答案:

答案 0 :(得分:1)

ls命令会尝试为您提供有关其列出的名称性质的一些提示,具体取决于ls的版本以及您提供给它的选项。

例如,有时会添加尾随/以表示该对象是目录。尾随@表示它是一个符号链接。 ls -l会显示推荐的文件。

什么是符号链接?符号链接是一种文件,其内容不是您可以自由使用的数据,而是另一个文件的名称。因此,当您尝试操纵符号链接时,系统会操纵它引用的文件。这是间接的。还有一些链接更加集成,不可见,更像是别名。

以下是如何进行实验

$ touch foo
$ ln -s foo bar
$ ls -l foo bar
lrwxr-xr-x  1 yunes  wheel  3 16 jan 10:45 bar -> foo
-rw-r--r--  1 yunes  wheel  0 16 jan 10:45 foo

这意味着foo是一个文件(实际为空),bar不是常规文件,而是指向foo名称。现在:

$ echo "hello" >> foo
$ cat foo
hello
$ cat bar
hello
$

这表明使用foobar几乎相同......