Всегда существует опция "поместить его, где это принадлежит", но запишите простого об/мин, сначала.
Это зависит от Вашего распределения.
dpkg -l
rpm -qa
pkg_info
equery list
или eix -I
pacman -Q
cygcheck --check-setup --dump-only *
slapt-get --installed
Все они перечислят пакеты, а не программы как бы то ни было. Если Вы действительно хотите перечислить программы, Вы, вероятно, хотите перечислить исполняемые файлы в Вашем $PATH
, который может быть сделан как настолько использующий удар 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
Ответ на вторую часть вопроса (ничто действительно, чтобы быть добавленным к ответу Chris для первой части):
Обычно нет никакого способа перечислить вручную установленные программы и их компоненты. Это не зарегистрировано нигде, если Вы не использовали диспетчер пакетов. Все, что можно сделать, является находкой двоичные файлы в стандартных местоположениях (как предложенный Chris) и похожим способом, угадайте, куда некоторые библиотеки или некоторые страницы руководства и т.д. произошли из. Именно поэтому, когда это возможно, необходимо всегда устанавливать программы с помощью диспетчера пакетов.
Программы должны быть достижимыми через ПУТЬ, поэтому просто перечислить все в пути:
ls ${PATH//:/ }
Ожидайте результат приблизительно 3k-4k программы.
Для исключения вероятного меньшинства ложных положительных сторон можно совершенствовать подход:
for d in ${PATH//:/ } ; do
for f in $d/* ; do
test -x $f && test -f $f && echo $f
done
done
Это не имело значения для меня.
$PATH
, и т.д.).
– Chris Down
25.03.2012, 06:03
Все остальные ответы (до сих пор )касаются пакетов и двоичных файлов. Если вы имеете в виду «настольные приложения», которые появляются в вашем меню «Пуск», вы можете попробовать:
ls /usr/share/applications | awk -F '.desktop' ' { print $1}' -
Больше решений в другой вопрос .
rpm -qa
– nos 19.09.2011, 00:10dkpg -l | grep ^ii
. – Rolf 06.02.2018, 12:37