linux上文件查找工具: locate, find

locate:
依赖于事先构建的索引,索引的构建在系统较为空闲时自动进行(周期性任务),手动更新数据库(updatedb)
索引构建过程需要遍历整个根文件系统,极其消耗资源 工作特点: 查找速度快
模糊查找
非实时查找
find:
实时查找工具,通过遍历指定路径下的文件系统完成文件查找 工作特点:
查找速度略慢
精确查找
实时查找
语法:
find [OPTION]... [查找路径] [查找条件] [处理动作]
查找路径: 指定具体目标路径,默认为当前目录
查找条件: 指定的查找标准,可以是文件名、大小、类型、权限等
处理动作: 多符合条件的文件做什么操作,默认输出至屏幕 查找条件:
根据文件名查找:
-name "文件名称" : 支持glob,*,?,[],[^]
-iname "文件名称" :不区分字母大小写
-regex "PATTERN": 以PATTERN匹配整个文件路径字符串,而不仅仅是文件名称 根据属主、属组查找
-user USERNAME: 查找属主为指定用户的文件
-group GROUPNAME:查找属主为指定组的文件 -uid USERID: 查找属主为指定的UID号的文件
-gid GROUPID: 查找属组为指定的GID号的文件 -nouser: 查找没有属主的文件
-nogroup: 查找没有属组的文件 根据文件类型查找
-type TYPE:
f: 普通文件
d: 目录文件
l: 符号链接文件
s: 套接字文件
b: 块设备文件
c: 字符设备文件
p: 管道文件 根据文件大小来查找
-size [+|-]#UNIT
常用单位:k, M, G
#UNIT: (#-1,#]
+#UNIT: [#,oo]
-#UNIT: (0,#-1) 根据时间戳
以"天"为单位:
-atime [+|-]#:
#: [#,#+1)
+#: [#+1,oo]
-#: (0,#)
-mtime, -ctime
以"分钟"为单位
-amin, -mmin, -cmin 根据权限查找
-perm [/|-]MODE
MODE: 精确权限匹配
/MODE: 任何一类(u,g,o)对象的权限中只要能一位匹配即可
-MODE: 每一类对象都必须同时拥有为其指定的权限 处理动作:
-print: 默认的处理动作,显示至屏幕
-ls:类似于对查找到的文件执行"ls -l" 命令
-delete: 删除查找到的文件
-fls /path/to/somefile:查找到的所有文件的长格式信息保存至指定文件中
-ok COMMAND {} \; : 对查找到的每个文件执行由COMMAND指定的命令
对于每个文件执行命令之前,都会交互式要求用户确认
-exec COMMAND {} \; : 对查找都的每个文件执行由COMMAND指定的命令
{}: 用于引用查找到的文件名称自身
# find /tmp -nouser -exec chown {} root {} \;
注意: find传递查找到的文件至后面指定的命令时,查找到所有符合条件的文件一次性传递给后面的命令,
有些命令不能接受过多的参数,此时命令执行可能会失败,另一种方式可规避此问题
# find | xargs COMMAND 练习:
1.查找/var目录下属主为root,且属组为mail的所有文件或目录
# find /var -user root -group mail 2.查找/usr目录下不属于root、bin或hadoop的所有文件或目录
# find /usr -not \( -user root -o -user bin -o -user hadoop \) 3.查找/etc目录下一周内其内容修改过,同时属主不为root,也不是hadoop的文件或目录
# find /etc -not -user root -a -not -user hadoop -mtime -7 4.查找当前系统上没有属主或属组,且最近一周内曾被访问过的文件
# find / -nouser -nogroup -atime -7 5.查找/etc目录下大于1M且类型为普通文件的所有文件
# find /etc -size +1M -type f 6.查找/etc目录下所有用户都没有写权限的文件
# find /etc -not -perm \222 7.查找/etc目录下至少有一类用户没有执行权限的文件
# find /etc -not -perm -222 8.查找/etc/init.d目录下,所有用户都有执行权限,且其他用户有写权限的目录
# find /etc/init.d -perm -113

linux基础之find的更多相关文章

  1. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  2. 大数据每日干货第四天(linux基础之一目录结构与常用命令)

           为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...

  3. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

  4. 还是不想改报告,伊阿忆啊哟-Linux基础继续

    hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...

  5. 原来今天是感恩节-Linux基础继续&MySQL和PHP

    hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...

  6. 买错的电影票,含着泪也得看-LAMP搭建&Linux基础

    hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...

  7. Linux基础3(文件权限)

    文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...

  8. Linux课程实践一:Linux基础实践(基础操作)

    一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...

  9. 实践一:Linux基础实践

    一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...

  10. Linux基础精华

    Linux基础精华 (继续跟新中...) 常用命令: Linux shell 环境 让你提升命令行效 率的 Bash 快捷键 [完整版] 设置你自己的liux alias Linux的Find使用 L ...

随机推荐

  1. Java中的 内部类(吐血总结)

    1. 内部类的作用 内部类是一个独立的实体,可以用来实现闭包:能与外部类通信:内部类与接口使得多继承更完整 2. 内部类的分类 1)普通内部类 类的实例相关,可以看成是一个实例变量.内部类的类名由 “ ...

  2. elk-插件(head、X-pack)(五)

    一.修改ES配置,允许REST跨源操作ES服务器,添加以下2个配置,并重启ES. http.cors.enabled: true #如果启用了 HTTP 端口,那么此属性会指定是否允许跨源 REST ...

  3. SQLSERVER CTE表 row_number()字段 BUG

    当CTE中 引用的子视图的字段用了  row_number() over等那么有可能造成row_number() 的对应关系出错的问题 所以CTE  row_number() over 排序字段 必须 ...

  4. 我了解到的新知识之—MPLS

    下周末运营商来公司要对MPLS升级,对于一个多年权限管理经验的我来说未免有些陌生,幸好现在网络资源丰富,就开始了搜索之旅,找到了一些信息,所以在想干脆以后就开一个系列就叫<我了解到的新知识> ...

  5. [No000018A]改善C#程序的建议11-20

    建议11:区别对待 == 和Equals CLR中将“相等性”分为两类:1.值相等性:两个变量包含的数值相等.2.引用相等性:两个变量引用的是内存中的同一个对象. 但并不是所有的类型的比较都是按照其本 ...

  6. 图->连通性->关节点和重连通分量

    文字描述 相关定义:假若在删去顶点v以及和v相关联的各边之后,将图的一个连通分量分割成两个或两个以上的连通分量,则称顶点v为该图的一个关节点.一个没有关节点的连通图称为重连通图. 在重连通图上,任意一 ...

  7. pycharm import pygame 出现报错:No module named 'pygame'

    首先发现装的Python 有问题原来的Python3.6.4版本安装完成后Scripts文件夹里空白的,什么也没有,从https://www.python.org/downloads/windows/ ...

  8. 43-3-STM32的CAN外设

    1.STM32 的芯片中具有 bxCAN 控制器 (Basic Extended CAN), 它支持 CAN 协议 2.0A 和2.0B 标准. 2.外设中具有 3 个发送邮箱,发送报文的优先级可以使 ...

  9. mysql 日期相关 CURRENT_TIMESTAMP, CURRENT_DATE, CURRENT_TIME

    MySQL 时间函数 SELECT CURRENT_TIMESTAMP, CURRENT_DATE, CURRENT_TIME, CURRENT_TIME(), NOW(); https://dev. ...

  10. python常用函数总结

    原文地址https://www.cnblogs.com/nice107/p/8118876.html 我们在学习python的时候,接触最多的往往则是那些函数,对于python函数,在这里为大家总结归 ...