• Linux下文件查找命令find笔记


    640?wx_fmt=jpeg




    在Linux命令下如果需要快速自己系统所需要处理的文件,可以通过find命令快速进行检索。

    如果想在某个路径下查找相应的文件可以执行如下命令:

    find path -name filename 

    # path 文件路径,可以用 / 来表示目录,当然如果能大概确定目录建议缩小目录范围,这样可以检索速度更快;filename 指的是文件检索的文件名。

    比如:find / -name mysql.conf 

    # 系统会从根目录遍历所有文件,然后找到mysql.conf 文件输出找到的结果输出在控制台。

    当然也可以通过通配符来模糊指定文件名,比如我想查找系统中后缀是.conf文件文件,可以执行如下命令:

    find / -name *.conf 

    关于find命令的语法格式如下:

    find   path   -option   [   -print ]   [ -exec   -ok   command ]   {}

    参数说明:

    -print(可选参数): find命令将匹配的文件输出到标准输出。

    -exec(可选参数): find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和;之间的空格

    -ok(可选参数): 与-exec的作用相同,它会以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确认是否执行。

    find部分常用参数:

    mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件。

    -amin n : 在过去 n 分钟内被读取过的文件

    -anewer file : 比文件 file 更晚被读取过的文件

    -atime n : 在过去n天内被读取过的文件

    -cmin n : 在过去 n 分钟内被修改过的文件

    -cnewer file :比文件 file 文件时间更新的文件

    -ctime n : 在过去n天内被修改过的文件

    -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

    -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

    -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

    -size      n[c]               #查长度为n块[或n字节]的文件

    下面列出一些常用的find命令:

    find ./ -type f #查找文件

    #查找目录

    find ./ -type d

    #查找名字为file1的文件或目录

    find ./ -name file1

    #查找名字符合正则表达式的文件,注意前面的‘.*’(查找到的文件带有目录)

    find ./ -regex .*so.*.gz

    #查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,没有选项-print时文件列表前一行不会显示目录名称)

    find ./ -type d -print -exec ls {} ;

    #查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,执行命令前需要确认)

    find ./ -type d -ok ls {} ;

    #查找目录并列出目录下的文件(将找到的目录添加到ls命令后一次执行,参数过长时会分多次执行)

    find ./ -type d -exec ls {} +

    #查找文件名匹配*.c的文件

    find ./ -name *.c

    #打印test文件名后,打印test文件的内容

    find ./ -name test -print -exec cat {} ;

    #不打印test文件名,只打印test文件的内容

    find ./ -name test -exec cat {} ;

    #查找文件更新日时在距现在时刻二天以内的文件

    find ./ -mtime -2

    #查找文件更新日时在距现在时刻二天以上的文件

    find ./ -mtime +2

    #查找文件更新日时在距现在时刻一天以上二天以内的文件

    find ./ -mtime 2

    #查找文件更新日时在距现在时刻两分钟以内的文件

    find ./ -mmin -2

    #查找文件更新日时在距现在时刻两分钟以上的文件

    find ./ -mmin +2

    #查找文件更新日时在距现在时刻一分钟以上两分钟以内的文件

    find ./ -mmin 2

    #查找文件更新时间比文件abc的内容更新时间新的文件

    find ./ -newer abc

    #查找文件访问时间比文件abc的内容更新时间新的文件

    find ./ -anewer abc

    #查找空文件或空目录

    find ./ -empty

    #查找空文件并删除

    find ./ -empty -type f -print -delete

    #查找权限为644的文件或目录(需完全符合)

    find ./ -perm 664

    #查找用户/组权限为读写,其他用户权限为读(其他权限不限)的文件或目录

    find ./ -perm -664

    #查找用户有写权限或者组用户有写权限的文件或目录

    find ./ -perm /220

    find ./ -perm /u+w,g+w

    find ./ -perm /u=w,g=w

    #查找所有者权限有读权限的目录或文件

    find ./ -perm -u=r

    #查找用户组权限有读权限的目录或文件

    find ./ -perm -g=r

    #查找其它用户权限有读权限的目录或文件

    find ./ -perm -o=r

    #查找所有者为lzj的文件或目录

    find ./ -user lzj

    #查找组名为gname的文件或目录

    find ./ -group gname

    #查找文件的用户ID不存在的文件

    find ./ -nouser

    #查找文件的组ID不存在的文件

    find ./ -nogroup

    #查找有执行权限但没有可读权限的文件

    find ./ -executable ! -readable

    查找文件size大于10K的文件或目录

    find ./ -size +10k

    #查找文件size小于10k的文件或目录

    find ./ -size -10k

  • 相关阅读:
    python批量插入mysql数据库(性能相关)以及反引号的使用
    python if __name__=='__main__'的理解
    Django学习教程
    python xml文件解析
    对python的super方法的用法理解
    python魔术方法(__init__,__call__,被双下划线包围的方法)
    python进阶书籍 流畅的python
    关于json串的双引号和单引号
    maven 的使用
    学java的目的是大数据和人工智能,勿忘初心!
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12351277.html
Copyright © 2020-2023  润新知