$ find ~ -mmin 60 ! -type d
为标志给定一个负值,表示要匹配该数值或更近的 。例如,下面介绍了如何列出您的 home 目录树中、从一个小时之前到现在经过修改的所有的文件:
$ find ~ -mmin -60 ! -type d
并非所有的 find 实现都支持 min 标志 。如果您的 find 不支持,那么您可以使用 touch 创建一个虚拟文件,它的时间戳比要找的文件早,然后使用 -newer 标志搜索比它更新的文件:
$ date
Mon Oct 23 09:42:42 EDT 2006
$ touch -t 10230842 temp
$ ls -l temp
-rw-r--r--1 joejoe0 Oct 23 08:42 temp
$ find ~ -newer temp ! -type d
特殊的 -daystart 标志,当与任何日期选项一起使用时,可以度量从当天凌晨开始(而不是 24 小时以前)到命令执行的时刻 。下面的命令尝试列举存在于系统中的任何位置、从当天凌晨到现在访问过的所有的文件:
$ find / -user `whoami` -daystart -atime -1 ! -type d
类似地,您可以列出 home 目录树中、今天修改 的所有文件:
$ find ~ -daystart -mtime -1 ! -type d
为各种时间标志赋于不同的值,可以更改搜索时间 。您还可以对这些标志进行组合 。例如,您可以列出 home 目录树中、从七天之前到现在经过访问和 修改的所有的文件:
$ find ~ -daystart -atime -7 -mtime -7 ! -type d
您还可以根据特定日期或时间范围(以天或分钟进行度量)查找文件 。要完成该任务,通常可以使用 touch 创建一个或多个虚拟文件,如前所述 。
当您需要查找匹配某个范围的文件时,建立两个虚拟文件,它们的时间戳可以描述这个范围 。然后,对较旧的文件使用 -newer 标志,对第二个文件使用“! -newer 。
例如,要在 /usr/share 目录树中查找在 2006 年 8 月经过访问的所有文件,可以尝试下面的命令:
$ touch -d "Aug 1 2006" file.start
$ touch -d "Sep 1 2006" file.end
$ find /usr/share -daystart -newer file.start ! -daystart -newer file.end
最后,在列出目录内容时,可以按照文件的最后修改时间进行排序,这样做有时很有帮助 。有些版本的 ls 工具具有 -c 选项,它可以按照文件修改的时间进行排序,最先显示最后修改的文件 。与 -l(长清单)和 -t(按照修改时间排序)选项一同使用,您可以对目录清单按照最后修改文件在前的顺序排序,长清单可以显示文件的修改时间而不是缺省创建时间:
$ ls -ltc /usr/local/proj/websphere | less
计算工作花费的时间
使用 UNIX 提高办公工作效率的另一种有价值的方式是,计算经常执行的命令所花费的时间 。然后,您可以对结果进行评估,并确定是否花费了过多的时间等待一个特定的进程结束 。
计算命令执行所花费的时间
系统是否运行迟缓?您在 Shell 中等待了多长时间,在某个特定命令执行时,什么也做不了?完成早上的日常工作需要花费多长时间呢?
当您使用 date、sleep 和 echo 命令来计算具体任务所花费的时间时,可以获得关于这些问题的实质性的解答 。
要完成这项工作,可以输入一行以 date 语句开头的长输入行,以便按照需要的格式(通常,小时和分钟就足够了)输出时间和日期 。然后,运行该命令输入行(可能是由 Shell 指令串联起来的几行内容),最后可以使用相同的输入行再次得到日期 。如果您所测试的这些命令产生了大量的输出,可以对其进行重定向,以便能够阅读到开始和停止日期 。计算这两个日期的差:
$ date; system-backup > /dev/null; system-diag > /dev/null;
> netstat > /dev/null; df > /dev/null; date
测试您的打字速度
您可以使用相同的方法来测试打字输入:
$ date;cat|wc -w;date
推荐阅读
- UNIX 新手指南,第 1 部分: 文件维护工具
- 使用 UNIX find 命令的高级技术
- 对话 UNIX: 更多 shell 脚本技术
- 对话 UNIX: !$#@*%
- UNIX 共享内存应用中的问题及解决方法
- 用Syslog 记录UNIX和Windows日志的方法
- 本周五Unix系统将发生时间错误
- 如何在Unix结果中抽取想要的参数
- 同步 UNIX 文件
- /dev/tty文件在Unix操作系统中的妙用
