文件查找:(以find为主)
  which:查找命令字所在的位置
  locate:模糊匹配(只要包含关键字的文件都查找出来)
         不是实时的,基于数据库查找, updatedb升级locate数据库
         查找速度特别快

find:查看文件或目录的工具
       实时查找
       精确查找
       遍历整个指定目录中的文件,速度很慢
       支持多种查找条件(属主,属组,权限,文件名等)
       语法: find [find_path] [条件] [处理动作]
       find_path:如果不写,默认在当前工作目录查找
       条件:如果不写,会查找出该路径下所有的文件处理动作:默认打印到屏幕上 print

条件:(匹配标准)

       -name file_name:根据文件名进行查找,区分大小写
       -iname file_name:根据文件名进行查找,不区分大小写
       -regex PATTERN:根据正则表达式的模式进行查找
       -user:通过属主进行查找
       -group:通过属组进程查找
       -uid UID:通过UID号进行查找
       -gid GID:通过GID号进行查找
       -nouser:查找没有属主的文件
       -nogroup:查找没有属组的文件
       -type:根据文件类型进行查找
       -b:块设备
       -c:字符设备
       -d:目录
       -f:文件
       -p:命名管道
       -s:套接字文件
       -l:链接文件
       -size [+ | -] k m g
       -size 5k:精确匹配
       +:大于
       -:小于

根据时间戳进行查找: # stat file_name  //查看文件的时间戳

         -atime:时间单位为天,access时间
-mtime:时间单位为天,modify时间
-ctime:时间单位为天,change时间
-mmin:时间单位为分钟,modify时间
-amin:时间单位为分钟,access时间
-cmin:时间单位为分钟,change时间

   根据权限查找:
         -perm MODE:
               MODE:644,精确匹配
               /MODE:任意一位匹配
               -MODE:文件权限能够完全包含此MODE时才能匹配

条件组合:
         -a:同时满足多个条件,比如查找属主是tom并且权限为644的文件
         -o:满足一个条件即可,比如查找属主是tom或者权限为包含644的文件
         -not:不满足条件的被查找出来

出来动作:
         -print:默认动作,默认查找结果打印到屏幕
         -ls:默认以类似于ls -l的形式显示结果的信息
         -ok COMMAND {} \;执行动作时提示用户是否执行,必须以\;结尾,{}代表文件名占位符
         -exec COMMAND {} \;执行动作时不提示用户直接执行,必须以\;结尾,{}代表文件名占位符

   查找条件通配符:
 *:通配任意个数的任意字符  

# find /etc/ -name "pass*"

# find /etc/ -name "*pass"
?:通配单个的任意字符  

# find /etc/ -name "passw*"

1、查找/var目录下属主为root并且属组为mail的所有文件;

find /var -user root -a -group mail

2、查找/usr目录下不属于root,bin,或student的文件;

find /usr -not -user root -a -not -user bin -a -not -user student
find /usr -not \( -user root -o -user bin -o -user student \)

3、查找/etc目录下最近一周内内容修改过且不属于root及student用户的文件;

find /etc -mtime - -not \ ( -user root -o -user student \)
find /etc -mtime - -not -user root -a -not -user student

4、查找当前系统上没有属主或属组且最近1天内曾被访问过的文件,并将其属主属组均修改为root;

find / \( -nouser -o -nogroup \) -a -atime - -exec chown root:root {} \; 

5、查找/etc目录下大于1M的文件,并将其文件名写入/tmp/etc.largefiles文件中;

find /etc -size +1M >> /tmp/etc.largefiles

6、查找/etc目录下所有用户都没有写权限的文件,显示出其详细信息;

find /etc -not -perm / -ls    

一天一个Linux命令--find的更多相关文章

  1. 每天一个 Linux 命令(21):find命令之xargs

    在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...

  2. 每天一个linux命令(25):linux文件属性详解

    Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loca ...

  3. 每天一个linux命令(46):vmstat命令

    vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深 ...

  4. 每天一个linux命令目录

    出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...

  5. 每天一个 Linux 命令(20):find命令之exec

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec  参数后面跟的是command ...

  6. 每天一个linux命令(20):find命令之exec

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec  参数后面跟的是command ...

  7. 每天一个Linux命令

    每天一个Linux命令(1):ls命令 每天一个Linux命令(2):cd命令 每天一个Linux命令(3):pwd命令 每天一个 Linux 命令(4):mkdir 每天一个 Linux 命令(5) ...

  8. 每天一个linux命令-转载

    每天一个linux命令目录 转载自: http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html   开始详细系统的学习linux常用命令 ...

  9. [转]每天一个linux命令目录

    [转]每天一个linux命令目录 http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每 ...

  10. 每天一个linux命令(45)--telnet命令

    每天一个Linux命令,今天是网络命令中的Telnet. Telnet 命令通常用来远程登录,Telnet 程序是基于 Telnet 协议的远程登录客户端程序.Telnet 协议是TCP/IP协议族中 ...

随机推荐

  1. C# 使用 HttpClient 调用 WebService 提示 NoSOAPAction

    问题 在自行构造 HttpClient 请求 SOAP 接口之后,返回 500 错误,并且提示 NoSOAPAction 信息. 原因 造成这个问题的主要原因是因为缺少了 SOAPAction 标头, ...

  2. 机器学习 GBDT+xgboost 决策树提升

    目录 xgboost CART(Classify and Regression Tree) GBDT(Gradient Boosting Desicion Tree) GB思想(Gradient Bo ...

  3. 低延时的P2P HLS直播技术实践

    本文根据4月21日OSC源创会·武汉站的现场分享为蓝本,重新整理.以下是演讲内容: 近几年,随着直播.短视频等视频领域对带宽要求的提升以及CDN行业竞争的加剧,很多CDN公司开始往P2P-CDN方向发 ...

  4. 前端(各种demo)一:css实现三角形,css实现梯形,pop弹层,css伪类before,after使用,svg使用(持续更新中)

    各种demo: 1.css实现正方形 思路:width为0:height为0:使用boder-width为正方形的边长的一半,不占任何字节:border-style为固体:border-color为正 ...

  5. 动手实现一个 LRU cache

    前言 LRU 是 Least Recently Used 的简写,字面意思则是最近最少使用. 通常用于缓存的淘汰策略实现,由于缓存的内存非常宝贵,所以需要根据某种规则来剔除数据保证内存不被撑满. 如常 ...

  6. RabbitMQ学习笔记(六) RPC

    什么RPC? 这一段是从度娘摘抄的. RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的 ...

  7. Quartz.NET学习笔记(三) 简单触发器

    触发器是Quartz.NET的另外第一个核心元素,他有2种类型,简单触发器(Simple Trigger)和计划任务触发器(Cron  Trigger), 一个触发器可以绑定一个任务. 通用触发器属性 ...

  8. 带着新人学springboot的应用09(springboot+异步任务)

    本来想说说检索的,不过不知道什么鬼,下载ElasticSearch太慢了,还是放一下,后面有机会再补上!今天就说个简单的东西,来说说任务. 什么叫做任务呢?其实就是类中实现了一个什么功能的方法.常见的 ...

  9. CPU的load和使用率傻傻分不清

    1. 什么是Cpu的Load 使用uptime.top或者查看/proc/loadavg都可以看到CPU的load统计,这里有三个值,分别代表1分钟.5分钟和15分钟的CPU Load情况.大部分人认 ...

  10. 前端笔记之HTML5&CSS3(中)选择器&伪类伪元素&CSS3效果&渐变背景&过渡

    一.CSS3选择器 CSS3是CSS的第三代版本,新增了很多功能,例如:强大的选择器.盒模型.圆角.渐变.动画.2D/3D转换.文字特效等. CSS3和HTML5没有任何关系!HTML5骨架中,可以用 ...