Linux find命令详解

Linux find命令详解

find命令用来在指定目录下查找文件

语法

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

参数

  1. path:查找路径
    ~ 表示$HOME目录
    . 表示当前目录
    / 表示根目录

  2. -print:标准输出

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

  4. -ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

  5. option:查找方式

    option常用选项:

    -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
    -type filetype:文件类型为符合filetype的文件
    -amin n:查找在指定时间被访问过的文件或目录,单位以分钟计算;
    -cmin n:查找在指定时间**文件状态**被更改过的文件或目录,单位以分钟计算;
    -mmin n:查找在指定时间**文件内容**被更改过的文件或目录,单位以分钟计算;
    -atime n:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
    -ctime n:查找在指定时间**文件状态**被更改的文件或目录,单位以24小时计算;
    -mtime n:查找在指定时间**文件内容**被更改过的文件或目录,单位以24小时计算;
    -perm 		按执行权限来查找 
    -user    username:查找属主为username的文件
    -group   groupname:查找属组为groupname的文件
    -nouser:查找无属主的文件,即文件的属主在/etc/passwd中不存
    -nogroup:查找无属组的文件,即文件的属组在/etc/groups中不存在
    -size  n:查找文件大小为n(单位)的文件,b 代表 512 位元组的区块,c 表示字节数,+n表示大于,-n表示小于
    

示例:

  • 按照文件名查找
    -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
find . -name "*.log"		//将目前目录及其子目录下所有延伸档名是 log的文件列出来	
  • 按照文件类型查找
    -type filetype:文件类型为符合filetype的文件
    d: 目录

    c: 字型装置文件

    b: 区块装置文件

    p: 具名贮列

    f: 一般文件

    l: 符号连结

    s: socket

find . -type f		//将目前目录及其下子目录中所有一般文件列出
  • 按照文件更改时间查找(以下+n表示n以前,-n表示n以内)
    注:文件状态:文件的基本属性,权限,用户,组,大小,修改时间等

    -amin n:查找在指定时间被访问过的文件或目录,单位以分钟计算;
    -cmin n:查找在指定时间文件状态被更改过的文件或目录,单位以分钟计算;
    -mmin n:查找在指定时间文件内容被更改过的文件或目录,单位以分钟计算;
    -atime n:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
    -ctime n:查找在指定时间文件状态被更改的文件或目录,单位以24小时计算;
    -mtime n:查找在指定时间文件内容被更改过的文件或目录,单位以24小时计算;

find . -atime -20		//将目前目录及其子目录下所有最近 20 天内被访问过的文件列出
find . -ctime -20		//将目前目录及其子目录下所有最近 20 天内状态被更改过的文件列出
find . -mmin +20		//将目前目录及其子目录下所有最近 20 分钟以前内容被更改过的文件列出
find /var/log -type f -mtime +7 -ok rm {} \;		//查找/var/log目录中在7日以前内容被更改的普通文件,并在删除之前询问它们:		
  • 按照权限查找
    -perm 按执行权限来查找
//在当前目录及子目录中,查找属主具有读、写权限,属组和其他用户具有读权限的普通文件
find . -type f -perm 644		
//查找用户有读权限,属组有读权限的文件或目录
find ./ -perm /440
find ./ -perm /u+r,g+r
find ./ -perm /u=r,g=r
  • 按照属主属组查找
    -user username:查找属主为username的文件
    -group groupname:查找属组为groupname的文件
    -nouser:查找无属主的文件,即文件的属主在/etc/passwd中不存
    -nogroup:查找无属组的文件,即文件的属组在/etc/groups中不存在
find / -user root		//查找属主为root的文件
find / -group root		//查找属组为root的文件
find / -nouser			//查找不属于任何属主的文件
find / -nogroup			//查找不属于任何属组的文件
  • 按照文件大小查找

    -size n:查找文件大小为n(单位)的文件,b 代表 512 位元组的区块,c 表示字节数,+n表示大于,-n表示小于

find / -size +10M		//查找大于10M的文件
find / -size 7c			//查找大小为7字节的文件
find / -size -7G		//查找大小于7G的文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值