1、红帽企业Linux用户基础RHA030 13单元 查找和处理文件 目标 通过本单元的学习 你将能够 使用locate使用find使用Gnome得查找工具 locate 向预建数据库询问系统上文件的路径数据库必须是管理员更新的完整的路径将被查找 而不止是文件名对于被搜索目录 用户要拥有可读和可执行的权限 Locate例子 Locatepasswd 查找名字或路径中包含passwd的文件有用的选项 i进行大小写不敏感的查找 nX只列出X打头的 eDIR1 DIR2 不搜索目录DIR1 DIR2等等 find Find dir1dir2 criteria 实时搜索目录树比locate慢但更精确如果不
2、给定开始目录 就用CWD如果不给定criteria 所有文件都匹配在找到的文件上可以执行命令对于被搜索目录 用户要拥有可读和可执行的权限 基础的find例子 find namesnow png在当前目录下查找名为snow png的文件find inamesnow png在当前目录下查找文件名字为snow png SNOW PNG 等等 大小写不敏感find name txt在整个系统中查找以 txt结尾的文件find etc name pass 在 etc目录下查找名字包含pass的文件find home userjoe groupjoe在 home目录下查找所有者是joe并且组也是joe的文
3、件 find与逻辑操作 默认匹配是与可以用 o或者是 not表示 或 或者是 否定 括号可以用来检测逻辑操作的顺序 但必须用斜线转义find userjoe not groupjoefind userjoe o userjanefind not userjoe o userjane find与权限 能用名字或id匹配所属关系find userjoe o uid500能匹配八进制或符号权限find perm755会匹配755的模式find perm 222会匹配只要任何用户能写的模式find perm 222会匹配所有用户都可以写的模式find perm 002会匹配其他人可以写的模式 find
4、与数字标准 许多查找标准采用数字值find size10M大小等于10M的文件find size 10M大小超过10M的文件Find size 10M大小少于10M的文件其他修饰符也有效 如 k代表KB G代表GB等等 find与访问时间 find可以通过节点时间戳匹配 atime文件是最后被读的 mtime文件数据最后被修改的 ctime文件数据或元数据最后被修改的给定值是天find tmp ctime 10 tmp下10天以前被修改的文件可以使用分钟的值 amin mmin cminfind etc amin 60 用find执行命令 在找到的文件上可以执行命令必须用 exec或者 ok打
5、头执行命令 ok在对每个文件进行动作前提示命令必须以空格 斜线 结尾可以使用 作为文件名字占位符find size 100M okmv tmp largefiles find执行例子 find name conf execcp orig 备份当前目录下的配置文件 加 orig扩展名find tmp ctime 3 userjoe okrm 提示删除Joe的3天以前的临时文件find perm 002 execchmodo w 定位你的根录下其他用户可写的文件find home typed ls做一个 hom 目录下所有目录ls l风格的显示列表find data typef perm644 name sh okchmod755 在 data 目录下查找以 sh结尾的权限模式为644的文件 并且把他们增加为可以执行的 Gnome搜索工具 Places SearchTool通过如下匹配的图形搜索工具名字内容用户 组大小修改时间 总结和实验 摘要和实验用locate很快的查找不是很新的文件用find搜索基于很明确的标准的文件 并且可选择在匹配的文件上执行命令使用Gnome搜索工具 直观的但很强大的GUI搜索工具注 全部的实验和练习题也可以直接从我们的网站上下载