![我如何列出未使用的应用程序?](https://linux22.com/image/830552/%E6%88%91%E5%A6%82%E4%BD%95%E5%88%97%E5%87%BA%E6%9C%AA%E4%BD%BF%E7%94%A8%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
嘿,有没有可能列出所有处于 10-20 天未使用状态的应用程序。如果可以,我该怎么做?
谢谢。
答案1
我能想到的最接近的方法是运行popularity-contest > out.txt
,这将需要一段时间来生成一个文件,out.txt
列出从最近使用到最近最少使用的程序。我的印象是...
- 第一列是该程序最近使用的时间(纪元格式),下一列是首次使用(或安装?)的时间。
- 我认为,列出的程序都是已注册的程序(通过
apt-get
或软件中心安装)。未注册的程序不会出现在列表中。例如,我通过解压 tar.gz 安装了 Seamonkey。但并没有显示出来。
输出popularity-contest
如下所示:
POPULARITY-CONTEST-0 TIME:1359204011 ID:ae1dc87f150c489082f0ddb28af40350 ARCH:i386 POPCONVER:1.53ubuntu1
1359204011 1349657211 openbox /usr/bin/openbox
1359204011 1349657211 xscreensaver /usr/bin/xscreensaver
1359204011 1354294761 perl-base /usr/bin/perl
1359204011 1349833421 update-notifier /usr/bin/update-notifier
1359204011 1349657224 xfconf /usr/lib/i386-linux-gnu/xfce4/xfconf/xfconfd
1359204011 1349657224 lxpanel /usr/lib/i386-linux-gnu/lxpanel/plugins/monitors.so
1359204011 1349657225 policykit-1-gnome /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
1359204011 1358559008 lxterminal /usr/bin/lxterminal
1359204011 1349664550 ttf-ubuntu-font-family /usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-RI.ttf
1359204011 1349664535 pcmanfm /usr/bin/pcmanfm
1359204011 1349657224 lxpanel-indicator-applet-plugin /usr/lib/i386-linux-gnu/lxpanel/plugins/indicator.so
1359204011 1349657235 ttf-dejavu-core /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf
1359204011 1349657210 lxsession /usr/bin/lxsession
1359204011 1349833422 update-notifier-common /usr/share/locale/en/LC_MESSAGES/update-notifier.mo
1359204011 1349664531 network-manager-gnome /usr/bin/nm-applet
1359204011 1349657205 zlib1g /lib/i386-linux-gnu/libz.so.1.2.7
1359204011 1352212906 xfce4-power-manager /usr/bin/xfce4-power-manager
1359204008 1349657221 libxfconf-0-2 /usr/lib/i386-linux-gnu/libxfconf-0.so.2.0.0
1359204008 1358215752 libnss3 /usr/lib/i386-linux-gnu/nss/libfreebl3.so
1359204008 1349657221 libvorbis0a /usr/lib/i386-linux-gnu/libvorbis.so.0.4.5
1359204008 1349657221 libvorbisenc2 /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.8
1359204008 1349657217 libxcursor1 /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2
1359204008 1349657217 libx11-6 /usr/lib/i386-linux-gnu/libX11.so.6.3.0
1359204008 1349657221 libtasn1-3 /usr/lib/i386-linux-gnu/libtasn1.so.3.1.16
1359204008 1349657221 libwind0-heimdal /usr/lib/i386-linux-gnu/libwind.so.0.0.0
可以通过将整个输出粘贴到电子表格中来转换前两列。我使用了 LibreOffice Calc,并在每列“纪元时间”后插入了空白列。然后我填写了将“纪元时间”转换为人类可读时间的公式(并使用格式、单元格、时间来获得合适的格式)。
对于第一行数据,假设第一个“纪元时间”单元格在 A2 中,则将其放入=(A2/86400)+25569
B2 中并向下填充。对第二个“纪元时间”执行相同操作,使用=(C2/86400)+25569
单元格 D2。
内容只有几行,如下所示:
POPULARITY-CONTEST-0 TIME:1359204011 ID:ae1dc87f150c489082f0ddb28af40350 ARCH:i386
1359204011 26/01/2013 12:40:11 1349657211 08/10/2012 00:46:51 openbox /usr/bin/openbox
1359204011 26/01/2013 12:40:11 1349657211 08/10/2012 00:46:51 xscreensaver /usr/bin/xscreensaver
1359204011 26/01/2013 12:40:11 1354294761 30/11/2012 16:59:21 perl-base /usr/bin/perl
1359204011 26/01/2013 12:40:11 1349833421 10/10/2012 01:43:41 update-notifier /usr/bin/update-notifier
1359204011 26/01/2013 12:40:11 1349657224 08/10/2012 00:47:04 xfconf /usr/lib/i386-linux-gnu/xfce4/xfconf/xfconfd
1359204011 26/01/2013 12:40:11 1349657224 08/10/2012 00:47:04 lxpanel /usr/lib/i386-linux-gnu/lxpanel/plugins/monitors.so
1359204011 26/01/2013 12:40:11 1349657225 08/10/2012 00:47:05 policykit-1-gnome /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
1359204011 26/01/2013 12:40:11 1358559008 19/01/2013 01:30:08 lxterminal /usr/bin/lxterminal
1359204011 26/01/2013 12:40:11 1349664550 08/10/2012 02:49:10 ttf-ubuntu-font-family /usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-RI.ttf
1359204011 26/01/2013 12:40:11 1349664535 08/10/2012 02:48:55 pcmanfm /usr/bin/pcmanfm
1359204011 26/01/2013 12:40:11 1349657224 08/10/2012 00:47:04 lxpanel-indicator-applet-plugin /usr/lib/i386-linux-gnu/lxpanel/plugins/indicator.so
1359204011 26/01/2013 12:40:11 1349657235 08/10/2012 00:47:15 ttf-dejavu-core /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf
1359204011 26/01/2013 12:40:11 1349657210 08/10/2012 00:46:50 lxsession /usr/bin/lxsession
1359204011 26/01/2013 12:40:11 1349833422 10/10/2012 01:43:42 update-notifier-common /usr/share/locale/en/LC_MESSAGES/update-notifier.mo
1359204011 26/01/2013 12:40:11 1349664531 08/10/2012 02:48:51 network-manager-gnome /usr/bin/nm-applet
1359204011 26/01/2013 12:40:11 1349657205 08/10/2012 00:46:45 zlib1g /lib/i386-linux-gnu/libz.so.1.2.7
1359204011 26/01/2013 12:40:11 1352212906 06/11/2012 14:41:46 xfce4-power-manager /usr/bin/xfce4-power-manager
1359204008 26/01/2013 12:40:08 1349657221 08/10/2012 00:47:01 libxfconf-0-2 /usr/lib/i386-linux-gnu/libxfconf-0.so.2.0.0
1359204008 26/01/2013 12:40:08 1358215752 15/01/2013 02:09:12 libnss3 /usr/lib/i386-linux-gnu/nss/libfreebl3.so
1359204008 26/01/2013 12:40:08 1349657221 08/10/2012 00:47:01 libvorbis0a /usr/lib/i386-linux-gnu/libvorbis.so.0.4.5
1359204008 26/01/2013 12:40:08 1349657221 08/10/2012 00:47:01 libvorbisenc2 /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.8
1359204008 26/01/2013 12:40:08 1349657217 08/10/2012 00:46:57 libxcursor1 /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2
1359204008 26/01/2013 12:40:08 1349657217 08/10/2012 00:46:57 libx11-6 /usr/lib/i386-linux-gnu/libX11.so.6.3.0
1359204008 26/01/2013 12:40:08 1349657221 08/10/2012 00:47:01 libtasn1-3 /usr/lib/i386-linux-gnu/libtasn1.so.3.1.16
1359204008 26/01/2013 12:40:08 1349657221 08/10/2012 00:47:01 libwind0-heimdal /usr/lib/i386-linux-gnu/libwind.so.0.0.0
您可以在 popcon.ubuntu.com 上阅读更多内容,但其中的一段引文如下:
问)popularity-contest 报告哪些信息?
A) popular-contest 报告您使用的系统架构、您使用的 popular-contest 版本以及系统上安装的软件包列表。对于每个软件包,popularity-contest 会查看最近使用的文件(基于 atime),并报告文件名、上次访问时间 (atime) 和上次更改时间 (ctime)。但是,有些文件不会被考虑,因为它们的 atime 不可靠。
您还可以运行man popularity-contest
以获取更多信息。
答案2
您可以使用访问时间来确定应用程序的上次使用时间。
例如,尝试:
ls -ltu /usr/bin | pager
这将列出/usr/bin
按访问时间排序的所有文件(最后访问的在前)。
如果您想创建一个自动查找具有某些特征的程序的脚本,您可以stat
按以下方式使用:
stat -c%X /bin/cat
/bin/cat
这将输出自纪元以来的秒数作为访问时间
笔记:显然,如果您使用 mount 选项,这将不起作用noatime
。
答案3
我的磁盘已满,因此我使用以下行来查找过去 100 天内未使用且二进制文件大于 1 MB 的所有应用程序:
find /usr/bin -size +1000k -atime +100 -exec ls -ltu {} \;