提高UNIX工作效率 解析有价值的命令行
作者:佚名 出处:网络 更新时间:2007-08-07 责任编辑:
 
 

通常,您无法找出到底是谁 对文件进行了最后的访问或修改,因为在 UNIX 中不大容易获得这种信息,但通过将搜索限制为您的 home 目录树中包含的文件,您可以仅查看个人的文件。您还可以对搜索进行限制,以便仅搜索您正在监视或使用的特定项目目录中的文件。

  find 实用程序有几个标志,可以用来根据时间定位文件,如表 1 中所列举的。目录不是常规文件,但是在列出目录内容或将其作为当前工作目录时,对其进行了访问,所以需要在搜索中使用否定和 -type 标志排除它们。

  表 1. find 实用程序的一些标志

标志            描述
-daystart    这个标志表示从某天凌晨开始。
-atime        最后访问该文件的时间,用天数表示。
-ctime        最后更改该文件状态的时间,用天数表示。
-mtime      最后修改该文件的时间,用天数表示。
-amin        最后访问该文件的时间,用分钟数表示。(并不是在所有的实现中都可用。)
-cmin        最后更改该文件状态的时间,用分钟数表示。(并不是在所有的实现中都可用。)
-mmin      最后修改该文件的时间,用分钟数表示。(并不是在所有的实现中都可用。)
-type         这个标志描述了文件的类型,如 d 表示目录。
-user X    文件属于用户 X。
-group X 文件属于组 X。
-newer X 文件比文件 X 更新。

  下面介绍了如何列出您的 home 目录树中、在整整一个小时之前经过修改的所有的文件:

$ 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 joe joe 0 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 创建一个或多个虚拟文件,如前所述。

 
     
 
 
后退<<上一页 继续>>下一页
[上一页][第1页][第2页][第3页][第4页][第5页][第6页][第7页][下一页]
 
内容导航  
第1页解析有价值的命令行一 第2页解析有价值的命令行二
第3页解析有价值的命令行三 第4页解析有价值的命令行四
第5页解析有价值的命令行五 第6页解析有价值的命令行六
第7页Unix
上一篇 : 试试下面这些UNIX的提示.. 下一篇老手经验谈 介绍UNIX高手..
 
  您要为所发表的言论的后果负责,请各位遵纪守法并注意文明用语
标题:  

[ 关于本站 ] [ 广告服务 ] [ 商务合作 ] [ 联系我们 ] [ 合作伙伴 ] [ 法律顾问 ] [ 网站地图 ]
千橡公司 京ICP证041489号 Copyright (c) 1997-2007 All Right Reserved.