linux搜索日志组合条件,find查找

find查找是生产中最常见的日志查找工具

下面看看它的用法

基本用法:

find    查找路径    查找标准    查找到以后的处理动作

查找路径:需要被查找的文件所在的路径,一定是个目录,默认情况下为当前的目录

查找的标准:查找的时候用什么方式去查找

处理动作:文件查找完毕后,需要对查找出来的文件进行处理的动作,默认情况下为显示

查找深度的限制:

可以对查找中文件路径的深度进行控制

-maxdepth  #

查找标准:

查找的标准一般包括以下的几部分:

名字,时间,权限,类型,大小,属主和属组

名字:

-name “filename”

基于文件名查找的时候支持通配符

*,?,[] ,  [^]

-iname    文件名匹配时不区分大小写

-regex     基于正则匹配文件名正则来查找

类型:

-type   基于文件的类型查找

f    普通文件

d    目录

s    套接字文件

l     链接文件

这里有个注意点 :

find 执行查找类型的时候是检测文件本身的类型,比如A是链接文件A–>B,那么find判断的是文件A的类型

与之相似的有一个叫 test 的命令,专用于检测文件的类型,不过test检测的时候是检测B的类型

权限:

-perm  MODE

mode   全部权限吻合才行

/mode  给出的权限中只要满足一个即可

-mode   文件权限包含时,即权限只能多,不能少

时间:

按时间来查找

-mtime

-ctime

-atime

[+|-]#

-mmin (分钟计)

-cmin

-amin

三种时间后面可以跟 + –  或者不加

+  代表的是超过

–   在…….的范围内

不加为精确匹配

大小:

-size

利用大小查找的时候需要注意的是,大小的精确定位,+  和 – 的区别

查找10K的时候,是9-10K 的文件,而如果是  -10K   的话,  代表的是0-9K,  +10K代表的是10K以上

根据这个原理,查找1G的文件,千万别写成1G,因为这样会将几K的文件都列出来,正确的写法是1024M

如果要精确到字节那么需要使用  c 为单位

属主和属组:

-uid n :n 为数字,这个数字是用户的账号 ID,亦即 UID ,这个 UID 是记录在 /etc/passwd 里面与账号名称对应的数字。

-gid n :n 为数字,这个数字是组名的 ID

-user name :name 为使用者账号名称

-group name:name 为组名喔,例如 users ;

-nouser :寻找文件的拥有者不存在 /etc/passwd 的用户

-nogroup :寻找文件的拥有群组不存在于 /etc/group 的文件

其中 -nouser  和  – nogroup 是可能存在的,比如你在网上下载了一个软件,该软件的拥有者并不再系统的用户中,

或者事先已经有个账户,且在系统中运行产生了各种数据,后来你把用户给删除了,那么这些数据还在,此时就需要

用到上述两个指令

执行动作

-print:显示

-ls    类似ls  -l 的方式显示文件

-ok  COMMAND  {}   \;  其中的{}是用来引用需要修改文件名

-exec COMMAND {}  \;  作用同 -ok  稍有区别的是-ok需要用户每步都确认,而-exec不需要用户的确认

多个条件之间的逻辑组合

-a  与关系,多个条件同时满足的时候才满足要求

-o  或关系,多个条件中一个条件满足就行

!  not   :  非关系,即取反

德尔摩根定律:

(非P)或(非Q)=非(P且Q)

(非P)且(非Q)=非(P或Q)

使用-o条件时候需要注意的是   A -O B C 这个的逻辑是B与C 先相与,然后再进或的运算 如果需要A和B 或

运算之后再进行C操作,需要将A和B用括号括起来,且括号应该转义

过滤机制:

-path  “/path/to/directory”  -a  -prune

查找的时候排除目录中的某一个子目录

find实例运用:

(1) 查找/etc目录下面,不是以.conf结尾的文件

find  /etc  -not  -name  “*.conf”

find  /etc  !  -name  “*.conf”

(2)寻找/home目录下,既不是用户joe  也不是用户 jane的文件

find  /home  -not  -user  joe   -a  -not   -user  jane

find  /home -not \( -user joe -o -user jane \)   # 括号里面的内容不能紧贴括号,要有空格

括号需要转义

(3)找出/tmp目录下面,属主不是root,且文件名不以f开头的文件

find  /tmp  -not  \( -user   root   -o   -name “f*” \)  -ls

find  /tmp  \( -not -user root -a  -not  -name  “f*” \)   -ls  #注意括号,尽量使用括号括起来

(4)搜索/etc下面除了/etc/sane.d 目录下的所有的以.conf结尾的文件

find  /etc   -path “/etc/sane.d”   -a   -prune   -o  -name  “*.conf”   -print

(5)搜索/etc下面除了/etc/sane.d 目录和/etc/modprobe.d以外其他目录下的所有的以.conf结尾的文件

find  /etc  \(  -path  “/etc/sane.d”  -o  -path  “/etc/modprobe”  \)   -a  -prune   -o   -name  “*.conf”

(6)备份配置文件,添加.orig扩展名

find  /etc   -name  “*.conf”  -exec  cp {}   {}.orig   \;

(7)在家目录下面寻找可以被其他用户写入的文件,去除写的权限

find  /hone   -perm  -002  -exec chmod o-x {}  \;

原创文章,作者:Double f,如若转载,请注明出处:http://www.178linux.com/75016

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398957.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用的JPA标记 (转)

Table Table用来定义entity主表的name,catalog,schema等属性。 元数据属性说明: name: 表名catalog: 对应关系数据库中的catalogschema:对应关系数据库中的schemaUniqueConstraints:定义一个UniqueConstraint数组,指定…

JavaBean技术的一些讲解

JavaBean: 由于原先的jsp的html代码和css代码以及java代码都是写在一起的,所以看起来就比较冗余,同时 也体现不了javaBean中面向对象的思想的{当然可以同过jstl标签库以及mvc框架来脱离java代码,但是这也是必不可少的} 在这里对于Javabean的一…

linux网卡名称乱编,小斗CentOS7.x网卡名称错乱、及网卡启动失败。

本帖最后由 Zack 于 2018-5-31 13:39 编辑最近在搞CentOS7装机的事情,在此记录期间遇到关于网卡方面的坑,整理分享下,以免大家继续再踩。一、在CentOS7默认装完系统之后网卡名称一改之前的名称习惯,网卡名称为enoxxxxx(之前命名规…

block传值 链接

iOS传值之block传值(一)转载于:https://www.cnblogs.com/dqxu/p/4016117.html

Maven——继承和聚合

实际项目中,可能正要构建一个大型的系统,但又不想一遍又一遍的重复同样的依赖元素,这种情况是经常出现的。不过还好,maven提供了继承机制,项目可以通过parent元素使用继承,可以避免这种重复。当一个项目声明…

隐藏linux操作系统版本信息,linux centos 如何查看操作系统版本信息?

本文介绍常用的四种查看linux下查看系统版本信息的方法:一、uname -a[appVM_11_211_centos ~]$ uname -aLinux VM_11_211_centos 2.6.32-504.30.3.el6.x86_64 #1 SMP Wed Jul 15 10:13:09 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux二、cat /proc/version[appVM_11_2…

iframe css练习

转载于:https://www.cnblogs.com/wenhuan/p/4019154.html

关于缓存的几篇好文章

追求极致:从技术细节看美团架构 Memcache架构新思考 Memcache应用场景介绍,说明[zz] 大型web系统数据缓存设计-l转载 大型网站后台架构的Web Server与缓存 Intelligence Computing 微博到底有多重视分布式缓存(上) Beanstalkd 一个…

linux 复制分区文件,dd复制分区后目标分区的大小变成原分区了

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我使用了dd if/dev/sda1 of/dev/sdb1这个命令,想复制分区sda1上的所有数据但是我原本sdb1是150G,dd之后,挂载后变成55G了(df -h输出结果)(也就是sda1的大小 )但是我用fdisk -l 得到的信息还是150G请问这种情况如何解决??acePerso…

Elasticsearch 5.2.x 使用 Head 插件连接不上集群

0、前言 时光荏苒,ES转眼间就从2.X跳到了5.X。。。忆往昔峥嵘岁月,奈何ES社区太活跃,版本跳的比房价还快啊。。。话说回来,需要部署一套Elasticsearch 5.2.1 即本月最新推出的ES新力作,发现很多用法已经不一样了。。。…

Javascript---Immediately-Invoked Function Expression (IIFE)立即执行的函数表达式

1.一下是几种形式的函数调用: 各种调用的效率:在这编文章中有谈到: http://suqing.iteye.com/blog/1981591 // Either of the following two patterns can be used to immediately invoke // a function expression, utilizing the functions…

extern 使用方法具体解释

在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的。要在此处引用”。(extern能够置于变量或者函数前,以标示变量或者函数的定义在别的文件里,提示编译器遇到此变量和函数时在其它…

.NET常用工具类集锦

不错的地址: http://www.cnblogs.com/flashbar/archive/2013/01/23/helper.html https://github.com/chrisyanghua/MyHelper/tree/master/MyHelper http://www.cnblogs.com/conan87810/archive/2009/03/15/1412529.html http://www.cnblogs.com/ltp/archive/2008/03…

现代控制理论-李雅普诺夫

现代控制理论-李雅普诺夫 单输入单输出系统(BIBO)的系统函数如下: 则,该系统的能控标准型(能空性)为: 能观性: 李雅普诺夫下的稳定性: 李雅普诺夫下的渐进稳定性&a…

Linux服务器的gou,开源跨平台移动项目Langou【简介】

Langou简介Langou是一个跨平台(Android/iOS)前端开发框架,核心代码使用C编写,底层基于OpenGL绘图,上层实现了一个精简的排版引擎以及一个JS/JSX运行环境。目标是想实现在此基础上开发GUI应用程序可兼顾开发速度与运行效率。暂时只支持iOS与An…

caffe 错误

一些caffe错误 训练时很快梯度爆炸,loss猛增至nan 如果找不到数据上的原因的话,可以怀疑caffe框架有问题,换用其它版本试试。比如我遇到的问题是在训练时使用了Accuracy层,而该层的实现代码在某次更新中GPU代码存在bug&#xff0c…

发手气红包算法

lowest0.01元,最小金额 操作是整数,最小人民币单位是分,所以有2位小数,最少是0.01元 发金额totalBill 发n人,就取1到100的随机数n个 为了提高精度,把金额放大100倍 totalAmounttotalBill*100 n个人各取的随…

cs106a编程方法学作业解答(3)

此次作业要求我们做一个简单的打砖块游戏。 1 * File: Breakout.java2 * -------------------3 * Name:4 * Section Leader:5 * 6 * This file will eventually implement the game of Breakout.7 */8 9 import acm.graphics.*;10 import acm.program.*;11 import acm.ut…

vue从入门到进阶:简介(一)

前言 用了这么久的vue了,但是一直没有时间写个系列文章,现在抽一定时间总结下vue的知识点。 首先,Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但它支持所有兼容 ECMAScript 5 的浏览器。下面总…

linux堡垒机开源软件,Jumpserver开源堡垒机

Jumpserver开源跳板机系统部署1.简介Jumpserver使用Python / Django进行开发,遵循Web 2.0规范,配备了业界领先的Web Terminal解决方案,交互界面美观、用户体验好。Jumpserver采纳分布式架构,支持多机房跨区域部署,中心…