zoukankan      html  css  js  c++  java
  • find命令详解

    Linux find命令

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

    文件。并且将查找到的子目录和文件全部进行显示

    用法:

    find [PATH] [option] [action]

    参数说明:

    path: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

    1、与时间有关的选项:共有 -atime(被访问的时间), -ctime(被创建的时间) 与 -mtime(被更改过内容的时间) ,时间的还有分钟-cmin,-amin,-mmin 以 -mtime 说明

    -mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件;

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

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

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

    find . -mtime 4           # 4 则是代表 4-5 那一天的文件档名
    find . -mtime +4          #+4 代表大于等于 5 天前的檔名
    find . -mtime -4          #-4 代表小于等于 4 天内的文件档名
    find . -newer demo.sh
    2、与使用者或组名有关的参数:

    -uid n :n 为数字,这个数字是用户的账号 ID,亦即 UID ,这个 UID 是记录在/etc/passwd 里面与账号名称对应的数字。

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

    -user name :name 为使用者账号名称喔!例如 dmtsai

    -group name:name 为组名喔,例如 users

    -nouser :寻找文件的拥有者不存在 /etc/passwd 的人

    -nogroup :寻找文件的拥有群组不存在于 /etc/group 的文件

    find /home -user usr1  #搜寻/home下属于usr1的文件
    find / -nouser              #搜寻不属于任何用户的文件

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

    -name filename:搜寻文件名为 filename 的文件;

    -size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的文件。这个 SIZE 的规格有:c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB还要大的文件,就是『 -size +50k 』

    -type TYPE :搜寻文件的类型为 TYPE 的,类型主要有:一般普通文件 (f), 装置文件 (块设备b, 字符设备c),目录 (d), 符号连接 (l), socket (s), 及 FIFO 管道(p) 等属性

    -perm mode :搜寻文件权限『刚好等于』 mode 的文件,这个 mode 为类似 chmod的属性值,举例来说, -rwsr-xr-x 的属性为 4755 !

    -perm -mode :搜寻文件权限『必须要全部囊括 mode 的权限』的文件,举例来说,我们要搜寻 -rwxr--r-- ,亦即 0744 的文件,使用 -perm -0744,当一个文件的权限为 -rwsr-xr-x                              亦即 4755 时,也会被列出来,因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。

    -perm /mode :搜寻文件权限『包含任一 mode 的权限』的文件,举例来说,我们搜寻-rwxr-xr-x ,亦即 -perm /755 时,但一个文件属性为 -rw-------也会被列出来,因为他有 -rw....                           的属性存在!

    find / -name passwd            # 找出名字为passwd的文件
    find / -name "*passwd*"        # 找出包含passwd关键字的文件
    find /run -type s              # 找出run目录下,文件类型为souket的文件
    find / -perm /7000             # 搜寻文件当中含有 SGID 或 SUID 或 SBIT 的属性
    find / -size +1M               # 找出大于1M的文件

     4、额外可进行的动作

    -empty:搜寻空文件或者空文件夹

    -exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果。

    -print :将结果打印到屏幕上,这个动作是预设动作!

    find /usr/bin -perm /7000 -exec ls - l {} ; 

     

  • 相关阅读:
    Javascript设计模式理论与实战:单例模式
    详解CSS盒模型
    linux添加计划任务
    python删除目录下七天前创建的文件
    centos上源码安装clang 3.8
    使用postman发送数据并构建collections执行测试
    python多线程实现同时执行两个while循环
    使用Python写Windows Service服务程序
    用Pyinstaller打包发布exe应用
    使用Jmeter监测服务器cpu、内存等性能
  • 原文地址:https://www.cnblogs.com/jkin/p/10200906.html
Copyright © 2011-2022 走看看