linux之find命令
linux之find命令
郭周园 发表于8个月前
linux之find命令
  • 发表于 8个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

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
博文 28
码字总数 5742
×
郭周园
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: