linux之find命令

linux下find查找命令用法

Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

1.命令格式:

find pathname -options [-print -exec -ok ...]

2.命令功能:

用于在文件树种查找文件,并作出相应的处理 

3.命令参数:

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

-print: find命令将匹配的文件输出到标准输出。 

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

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

 

查找文件

find ./ -type f

 

查找目录

find ./ -type d

 

查找名字为test的文件或目录

find ./ -name test

 

查找名字符合正则表达式的文件,注意前面的‘.*’(查找到的文件带有目录)

find ./ -regex .*so.*\.gz

 

查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,没有选项-print时文件列表前一行不会显示目录名称)

find ./ -type d -print -exec ls {} \;

 

查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,执行命令前需要确认)

find ./ -type d -ok ls {} \;

 

查找目录并列出目录下的文件(将找到的目录添加到ls命令后一次执行,参数过长时会分多次执行)

find ./ -type d -exec ls {} +

 

查找文件名匹配*.c的文件

find ./ -name \*.c

 

打印test文件名后,打印test文件的内容

find ./ -name test -print -exec cat {} \;

 

不打印test文件名,只打印test文件的内容

find ./ -name test -exec cat {} \;

 

查找文件更新日时在距现在时刻二天以内的文件

find ./ -mtime -2

 

查找文件更新日时在距现在时刻二天以上的文件

find ./ -mtime +2

 

查找文件更新日时在距现在时刻一天以上二天以内的文件

find ./ -mtime 2

 

查找文件更新日时在距现在时刻二分以内的文件

find ./ -mmin -2

 

查找文件更新日时在距现在时刻二分以上的文件

find ./ -mmin +2

 

查找文件更新日时在距现在时刻一分以上二分以内的文件

find ./ -mmin 2

 

查找文件更新时间比文件abc的内容更新时间新的文件

find ./ -newer abc

 

查找文件访问时间比文件abc的内容更新时间新的文件

find ./ -anewer abc

 

查找空文件或空目录

find ./ -empty

 

查找空文件并删除

find ./ -empty -type f -print -delete

 

查找权限为644的文件或目录(需完全符合)

find ./ -perm 664

 

查找用户/组权限为读写,其他用户权限为读(其他权限不限)的文件或目录

find ./ -perm -664

 

查找用户有写权限或者组用户有写权限的文件或目录

find ./ -perm /220

find ./ -perm /u+w,g+w

find ./ -perm /u=w,g=w

 

查找所有者权限有读权限的目录或文件

find ./ -perm -u=r

 

查找用户组权限有读权限的目录或文件

find ./ -perm -g=r

 

查找其它用户权限有读权限的目录或文件

find ./ -perm -o=r

 

查找所有者为lzj的文件或目录

find ./ -user lzj

 

查找组名为gname的文件或目录

find ./ -group gname

 

查找文件的用户ID不存在的文件

find ./ -nouser

 

查找文件的组ID不存在的文件

find ./ -nogroup

 

查找有执行权限但没有可读权限的文件

find ./ -executable \! -readable

 

查找文件size小于10个字节的文件或目录

find ./ -size -10c

 

查找文件size等于10个字节的文件或目录

find ./ -size 10c

 

查找文件size大于10个字节的文件或目录

find ./ -size +10c

 

查找文件size小于10k的文件或目录

find ./ -size -10k

 

查找文件size小于10M的文件或目录

find ./ -size -10M

 

查找文件size小于10G的文件或目录

find ./ -size -10G

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值