|
当您需要查找匹配某个范围的文件时,建立两个虚拟文件,它们的时间戳可以描述这个范围。然后,对较旧的文件使用 -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
如果您提供一个至少持续 1 分钟以上的输入示例,但最好是 3 分钟或更长的时间,那么该命令的结果将更准确。计算这两个日期之间的差(以分钟为单位),然后使用您所输入的单词数(由中间的命令输出)除以这个值,以得到平均每分钟输入的单词数。
通过为开始和停止日期以及输出单词数的命令设置相应的变量,您可以为这项任务实现自动化。但是为了正确地完成这项任务,您必须在使用这些时间做减法计算的时候避免一个常见的错误。GNU 对 date 命令进行了扩展,即 %s 格式选项,可以用来避免这样的错误,它输出自UNIX 新纪元 以来的秒数,该时间定义为 UTC 时间 1970 年 1 月 1 日凌晨。然后,您可以单独根据秒数来计算时间。
分配一个变量 SPEED 作为 echo 命令的输出,以便设置正确的公式通过管道传递给计算器工具,如 bc.然后,输出一个新的 echo 语言,该语句将输出关于打字速度的消息:
$ START=`date +%s`;WORDS=`cat|wc -w`; STOP=`date +%s`; SPEED=\ > `echo "$WORDS / ( ( $STOP - $START ) / 60 )"|bc`;echo \ > "You have a typing speed of $SPEED words per minute."
您可以将它放到一个脚本中,然后更改其权限,以使得所有的用户都可以执行它,以便系统中其他的用户也可以使用它,如清单 3 所示。
清单 3. 运行 typespeed 脚本的示例
$ typespeed The quick brown fox jumped over the lazy dog. The quick brown dog-- ... --jumped over the lazy fox. ^D
You have a typing speed of 82.33333333 words per minute. $
共6页: 上一页 [1] [2] 3 [4] [5] [6] 下一页
|