gpt4 book ai didi

linux - Unix 缓存二进制文件吗?

转载 作者:IT王子 更新时间:2023-10-29 00:32:54 25 4
gpt4 key购买 nike

这是我理解的问题,我相信 *nix 系统很少需要重启。也就是说,如果您安装了新的“应用程序”甚至内核 9/10,则不需要重新启动。

我最近安装了一个随机组件(liquidsoap 依赖项)我需要从源代码:camlp4-4.03-1 并注意到以下内容:

pi@raspberrypi:~ $ /usr/local/bin/camlp4 -v
Camlp4 version 4.03.0
pi@raspberrypi:~ $ camlp4 -v
Camlp4 version 4.01.0
pi@raspberrypi:~ $ which camlp4
/usr/local/bin/camlp4

我对版本不匹配感到难过?对于什么似乎是同一个文件?当前目录中没有“camlp4”:)

HW: Raspberry Pi 3
OS: Raspbian Jessie (up to date)


请求添加的信息:

pi@raspberrypi:~ $ find / -name camlp4
/usr/local/lib/ocaml/site-lib/camlp4
/usr/local/lib/ocaml/camlp4
/usr/local/bin/camlp4
/usr/lib/ocaml/camlp4
/usr/share/doc/camlp4
/usr/bin/camlp4
/home/pi/apps/camlp4
/home/pi/apps/camlp4/camlp4-4.03-1/_build/camlp4
/home/pi/apps/camlp4/camlp4-4.03-1/camlp4
/home/pi/apps/ocamlfind/findlib-1.6.2/site-lib-src/camlp4

pi@raspberrypi:~ $ type -a camlp4
camlp4 is /usr/local/bin/camlp4
camlp4 is /usr/bin/camlp4

pi@raspberrypi:~ $ which camlp4
/usr/local/bin/camlp4
pi@raspberrypi:~ $ /usr/bin/camlp4 -v
Camlp4 version 4.01.0
pi@raspberrypi:~ $ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

提供的测试解决方案:

pi@raspberrypi:~ $ /usr/local/bin/camlp4 -v
Camlp4 version 4.03.0
pi@raspberrypi:~ $ camlp4 -v
Camlp4 version 4.01.0
pi@raspberrypi:~ $ which camlp4
/usr/local/bin/camlp4
pi@raspberrypi:~ $ hash -r
pi@raspberrypi:~ $ camlp4 -v
Camlp4 version 4.03.0

最佳答案

大多数 shell 确实维护了二进制文件的缓存以针对给定命令启动,以避免每次都搜索 PATH,而 which 并不知道这一点缓存,它解释了您观察到的差异。刷新缓存的方式因 shell 而异。对于 bashdash,您应该执行 hash camlp4。对于 zsh,这是 rehash

关于linux - Unix 缓存二进制文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40020974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com