我想列出linux和rpm和yum命令以外的所有最近安装的软件(因为这些命令将只列出使用它们安装的软件)。我想列出从所有来源安装的应用程序。
你不能。可以通过多种方式安装软件,而您根本无法考虑全部。当然,您可以签入/opt
和/usr/local
,但很有可能会遗漏一些东西。
考虑到“安装”的基本解释:将可执行程序放置在PATH
下的任何位置,您可以通过在PATH
目录中搜索最近修改的文件来执行所需的操作:
for d in ${PATH//:/ }; do
if test -d "$d"; then
find "$d" -type f -executable -mtime -1
fi
done
此代码段采用PATH
(由冒号分隔的目录名称的组合,并为每个目录查找在前一天修改过的可执行文件。
要查找安装在其中的可执行文件,例如2天,请使用-mtime -2
。
当然,这意味着一定程度的信任,即在安装过程中没有进行任何恶意操作,因为不良的播放器可以轻松调整修改时间,例如touch
命令。