it-swarm-eu.dev

Jak zobrazím seznam všech nainstalovaných programů?

Jak mohu uvést programy, které byly dodány s mou distribucí, a programy, které jsem nainstaloval ručně?

55
InquilineKea

To záleží na vaší distribuci.

  • Distribuce založené na aptitude (Ubuntu, Debian atd.): dpkg -l
  • Distribuce založené na RPM (Fedora, RHEL atd.): rpm -qa
  • distribuce založené na pkg * (OpenBSD, FreeBSD atd.): pkg_info
  • Distribuce založené na portálech (Gentoo atd.): equery list nebo eix -I
  • distribuce založené na pacmanu (Arch Linux atd.): pacman -Q
  • Cygwin: cygcheck --check-setup --dump-only *
  • Slackware: slapt-get --installed

Ve všech těchto budou uvedeny balíčky spíše než programy . Pokud opravdu chcete seznam programů, pravděpodobně budete chtít uvést spustitelné soubory ve vašem $PATH, což lze provést pomocí bash's compgen:

compgen -c

Nebo pokud nemáte 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
78
Chris Down

Odpověď na druhou část otázky (do Chrisova odpověď pro první část) se opravdu nic nedá přidat:

Obecně existuje žádný způsob výpisu ručně nainstalovaných programů a jejich součástí. Pokud jste správce balíčků nepoužili, není to nikde zaznamenáno. Vše, co můžete udělat, je najít binární soubory na standardních místech (jako navrhl Chris) a podobným způsobem hádat kde některé knihovny nebo některé manuálové stránky atd. pocházejí. Proto byste měli vždy, když je to možné, instalovat programy pomocí správce balíků .

13
rozcietrzewiacz

Programy by měly být dostupné prostřednictvím PATH, takže stačí uvést vše, co je na cestě:

ls ${PATH//:/ }

Očekávejte výsledek asi 3 až 4 000 programů.

Chcete-li vyloučit pravděpodobnou menšinu falešných poplachů, můžete přístup vylepšit:

for d in ${PATH//:/ } ; do 
    for f in $d/* ; do  
        test -x $f && test -f $f && echo $f
    done
done

To pro mě nic nezměnilo.

4
user unknown

Všechny ostatní odpovědi (dosud) se zabývají balíčky a binárními soubory. Pokud máte na mysli „desktopové aplikace“, které se objevují ve vaší nabídce Start, můžete vyzkoušet:

ls /usr/share/applications | awk -F '.desktop' ' { print $1}' -

Další řešení v další otázka .

2
Rolf