前言

之前学习了find命令,后面没有怎么使用就忘记了。最近工作需要用到该命令,于是复习了一下

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

  1. path 表示查找路径
  2. print 将结果输出到标准输出
  3. exec 对配置的文件执行shell命令
  4. ok 和exec一致,区别在于敏感操作需要询问用户

自己常用的是

find path -name FINE_NAME #搜索文件,确认文件的路径

option

option大概有如下几个

-name    #根据文件名查找
-type    #根据文件类型查找,文件类型有
    f 普通文件
    d 目录文件
    l 链接文件
    s 套接字文件
    b 块设备文件
    c 字符设备文件
    p 管道文件
-empty    #空文件或者目录
    例:find /tmp -type d -empty
-user    #根据文件属主查找
-group    #根据文件属组查找
-nouser    #查找无效属主的文件
-nogroup    #查找无效属组的文件
-size n    #查找长度为n块(n字节)的文件
-mount    #查找文件时不跨越文件系统mount点
-follow    #如果遇到符号链接文件,就跟踪所指的文件
-prune    #忽略某个文件   
-maxdepth n    #查找深度,n为1的时候相当于不递归查找,有时候会用到
-perm mode    #根据文件的权限查找

-mtime -n +n    #按文件更改时间查找文件,-n是n天之内,+n是n天以前
-atime -n +n    #按文件访问时间查找文件,-n是n天之内,+n是n天以前
-ctime -n +n    #按文件创建时间查找文件,-n是n天之内,+n是n天以前

示例

根据文件名查找


~]# find /tmp -name test.txt

根据文件名查找并删除


~]# find /tmp -name test.txt -exec rm -rf {} \;

注意:{} \;花括号后面有一个空格,分号也不能少!

根据文件类型查找

~]# find /tmp -maxdepth 1 -type d  -exec ls -ld {} \;    #查找文件夹,深度为1,并打印

查找5天之前建立的文件


~]# find /tmp -ctime +5 

查找5天之内建立的文件

~]# find /tmp -ctime -5

查找在5天之前被更改过的文件


~]# find /tmp -mtime +5 

查找无有效属主的文件,并删除


~]# find /tmp -nouser -exec rm -rf {} \;

注意:exec不会询问用户,会直接删除;ok则会在操作之前询问用户是否继续!

根据文件权限查找


~]# find /tmp -perm 755 

最后修改:2020 年 01 月 03 日 10 : 53 AM
如果觉得我的文章对你有用,请随意赞赏