0

我是 Linux 的新手,我对这个操作有一些疑问,我在我正在处理的 bash 脚本中发现了这个操作:

ldconfig -v >> /dev/null 2>&1

在 ldconfig 命令的手册页上阅读我可以阅读:

ldconfig 创建、更新和删除必要的链接和缓存(供运行时链接器 ld.so 使用)到在命令行上指定的目录中的文件 /etc/ld 中找到的最新共享库。 so.conf 和受信任的目录(/usr/lib 和 /lib)中。

究竟是什么意思?我正在使用 Ubuntu 系统,在/etc/ld.so.conf中我发现:

 include /etc/ld.so.conf.d/*.conf

所以我认为这一行将我重定向到所有.conf 文件/etc/ld.so.conf.d/目录

但我有一些困惑......还有很多疑问:

1) .conf 文件中包含哪些内容?

2)我的bash脚本中的命令到底是什么?

肿瘤坏死因子

安德烈亚

4

2 回答 2

2

ldconfig -v >> /dev/null 2>&1意味着将stdout(标准输出)和stderr(标准错误)重定向到一个特殊的设备/dev/null,这意味着无处(丢弃它)。

  • > /dev/null- 正在重定向标准输出
  • 2 > &1正在将 stderr 重定向到 stdout 的重定向位置,因为 1 是 stdout 的文件描述符,2 是 stderr 的文件描述符

关于 ldconfig: ldconfig 手册页

根据手册:

ldconfig creates the necessary links and cache to the most recent shared libraries found in the directories specified on the command line

于 2013-10-28T11:03:54.870 回答
2

1) .conf 文件中包含哪些内容?

ldconfig使用配置脚本(可以使用include指令堆叠)来知道它应该在哪些目录中搜索库。

来自man ldconfig

/etc/ld.so.conf     File containing a list of colon, space, tab, newline, or
                    comma-separated directories in which to search for libraries.

2)我的bash脚本中的命令到底是什么?

它更新动态链接器缓存。也就是说:如果您正在安装共享库,它将使新安装的库可用于您的系统。(例如,安装libfoo.so.2.1时会创建必要的符号链接libfoo.so.2

于 2013-10-28T11:23:09.500 回答