zoukankan      html  css  js  c++  java
  • find 常见用法

    1、find

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

    search for files in a directory hierarchy

    -print 将查找到的文件输出到标准输出,一个文件一行

    -delete删除找出的文件

    -exec command {} \; 将查到的文件执行command操作,{}\;之间有空格,"\;"是固定的结束符;{}会被文件替换掉

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

    2、option

    -type b/d/c/p/l/f #查是块设备/目录/字符设备/管道/符号链接/普通文件

    -perm #按执行权限来查找

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

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

    实例:

    $find . -type d -print打印目录结构

    $find . ! -type d -print 打印非目录文件

    find /usr/include -name '*.h' -exec grep AF_INEF6 {} \; (因grep无法递归搜索子目录,故可以和find相结合使用。 在/usr/include 所有子目录中的.h文件中找字串AF_INEF6)

    $find /etc -name "passwd*" -exec grep "cnscn" {} \; 看是否存在cnscn用户

    $find . -name "yao*" | xargs file 执行命令显示文件类型

    $find -name ap* -o -name may* 查找以apmay开头的文件

    $find /home -mtime -2 在/home下查最近两天内改动过的文件

    $find /home -mtime +2 在/home下查最近两天前改动过的文件

    $find /home -mmin +60 在/home下查60分钟前改动过的文件

    $find /home -amin +30 查最近30分钟前被存取过的文件

    11 $find /home -mmin +60 在/home下查60分钟前改动过的文件

    12 $find /home -amin  +30 查最近30分钟前被存取过的文件

    13 $find /home -uid +501 列出/home下用户的uid大于501的文件或目录

    14 $find /home -nouser 列出/home内不属于本地用户的文件或目录

    15 $find /home -nogroup 列出/home内不属于本地组的文件或目录

    16 $find /hom -name t.txt -maxdepth 4 列出/hometmp.txt深度最多为3

    17 $find /home -name tmp.txt -mindepth 3 从第2层开始查

    18 $find /home -empty 查找大小为0的文件或空目录

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

    20 find ./ -perm  755 -print

    3、示例

    1)基本用法

    find / -name 文件名

    与大小相关:

    -size n[bkMG] 大小为nbbitc:byte, k:KBM:MBG:GB

    find / -size 1500c (查找1,500字节大小的文件,c表示字节)

    find / -size +1500c (查找大于1,500字节大小的文件,+表示大于)

    find / -size -1500c (查找小于1,500字节大小的文件,-表示小于)

    与时间相关:

    find / -amin n 最后n分钟

    find / -atime n 最后n

    find / -cmin n 最后n分钟改变状态

    find / -ctime n 最后n天改变状态

    find / -newer file 比file所指的文件还要新的文件

    2)高级用法1

    find / -empty 空白文件、空白文件夹、没有子目录的文件夹

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

    find / -fstype type 找存在于指定文件系统的文件,如typeext2

    find / -gid n 组idn的文件

    find / -group gname 组名为gname的文件

    find / -depth n 在某层指定目录中优先查找文件内容

    find / -maxdepth levels 在某个层次目录中按递减方式查找

    3)高级查找2

    -and 条件与 -or 条件或

    4)其他

    -user name 所有者用户名称是name的文件

    -group name 所有者用户组群名称是name的文件

    参考

    1】 总结的不错

    http://techbbs.zol.com.cn/1/85_883.html

    http://bbs.linuxtone.org/thread-1425-1-1.html

    http://www.flatws.cn/article/program/shell/2011-06-13/30184.html

    2】 更多关于find的介绍

    http://bbs.linuxtone.org/thread-1696-1-1.html

    http://linux.die.net/man/1/find

    3】 必看好文

    http://www.linuxsir.org/main/node/137?q=node/137#1.1

  • 相关阅读:
    第 14 章 结构和其他数据形式(names3)
    第 14 章 结构和其他数据形式(names)
    第 13 章 文件输入/输出 (把文件附加到另一个文件末尾)
    第 13 章 文件输入/输出 (标准I/O)
    第 12 章 存储类别、链接和内存管理(存储类别)
    JS鼠标滚轮判断向上还是向下滚动
    js中一些自带方法和属性
    函数的传入的参数(实参和形参)
    css3实现翻书效果
    redis集群安装
  • 原文地址:https://www.cnblogs.com/mydomain/p/2213494.html
Copyright © 2011-2022 走看看