在所有路径目录中查找可执行文件
for p in $(echo $PATH | tr ':' '\n'); do
find "$p" -type f -executable -name 'python*'
done
结果
/usr/bin/python2.7
/usr/bin/python-argcomplete-check-easy-install-script-3.6
/usr/bin/python3.6m
/usr/bin/python3.11
/usr/bin/python3.6m-config
/usr/bin/python3.9
/usr/bin/python3.6
如果需要正则表达式
find "$p" -type f -executable -regex '.*python.*'
也能找到象征性的联系
find "$p" -executable -regex '.*python.*' \( -type f -or -type l \)
显示二进制文件和符号链接
for p in $(echo $PATH | tr ':' '\n'); do find "$p" -executable -regex '.*python[2-3][.0-9]*' \( -type f -or -type l \);done | xargs file -e elf | sort -t ':' -k 2
结果
/usr/bin/python2.7: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)
/usr/bin/python3.6: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)
/usr/bin/python3.9: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)
/usr/bin/python3.11: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)
/usr/bin/python2: symbolic link to python2.7
/usr/bin/python3: symbolic link to python3.6