比如说,我certbot
安装了 snap,我想弄清楚当我调用 时会发生什么certbot --help
。首先,我检查当我输入 时 bash 调用了什么certbot
:
$ type -a certbot
certbot is /snap/bin/certbot
然后我检查 /snap/bin/certbot 指向的位置:
ls -l /snap/bin/certbot
lrwxrwxrwx 1 root root 13 Feb 18 18:33 /snap/bin/certbot -> /usr/bin/snap
/usr/bin/snap 只是一个二进制文件:
$ ls -l /usr/bin/snap
-rwxr-xr-x 1 root root 23618992 Feb 2 08:21 /usr/bin/snap
因此,我认为 /usr/bin/snap 会根据调用方式确定要调用的内容。但是,我如何才能知道之后到底调用了什么?(例如,是python /snap/certbot/952/main.py
,还是其他内容?)
答案1
正如评论指出的那样,我发现docker
可执行文件如下:
user@machine:~$ cd /snap/docker
user@machine:/snap/docker$ ls -la
total 8
drwxr-xr-x 4 root root 4096 Aug 22 12:06 ./
drwxr-xr-x 23 root root 4096 Mär 4 17:11 ../
drwxr-xr-x 13 root root 335 Jun 8 2020 471/
drwxr-xr-x 12 root root 173 Feb 5 2021 796/
lrwxrwxrwx 1 root root 3 Aug 22 12:06 current -> 796/
user@machine:/snap/docker$ ls -la current/bin/ | grep docker
-rwxr-xr-x 1 root root 85055920 Feb 5 2021 docker
对我来说,这是:
michael@thinkpad:~$ /snap/docker/current/bin/docker --version
Docker version 19.03.13, build cd8016b6bc