凉城旧巷
Python从入门到自闭,Java从自闭到放弃,数据库从删库到跑路,Linux从rm -rf到完犊子!!!

Linux中find命令

Linux中find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

 

一、基本语法

find   path   -option   [   -print ]   [ -exec   -ok   command {} \;]   
  • path:要查找的目录路径

    • ~ 表示$HOME目录
    • . 表示当前目录
    • / 表示根目录
  • print:表示将结果输出到标准输出

  • options :表示查找方式

    options常用的有下选项:

     -name   filename               # 查找名为filename的文件
     -iname  filename             # 忽略大小写,查找名为filename的文件
     -perm     mode                 # 按执行权限来查找
     -user    username             # 按文件所有者来查找
     -group groupname              # 按组来查找
     -mtime   -n +n         # 根据更改时间来查找文件,-n指n天以内,+n指n天以前
     -atime    -n +n           # 根据访问时间来查找文件,-n指n天以内,+n指n天以前
     -ctime    -n +n       # 根据创建时间来查找文件,-n指n天以内,+n指n天以前
     -mmin   -n +n         # 根据更改时间来查找文件,-n指n分钟以内,+n指n分钟以前
     -amin    -n +n           # 根据访问时间来查找文件,-n指n分钟以内,+n指n分钟以前
     -cmin    -n +n       # 根据创建时间来查找文件,-n指n分钟以内,+n指n分钟以前
     -nogroup                          # 查无有效属组的文件,即文件的属组在/etc/groups中不存在
     -nouser                            # 查无有效属主的文件,即文件的属主在/etc/passwd中不存
     -type    b/d/c/p/l/f             # 查是块设备、目录、字符设备、管道、符号链接、普通文件
     -size      -n +n                    # -n指n以内,+n指大于n
     -mount                            # 查文件时不跨越文件系统mount点
     -follow                            # 如果遇到符号链接文件,就跟踪链接所指的文件
     -prune                            # 忽略某个目录
    
  • print:表示将结果输出到标准输出

  • exec:对匹配的文件执行该参数所给出的shell命令

    • 格式为:expression {} \;
  • ok:与exec作用相同,

    区别在于,在执行命令之前,都会给出提示,让用户确认是否执行

 

二、示例

1、查找当前目录下,以.txt结尾的文件或目录

find -name '*.txt'

 

2、删除7天前修改过的文件,删除前提示

find . -type f -mtime +7 -ok rm {} \;

 

3、当前目录下查询60分钟以内创建的文件

find ./ -type f -cmin -60 -exec ls -l {} \;

 

3、当前目录下,权限是644的文件

find . -type f -perm 644 -exec ls -l {} \;

 

4、当前目录下,权限不是644的文件

find . -type f ! -perm 644 -exec ls -l {} \;

 

5、当前目录下查询文件归属是root的文件

find ./ -type f -user root -exec ls -l {} \;

 

6、当前目录下查询大小小于1G的文件

find ./ -type f -size -1G -exec ls -l {} \;

 

7、当前目录下空文件

find ./ -type f -empty -exec ls -l {} \;

posted on 2022-10-11 10:19  凉城旧巷  阅读(1696)  评论(0编辑  收藏  举报