搜索和处理文件.pptVIP

  • 1
  • 0
  • 约1.75千字
  • 约 12页
  • 2019-10-20 发布于湖北
  • 举报
搜索和处理文件 目标 学习了本单元后,你应该能够: 使用locate命令 使用find命令 使用Gnome搜索工具 locate 查询系统上预建的文件数据库 数据库必须被管理员更新 搜索的是文件的全路径,不仅仅是文件名 可能只搜索用户具备读取和执行权限的目录 locate 命令实例 locate foo 搜索名称或路径中带有“foo”的文件 locate -r ‘\.foo$’ 使用Regex来搜索以“.foo”结尾的文件 有用的选项 -i 执行区分大小写的搜索 -n X 只列举前X个匹配项目 find find?[dir1?dir2?...]?[criteria...] 在实时环境里搜索目录树 比locate命令慢,但比它更准确 如果没有给定起始目录,就会使用PWD(当前所在目录) 如果没有给定条件,就会匹配所有文件 可以在找到的文件上执行命令 可能只搜索用户具备读取和执行权限的目录 基本的find命令使用实例 find?-name?snow.png 搜索名为snow.png的文件 find?-iname?snow.png 不分大小写地搜索名为snow.png、Snow.png、SNOW.PNG等等的文件 find / -name *.txt find /var –name *log* find??-user?joe ?-group?joe 搜索被用户joe 以及组群joe所拥有的文件 find 命令和逻辑运算符 搜索条件默认使用AND运算符连接。 可以使用-o来进行OR的运算,或-not来进行否定运算 可以使用括号来决定逻辑运算的顺序,但是必须使用bash的转义符。 find?-user?joe?-not?-group?joe find?-user?joe?-o?-user?jane find?-not??\(??-user?joe?-o?-user?jane??\) find 命令和权限 可以根据用户名或ID来匹配所有者 find?/?-user?joe?-o?-uid?500 可以匹配数字式(又称八进制)或符号式权限模式 find?-perm?755 会匹配权限模式恰好是755的文件 只要当任意人有写权限时,find?-perm?+222就会匹配 只有当每个人都有写权限时,find?-perm?-222才会匹配 只有当其它人(other)有写权限时,find?-perm?-002才会匹配 find 命令和数字式条件 许多find条件都接受数值做为参数 find? -size ?1k 大小正好是1k的文件 find -size +1M 大小超过1M的文件 find -size -1M 大小小于1M的文件 支持k、M、G、T等单位 find 命令和存取时间 find命令可以根据inode时间戳来进行匹配 -atime:文件最后一次被读取 -mtime:文件数据最后一次被改变 -ctime:文件数据或元数据最后一次被改变 给定值代表天数 find -ctime -10 文件修改日期少于10天 mmin、amin、cmin以分钟为单位 使用find来执行命令 在找到的文件上可以执行命令 命令前面必须加一个 -exec 或 -ok 选项 -ok 在对每个文件执行命令前提示你 命令必须以 空格\;(“ \;”)结尾 {}可以用作文件名的位置标识符 find -size +100M -ok gzip {} \; find 命令的执行实例 find -name “*.conf” -exec cp {} {}.org \; 备份配置文件,添加.orig这个扩展名 find?/tmp?-ctime?+3?-user?joe?-ok?rm?{}?\; 提示删除存在时间超过3天以上的joe的临时文件 find?~?-perm?-002 ?-exec?chmod?o-w?{}?\; 在你的主目录中寻找可被其它用户写入的文件 find /data –type f -perm 644 -name *.sh –exec chmod 755 {} \; find /home –type d -ls * *

文档评论(0)

1亿VIP精品文档

相关文档