![按访问时间对目录中的文件进行排序,忽略其中的子集](https://linux22.com/image/105367/%E6%8C%89%E8%AE%BF%E9%97%AE%E6%97%B6%E9%97%B4%E5%AF%B9%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F%EF%BC%8C%E5%BF%BD%E7%95%A5%E5%85%B6%E4%B8%AD%E7%9A%84%E5%AD%90%E9%9B%86.png)
有时我会下载一些文件到一个目录中d
。在一段时间内,下载了很多文件,我尝试按照从最旧到最新的下载顺序查看它们。
我认为顺序并不那么重要,但是我以其他方式访问的文件(例如打开pdf
我发现有趣的文件)而不是“下载时间”可能会改变顺序。
我使用了命令:
$ ls -rtlu
但这不是我想要的,因为很快下载的视频被大约 100 个其他文件分开,我最近对它们没有表现出任何兴趣。并且它们在输出中都具有相同的访问时间Feb 11 16:44
。第一个视频的下载地址为Feb 11 16:28
,第二个视频的下载地址为Feb 11 16:45
。
我可以更正输出以根据访问时间列出文件,但忽略(或删除)我不使用的文件吗?
例如找出访问它们的内容(我认为这可能是我最近安装的审计应用程序)
答案1
也许ls -rtlc
会做你想做的事。它按 inode 更改时间 (ctime) 排序。只要文件的任何内容发生变化(访问时间除外),即执行除读取以外的任何操作都会更改 ctime(创建、写入、移动、更改属性等),inode 更改时间就会发生变化。因此,只要您没有移动文件或更改其权限,ctime 就应该仍然是下载时间。
如果下载时间不是你想要的那么我担心你运气不好。不记录哪个进程访问了文件。无论哪个应用程序读取该文件,文件的访问时间都会在每次读取时更新(或在现代 Linux 系统上的某些读取中,牺牲性能便利性)。使用 PDF 阅读器阅读与使用审核或索引应用程序阅读之间没有区别。
如果您想知道最近查看了哪些文件,则可以检查文件查看器本身是否保留其打开的文件的历史记录。许多 GUI 程序确实保留了最近打开的文件的列表,但它们通常不提供简单的编程访问。
如果您从命令行调用查看器,请尝试您的 shell 历史记录。根据您配置 shell 的方式,其历史记录可能完整也可能不完整,并且可能带有时间戳也可能不带有时间戳。