【每天一点linux】find命令的详细说明

在linux下有一个命令的功能相当强大,这个命令就是find。它主要是在目录结构中搜索文件,并执行指定的操作。

命令格式:find [path] [option] [action]

命令功能:用于在文件树中查找文件,并做出相应的处理(可能存在访问磁盘的行为)
命令参数:分为四种类型,分别是与时间有关、与用户或者用户组有关、与文件权限及名称有关、其他的操作

1.与时间有关的参数

-atime(access time ):文件最后一次访问时间
-ctime(change time ):对文件inode最后修改的时间
-mtime(modify time):文件最后一次修改时间

这里写图片描述

例1.我们在这个目录下建一个test,然后查看这个test的属性。

这里写图片描述

然后通过重定向写入“hello”再观察它的ACM时间,这时会发现它的mtime和ctime都发生了改变。用cat获取内容后,再观察,此时它的atime也发生了改变。

这里写图片描述

好的,说完了这三个时间,我们接着继续说find的时间参数是怎么使用的。在find中,可以用 find -atime/-ctime/-mtime +n/-n来查看在这几个时间在n的改变。下来,我们以-mtime为例。

例2.将过去code目录下24小时内有改动的文件列出。
命令:find -mtime 0
这里写图片描述

  • -mtime n:n是数字,在n天之前所在的“一天之内”被更改过的文件。
  • -mtime +n:列出在n天之前(不含n天本身)的被更改过的时间。
  • -mtime -n:列出在n天之内(包含n天本身)的被更改过的时间。
  • -newer file:file为另一个存在的文件夹,列出比file还要更新的文件名。

这里写图片描述

2.与用户或用户组有关的参数

  • -user username 按照文件的用户来查找
  • -group groupname 按所属组名来查找
  • -nogroup 查无有效属组的文件,即文件的属组在/etc/groups中不存在
  • -nouser 查无有效属主的文件,即文件的属主在/etc/passwd中不存在

例3.查找在/home下面属于monster的文件。
命令:find /home -user monster

这里写图片描述

例4.查找系统中不属于任何人的文件
命令:find / -nouser

这里写图片描述

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

  • -name fimename:查找文件名为filename的文件
  • -size [+/-] SIZE:查找比SIZE大或者小的文件。
    SIZE可以是:c :代表byte;k:代表1024byte。
  • type TYPE:查找文件类型为TYPE的。TYPE类型包括:一般正规文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)及FIFO(p)等属性。
  • -perm mode:查找文件权限刚好为mode的文件。
  • -perm -mode:查找文件权限包括mode的文件。比如,我们查找文件权限为0744的文件,权限为4755的文件也会被列出来。
  • -perm +mode:查找文件权限包含任一权限为mode的文件。比如我们查找权限为-rwxr-xr-x的文件,权限为-rw——-的文件也会被列出来,因为有-rw……权限。

例5.查找当前目录下以.log结尾的文件。
命令:find . -name “*.log”

这里写图片描述

例6.查找当前目录下,权限为777的文件。
命令: find -perm 777
这里写图片描述

例7.查找当前目录下以.log结尾的普通文件。
命令: find . -type f -name “*.log”
这里写图片描述

例8.查找当前目录下大于1k的文件。
命令:find -size +1000c -print

这里写图片描述

4.其他的操作

  • -exec command: command为其他的命令,-exec后面可以接其他命令来处理查找到的结果。
  • -print:将结果打印到屏幕上。

例9.将当前目录下的普通文件使用ls -l命令列出。
命令: find . -type f -exec ls -l {} \;

这里写图片描述

在上述命令中,{}代表“由find找到的内容“,这个结果放在{}这个位置中;-exec一直到’\;’是关键字,代表find的额外命令的开始(-exec)到结束(‘\ ; ’),在上面的例子中就是“ls -l”;“;”在bash的环境下有特殊意义的,所以需要用反斜杠来转义。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值