Application

如何列出所有已安裝的程序?

  • May 13, 2018

如何列出我的發行版附帶的程序和我手動安裝的程序?

這取決於你的分佈。

  • 基於 Aptitude 的發行版(Ubuntu、Debian 等):dpkg -l
  • 基於 RPM 的發行版(Fedora、RHEL 等):rpm -qa
  • 基於 pkg* 的發行版(OpenBSD、FreeBSD 等):pkg_info
  • 基於 Portage 的發行版(Gentoo 等):equery listeix -I
  • 基於 pacman 的發行版(Arch Linux 等):pacman -Q
  • 賽格溫:cygcheck --check-setup --dump-only *
  • 鬆弛軟體:slapt-get --installed

然而,所有這些都將列出軟體包而不是程序。如果你真的想列出程序,你可能想在你的 中列出執行檔$PATH,這可以使用 bash 來完成compgen

compgen -c

或者,如果您沒有compgen

#!/bin/bash
IFS=: read -ra dirs_in_path <<< "$PATH"

for dir in "${dirs_in_path[@]}"; do
   for file in "$dir"/*; do
       [[ -x $file && -f $file ]] && printf '%s\n' "${file##*/}"
   done
done

引用自:https://unix.stackexchange.com/questions/20979