ls -la
下面的命令带来了文件信息 gcc-8,这对我来说看起来很奇怪。我想这不是链接。我知道有不同的 GCC 包具有不同的 GCC 版本,看起来我的包具有 GCC 版本 8。
如何知道 gcc-8 是软件包而不是链接?这个软件包位于哪里?为什么其他二进制文件没有显示其软件包?
ls -la /usr/bin/gcc
带来
lrwxrwxrwx 1 root root 5 Apr 22 2021 /usr/bin/gcc -> gcc-8
答案1
如何知道 gcc-8 是包而不是链接?
gcc-8
可以同时引用包和文件或链接。如果你有包gcc-8
,它很可能会提供一个名为的文件gcc-8
(可能不止一个)。例如,检查
$ dpkg -l | grep gcc-8
这将告诉您gcc-8
系统中是否安装了软件包(对于其他版本,请使用 simplygcc
而不是)。假设您看到系统中存在软件包,您可以使用以下命令列出该软件包提供的所有文件gcc-8
gcc-8
$ dpkg -L gcc-8
在你描述的情况下,/usr/bin/gcc
显然是指向的链接/usr/bin/gcc-8
。如果你想知道/usr/bin/gcc-8
是文件还是链接,只需使用
$ ls -la /usr/bin/gcc-8
和你一样。
这个包裹位于哪里?
软件包没有位置。它们被安装,并在文件系统中提供许多文件。
为什么其他二进制文件没有显示其包?
如果您提供一个例子,社区可能会帮助您澄清这一点。