Chr*_*own 86
这取决于你的分布。
dpkg -lrpm -qapkg_infoequery list或eix -Ipacman -Qcygcheck --check-setup --dump-only *slapt-get --installed然而,所有这些都将列出包而不是程序。如果你真的想列出程序,你可能想在你的 中列出可执行文件$PATH,这可以使用 bash 来完成compgen:
compgen -c
Run Code Online (Sandbox Code Playgroud)
或者,如果您没有compgen:
compgen -c
Run Code Online (Sandbox Code Playgroud)
所有其他答案(到目前为止)都涉及包和二进制文件。如果您指的是“桌面应用程序”,即出现在开始菜单中的应用程序,您可以尝试:
ls /usr/share/applications | awk -F '.desktop' ' { print $1}' -
Run Code Online (Sandbox Code Playgroud)
更多解决方案在另一个问题中。
程序应该可以通过 PATH 访问,因此只需列出路径中的所有内容:
ls ${PATH//:/ }
Run Code Online (Sandbox Code Playgroud)
预计大约 3k-4k 个程序的结果。
为了排除可能的少数误报,您可以改进该方法:
for d in ${PATH//:/ } ; do
for f in $d/* ; do
test -x $f && test -f $f && echo $f
done
done
Run Code Online (Sandbox Code Playgroud)
这对我来说没有什么区别。