Como listar os programas que vieram com minha distribuição e os que eu instalei manualmente?
Como listar os programas que vieram com minha distribuição e os que eu instalei manualmente?
Respostas:
Isso depende da sua distribuição.
dpkg -l
rpm -qa
pkg_info
equery list
oueix -I
pacman -Q
cygcheck --check-setup --dump-only *
slapt-get --installed
No entanto, tudo isso listará os pacotes e não os programas . Se você realmente deseja listar os programas, provavelmente deseja listar os executáveis no seu $PATH
, o que pode ser feito da seguinte maneira, usando o bash's compgen
:
compgen -c
Ou, se você não tiver 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
rpm -qa
dkpg -l | grep ^ii
.
Respondendo à segunda parte da pergunta (nada realmente a ser adicionado à resposta de Chris na primeira parte) :
Geralmente, não há como listar programas instalados manualmente e seus componentes. Isso não é gravado em nenhum lugar se você não usou um gerenciador de pacotes. Tudo o que você pode fazer é encontrar os binários em locais padrão (como Chris sugerido) e de forma semelhante, acho que algumas bibliotecas ou algumas páginas de manual etc. veio. É por isso que, sempre que possível, você deve sempre instalar programas usando o seu gerenciador de pacotes .
Os programas devem estar acessíveis através do PATH, portanto, basta listar tudo no caminho:
ls ${PATH//:/ }
Espere um resultado de cerca de 3k-4k programas.
Para excluir uma provável minoria de falsos positivos, você pode refinar a abordagem:
for d in ${PATH//:/ } ; do
for f in $d/* ; do
test -x $f && test -f $f && echo $f
done
done
Não fez diferença para mim.
$PATH
etc).
Todas as outras respostas (até agora) lidam com pacotes e binários. Se você quer dizer "aplicativos de desktop", aqueles que aparecem no menu Iniciar, você pode tentar:
ls /usr/share/applications | awk -F '.desktop' ' { print $1}' -
Mais soluções em outra pergunta .