find与逻辑关系运算
来源:互联网 发布:linux 卸载 工具 编辑:程序博客网 时间:2024/05/29 18:34
1. find命令的简单介绍
find命令是linux系统中的一项搜寻命令,其有着强大的功能,不经支持传统正则表达式,而且还支持通配符的使用。
[root@zhaoyang ~]# find [PATH] [option] [action]
以上是该命令的格式要求。
-uid n :n 为数字,这个数字是使用者的帐号 ID,亦即 UID 。
-gid n :n 为数字,这个数字是群组名称的 ID,亦即 GID。
-user name :name 为使用者帐号名称。
-group name:name 为群组名称。
-nouser :寻找文件的拥有者不存在的文件。
-nogroup :寻找文件的拥有群组不存在的文件!
当然,以上只是find命令中使用较为简单明了的选项,大家可以通过简单的例子验证一下。
介绍完基本的选项,其实find命令还有较多复杂的选项,例如关于以文件大小进行搜索(-size)和以修改时间进行搜索(主要为-mtime)的选项,其设置的内容确实需要进一步的学习才能正确给出策略,也请各位进一步查询帮助文档学习,我们这次要进行研究的重点是其逻辑关系运算方面的运用。
2. find中逻辑关系的简单介绍
逻辑关系有三种
- 与 -a
- 或 -o
- 非 -not,!
下面先给出各项的使用语法
find -user zy -a -group zy
查找用户名为zy并且所属组为zy的文件
find -user zy -o -user zhaoyang
查找用户名为zy或zhaoyang的文件
find -not user
查找用户名不是user的文件
3. 逻辑关系优先级别
上面都是一些单一的逻辑关系,已经给出其基本的用法,但有些时候,简单的逻辑关系很难筛选出我们所需要的结果,我们往往需要将逻辑运算符相结合,构成较复杂的运算。
说到复杂的组合运算,那么一定要注重运算的过程,也就是运算的优先级,只有了解了正确的优先级,才能给出正确的策略解决问题。
[root@localhost ~]# cd /app[root@localhost app]# touch wenben1[root@localhost app]# touch wenben2[root@localhost app]# touch wenben3
如上我们在/app文件夹中创建出wenben1、wenben2、wenben3三个文件
[root@localhost app]#find -not -name wenben1 -a -name wenben2./wenben2[root@localhost app]# find -not \( -name wenben1 -a -name wenben2 \)/app/.shiyan.swp/app/.yuan.swp/app/.wenben.swp/app/.wenben.swo/app/.shiyan.swo/app/.shiyan.swn/app/wenben1/app/wenben2/app/wenben3
我们都知道,()内的运算式优先级是最高到,但显然,上边两式得到的结果并不相同,在通过国际分析式子一,发现其先运算了-not,然后才运算了-a运算。
[root@localhost app]# find -name wenben1 -a -name wenben2 -o -name wenben3./wenben3[root@localhost app]# find -name wenben1 -a \( -name wenben2 -o -name wenben3 \)
观察上列代码,得知两代码因()将-o优先级提前而导致了结果的不同,从而证实了“与”的优先级高于“或”。
结论:find中逻辑运算优先级为:()>非>与>或
- find与逻辑关系运算
- 逻辑与运算
- 运算与逻辑
- 位“异或”运算在变量交换中的应用及与位“或”的逻辑关系
- JS程序设计基础:变量,算术、关系、赋值、复合赋值、逻辑、位运算符与表达式
- 逻辑与和逻辑或运算符
- “逻辑和”与 “逻辑或”运算符
- 领域逻辑与业务逻辑的关系
- 逻辑代数与位运算
- 关系,逻辑,条件运算符 位运算符
- (21)算术运算符、逻辑和关系运算符
- JavaScript中的逻辑与运算、逻辑或运算
- JavaScript中的逻辑与运算、逻辑或运算
- C程序设计语言- 类型、运算符与表达式-2.1----变量名、数据类型及长度、常量、声明、算数运算符、关系运算符与逻辑预算符
- find命令按时间查找+逻辑布尔运算
- find命令的逻辑与或非
- MATLAB的使用(四)运算符、关系与逻辑函数说明以及预定义变量名说明
- 16-JavaScript-基本语法-运算符-算术-关系-逻辑
- 14 在ZStack里的网络广播传输
- javase复习(四)--Arrays.asList()方法的使用
- LeetCode
- 推挽输出、开漏输出、线或、线与、竞争、冒险、毛刺【基本概念】
- python2.7安装mysql的数据驱动
- find与逻辑关系运算
- Event事件对象之动画事件和过渡事件
- 如何自己设计一个高效类似于HashMap的容器
- CSU1561 (More) Multiplication
- 算法之二分查找(进阶版 java/c++)
- 工作小结--关联表的(可为空的情况下)条件添加
- 同步的三种方式:volatile、锁、final
- php的数据类型总结
- scala 随笔(8)list 源码解析