linux学习笔记6

linux学习笔记6

locate 功能弱,速度快

find 功能强,速度慢

locate 【路径】【关键字】

实际上locate命令,是在系统记录文件名的数据库中查找,即/var/lib/mlocate数据库,并不是遍历硬盘来查找,存在以下的问题:刚创建的文件查不到;已经被删掉的文件被找到,原因是记录文件名的数据库每天更新一次,但是可以手动更新 使用updatedb命令

find

find 【查找范围】【查找条件】【动作】

【查找范围】:路径

【查找条件】:文件大小、名字、类型

【动作】:对查找文件做进一步处理

eg:

  • 根据文件名查找:find 【路径】 -name 【精确文件名】; find / -name passwd

  • 根据文件类型查找:find 【路径】 -type【文件类型】;find / -type d

    • d:目录文件
    • f:普通文件
    • c:字符设备问价
    • b:块设备文件
    • l:符号链接文件
    • s:接口文件类型,网络数据连接中通过接口来监听客户端
  • 根据时间属性查找:

    • -mtime 和文件内容发生改变时间相关
      • find /tmp -mtime -3 -ls 查找tmp目录,往回数3天之内,内容发生改变的文件,ls列出时间戳属性方便查看
      • find /tmp -mtime +7 -ls 查找tmp目录,7天之前,内容发生改变文件
      • find /tmp -mtime 4 -ls 查找tmp目录,4天前的那一天,内容发生改变的文件
      • 其中+n代表n天之前,n代表往回数第n天的当天,-n代表往回数n天之内
    • -mmin(用法类似-mtime)
      • find /home/stu -mmin -60 -ls 查找stu目录中,前一个小时内容发生改变的文件
      • find /home/stu -mmin +120 -ls 查找stu目录中,前2个小时之前内容发生改变的文件
    • -ctime 和文件属性修改时间相关
    • -cmin 和文件属性修改时间相关
    • -atime 和文件被读取和执行的时间有关
    • -amin和文件被读取和执行的时间有关
  • 根据文件大小进行查找

    • -size
      • find /tmp -size -3k -ls 查找tmp目录下比3K字节小的文件
      • find /tmp -size +100c -ls 查找tmp目录下比100字节大的文件
      • find /tmp -size 10M -ls 查找tmp目录下10M大小文件
    • -size -1c 1字节
    • -size -1k 1024字节
    • -size -1M 1024k字节
    • -size -1G 1024M字节
    • +代表大于,-代表小于,无符号代表等于
  • 根据用户或者从属用户组的条件来查找

    • find /tmp -user root -ls 查找tmp目录下root用户文件
    • find /tmp -uid 500 -ls 查找tmp目录下uid为500的用户文件,UID为500的在linux中是普通用户
    • find /tmp -group stu -ls 查找tmp目录下从属于stu用户组的文件
    • find /tmp -gid 0 -ls 查找tmp目录下从属于gid为0的用户组文件
  • 根据文件权限查找

    • find /tmp -perm 754 -ls查找tmp目录下权限为754的文件
  • 联合条件查找

    • find -a 与

    • find -o 或

    • find ! 非

    • 联合条件需要把所有条件都用括号括起来,左右括号需要跟反斜杠\转义符,前后括号加上转义符部分的前后分别都要用空格隔开

    • eg:find /tmp \( -size -10M -a -size +5M -atime -10 \) -ls
      
  • 查找后的动作选项 -exec

    • find /tmp \( -size +1k -a -size -1M -a -mmin -30 -a -type f \) -exec rm -rf{} \;
      

    其中 rm -rf 代表具体的删除动作,{} 代表前面查找到的内容,;在bash中有特殊含义,需要 \ 转义

    • find /tmp \( -mmin -10 -a -type d \) -ls -exec tar -cf {}.tar {} \;
      
  • 查找后的动作选项 -OK

    • 对动作会逐个提示,其他作用和 -exec一致,在删除文件时可以考虑使用
上一篇:Servlet基础知识学习


下一篇:JSP和Servlet有哪些相同点和不同点?它们之间的联系是什么?