zoukankan      html  css  js  c++  java
  • Linux之find查找命令

    Linux中find常见用法示例

    [root@localhost ~]# find  [PATH]  [option]  [action]

    参数:

    1. 与时间有关的参数:共有-atime、-ctime与-mtime,以-mtime为例:

    -mtime n:n为数字,意义为在n天之前的“一天之内”被更改过的文件;

    -mtime +n:列出在n天之前(不含n天本身)被更改过的文件名;

    -mtime -n:列出在n天之内(含n天本身)被更改过的文件名;

    -newer file:file为一个存在的文件,列出比file还要新的文件名。

    +n代表大于等于n+1天前的文件名;

    -n代表小于等于n天内的文件名;

    n则是代表n~n+1那一天的文件名。

    [root@localhost Desktop]# find  /  -mtime  0

    [root@localhost Desktop]# find  /etc  -newer  /etc/passwd

    2. 与用户或用户组名有关的参数:

    -uid  n:n为数字,这个数字是用户的账号ID,即UID。UID记录在/etc/passwd中

    -gid  n:n为数字,这个数字是用户组名的ID,即GID。GID记录在/etc/group中

    -user name:name为用户帐号名称

    -group name:name为用户组名称

    -nouser:寻找文件的所有者不存在于/etc/passwd中的文件

    -nogroup:寻找文件的所有用户组不存在于/etc/group中的文件

    注:

       如果系统里面某个账号删除了,该帐号在系统内已创建的文件即使用-nouser来查找。

    [root@localhost Desktop]# find  /home  -user  vurtne

    [root@localhost Desktop]# find  /  -nouser

    3. 与文件权限及名称有关的参数:

    -name filename:查找文件名为filename的文件

    -size [+-]SIZE:查找比SIZE还要大(+)或小(-)的文件。

    -type TYPE:查找文件的类型为TYPE的,类型主要有:

                一般正规文件(f),设备文件(b,c),目录(d),

                连接文件(l),socket(s)及FIFO(p)等属性。

    -perm mode:查找文件权限“刚好等于mode权限“的文件

    -perm -mode:查找文件权限“必须要全部包括mode权限“的文件

    -perm +mode:查找文件权限”包含任一mode权限“的文件

    [root@localhost Desktop]# find  /var  -type s

    [root@localhost Desktop]# find  / -perm +7000

    [root@localhost Desktop]# find  /bin  /sbin  -perm +6000

    4. 其他可进行的操作:

    -exec command {} :  #将查到的文件执行command操作,

                           对每一个找到的文件执行command命令,并用文件替换"{}",“;”是固定的结束符。

    -print:将结果打印到屏幕上

    [root@localhost Desktop]# find /  -perm  +7000  -exec  ls  -l  {}  ; 

    [root@localhost Desktop]# find  /  -size  +1000k

    [root@localhost Desktop]# find  /etc  -name  '*httpd*'

    [root@localhost Desktop]# find ./ -name '*.exe' -exec file {} ;  #找出当前文件夹下后缀是exe的文件,

                                                                       并用file命令显示 每个文件的文件类型

    -empty               #查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹

    -false               #查找系统中总是错误的文件

    -fstype type         #查找系统中存在于指定文件系统的文件,例如:ext2 .

    -gidn               #查找系统中文件数字组 ID 为 n的文件

    -depth                    #使查找在进入子目录前先行查找完本目录

    -fstype                   #查更改时间比f1新但比f2旧的文件

    -mount                    #查文件时不跨越文件系统mount点

    -follow                   #如果遇到符号链接文件,就跟踪链接所指的文件

    -cpio                     #对匹配的文件使用cpio命令,将他们备份到磁带设备中

    -prune                    #忽略某个目录

    -ok 和 -exec相同,只不过在操作前要询用户

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    ①通过文件名查找法:

     find / -name http.conf         在根目录下查找文件“httpd.conf”,就会得到这个文件的路径

    ②根据部分文件名查找法:

     find /etc -name '*.conf'       在/etc目录下查找以".conf"结尾的文件

    ③根据文件特征查找:

     如果只知道某个文件的大小,修改日期等特征也可以使用“find”命令查找出来。

     a.)  find / -size 1500c # 在根目录下查找大小为1500bytes的文件,字符c表明这个要查找的文件

                             大小以bytes为单位。

     b.)  find / -size +100c # 在根目录下查找大小超过100bytes的文件,命令中的“+”是表示要

                             求系统只列出大于指定大小的文件,而使用“-”则表示要求系统列出小

                             于指定大小的文件。

     c.) find / -amin -10     # 查找在系统中最后10分钟访问的文件

     d.) find / -atime -2     # 查找在系统中最后48小时访问的文件

     e.) find / -empty        # 查找在系统中为空的文件或者文件夹

     f.) find / -group cat    # 查找在系统中属于组cat的文件

     g.) find / -mmin -5      # 查找在系统中最后5分钟里修改过的文件

     h.) find / -mtime -1     # 查找在系统中最后24小时里修改过的文件

     i.) find / -nouser       # 查找在系统中属于作废用户的文件

     j.) find / -user fred    # 查找在系统中属于FRED这个用户的文件

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    find命令也提供给用户一些特有的选项来控制查找操作。下面是一些最基本,最常用的find命令的控制选项及其用法。

    -daystart      # 测试系统从今天开始24小时以内的文件,用法类似-amin

    -depth         # 使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容

    -follow        # 遵循通配符链接方式查找; 另外,也可忽略通配符链接方式查询

    -help          # 显示命令摘要

    -mount         # 不在文件系统目录中查找, 用法类似 -xdev.

    -noleaf        # 禁止在非UNUX文件系统,MS-DOS系统,CD-ROM文件系统中进行最优化查找

    -version       # 打印版本数字

    -maxdepth levels     # 在某个层次的目录中按照递减方法查找,限制find命令在目录中按照递减方

                        式查找文件的时候搜索文件超过某个级别或者搜索过多的目录,这样导致查找

                        速度变慢,查找花费的时间过多。

    find . -maxdepth 2 -name fred      # 限制find只能查找两层目录下的文件

    ④使用混合查找方式查找文件:

    通过"-and"把两个查找选项链接起来组合成一个混合的查找方式,在/tmp目录中查找大于100000000

    字节并且在48小时内修改的某个文件。

    find /tmp -size +10000000c -and -mtime +2

    通过"-or"把两个查找选项链接起来组合成一个混合的查找方式,在/目录中查找属于fred用户或者

    george用户的文件。

    find / -user fred -or -user george 

    find /tmp ! -user panda         # 在/tmp目录中查找所有不属于panda的文件

    find /tmp/ -ctime +7 -delete         # 删除/tmp目录下一周以前创建的文件

    ⑤查找并显示文件信息的方法:

     find / -name "httpd.conf" -ls

    ⑥无错误查找:

     find / -name access_log 2>/dev/null

     这个方法是把查找错误提示转移到特定的目录中。系统执行这个命令后,遇到错误的信息就直接输

     送到stderrstream 2中,access_log 2 就是表明系统将把错误信息输送到stderrstream 2

     中,/dev/null是一个特殊的文件,表明空的或者错误的信息,这样查询到的错误信息将被转移了,

     不会再显示了。

  • 相关阅读:
    其实很简单——SpringIOC详解
    设计模式之原型模式与深拷贝、浅拷贝
    《Understanding the JVM》读书笔记之五——类加载器
    《Understanding the JVM》读书笔记之四——类加载机制
    《Understanding the JVM》读书笔记之三——垃圾收集器
    《Understanding the JVM》读书笔记之二——垃圾回收算法
    《Understanding the JVM》读书笔记之一——JVM内存模型
    开始实现功能(一)——用户模块,从注册登录开始
    网站后台搭建--springboot项目是如何创建的
    从网站功能入手创建数据库
  • 原文地址:https://www.cnblogs.com/vurtne-lu/p/6550611.html
Copyright © 2011-2022 走看看