find命令详解 linux学习笔记十二之find命令详解

24 篇文章 0 订阅
20 篇文章 0 订阅


语法: find 【path...】 expression

1、按文件名称查找

      例如查找/home 路径下文件名称中带有abc的文件

          [root@bogon home]# find /home -name *abc*

/home/1abc2
[root@bogon home]# 

2、按时间查找

      例如查找5天前创建或修改过的文件

     [root@bogon ~]# find /home  -mtime +5 
     /home/ljk/.bashrc
     /home/ljk/.bash_profile
     /home/ljk/.bash_logout
    /home/ljk/.mozilla
    /home/ljk/.mozilla/extensions
    /home/ljk/.mozilla/plugins

    查找5天内的产生或修改过的文件

   [root@bogon ~]# find /home  -mtime -5 
  /home
  /home/ljk
   /home/ljk/.bash_history
  /home/ljk/hellworld.sh
  /home/ljk/shell
  /home/ljk/test
  /home/1abc2

如果是查找5天前并且名字中带abc的文件再删除可以执行为:find /home -mtime +5 -name *abc* -exec rm {} \;(这里用到了exec命令,可能是表示为将find的结果输入给exec然后执行后面的命令,个人感觉跟管道“|”类似)

3、按文件类型查找

      例如查找类型为 d(文件夹)的文件夹

     [root@bogon ~]# find /home -type d
/home
/home/ljk
/home/ljk/shell
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
/home/ljk/test

   查找类型为l(引用类型的文件)

   [root@bogon ljk]# find ./ -type l -exec ls -l {} \;
lrwxrwxrwx 1 root root 12 Jun 17 20:24 ./lnhello -> hellworld.sh

4、按大小查找

     find ./ -size +1000c  查找当前目录大小大于1000字节的文件 

root@bogon ljk]# find ./ -size +10c
./
./.bash_history
./shell
./.bashrc
./lnhello

   find ./ -size -1000c 查找当前目录小于1000字节的文件

    [root@bogon ljk]# find ./ -size -10c
./hellworld.sh

上面的命令中将+(-)去掉则表示大小等于xxx大小的文件

5、按组或用户查找

     例如查找home下属于ljk用户的文件

      [root@bogon ljk]# find /home -user ljk
/home/ljk
/home/ljk/.bash_history
/home/ljk/hellworld.sh
/home/ljk/shell
/home/ljk/.bashrc
/home/ljk/.bash_profile
/home/ljk/.bash_logout
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
/home/ljk/test

    查找home路径下组属于ljk组的文件

[root@bogon ljk]# find /home -group ljk
/home/ljk
/home/ljk/.bash_history
/home/ljk/hellworld.sh
/home/ljk/shell
/home/ljk/.bashrc
/home/ljk/.bash_profile
/home/ljk/.bash_logout
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
/home/ljk/test

   查找没有用户的文件为:find /home -nouser  

   查找没有组的文件为: find /home -nogroup

6、按路径查找

     查找当前目录下除了shell目录中所有的文件

      [root@bogon ljk]# find ./ -path "./shell" -prune -o -type f
./.bash_history
./hellworld.sh
./shell
./.bashrc
./.bash_profile
./.bash_logout

find的功能很强大,如上面所有的命令都可以组合来查询,find还可以按其它的条件来查询,



tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N
      -cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME
      -ilname PATTERN -iname PATTERN -inum N -iwholename PATTERN -iregex PATTERN
      -links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE
      -nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN
      -wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
      -used N -user NAME -xtype [bcdpfls]
      -context CONTEXT


在linux环境下敲find --help ,或man find 来查看find的用法,用法和上面所写的类似,这里不一一赘述。























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值