Dağıtımımla birlikte gelen ve el ile yüklediğim programları nasıl listeleyebilirim?
Dağıtımımla birlikte gelen ve el ile yüklediğim programları nasıl listeleyebilirim?
Yanıtlar:
Bu senin dağılımına bağlı.
dpkg -l
rpm -qa
pkg_info
equery list
Veyaeix -I
pacman -Q
cygcheck --check-setup --dump-only *
slapt-get --installed
Bunların hepsi programlardan ziyade paketleri listeler . Eğer gerçekten programları listelemek isterseniz, muhtemelen Gözlerinde farklı yürütülebilir listelemek istediğiniz bash en kullanarak şöyle yapılabilir, :$PATH
compgen
compgen -c
Veya, yoksa 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
.
Sorunun ikinci kısmına cevap vermek ( Chris'in ilk kısmı için cevabına eklenecek hiçbir şey yok ) :
Genellikle yoktur hiçbir elle yüklü programları ve bunların bileşenlerini listeleme yol. Paket yöneticisi kullanmadıysanız, bu hiçbir yerde kaydedilmez. Tüm yapabileceğin (Chris önerilen) gibi standart konumlarda ikiliklerini ve benzer şekilde, olduğu tahmin nerede bazı kütüphaneler veya bazı vb kalvuzlar geldi. Bu nedenle, mümkün olduğunda , paket yöneticinizi kullanarak programları her zaman yüklemelisiniz .
Programlara PATH üzerinden ulaşılabilir olmalıdır, bu nedenle yoldaki her şeyi listele:
ls ${PATH//:/ }
Yaklaşık 3k-4k programların bir sonucunu bekleyin.
Olası bir yanlış pozitif azınlığı dışlamak için, yaklaşımı iyileştirebilirsiniz:
for d in ${PATH//:/ } ; do
for f in $d/* ; do
test -x $f && test -f $f && echo $f
done
done
Benim için fark yaratmadı.
$PATH
, vb.).
Diğer tüm cevaplar (şimdiye kadar) paketler ve ikili dosyalar ile ilgilidir. "Masaüstü uygulamaları" nı kastediyorsanız, başlat menünüzde görünenleri deneyebilirsiniz:
ls /usr/share/applications | awk -F '.desktop' ' { print $1}' -
Başka bir soruda daha fazla çözüm .