find命令的使用

----来源于网络视频

1、-name   //按名字查找

  find  ./ -name '*.sh'

2、-type  //按类型查找

find ./ -type  f (d/p/c/b/s/l)  ---普通文件(目录/管道/字符设备/块设备/socket./符号连接)

3、-size   //按大小查找

默认大小单位是512B(0.5K即:一个扇区的大小)

find ./ -size 1

find ./ -size +3 -size -7M    查找大小 大于3M小于7M的文件。(M是大写)

find  ./ -size +47k   -size -89k   (k是小写)

4、-maxdepth  //确定递归的次数

find ./ -maxdepth 1    -type  d        //递归一次,即仅找第一层目录

find ./ -maxdepth 2   -type  d          //递归2次,即会找到第二层目录

5、exec  //对find的结果集进行操作。

find  ./ -name '*.sh' | ls -lh    ----->会发现所有的文件都显示出来了

正确写法:

find  ./ -name '*.sh' -exec  ls -lh  {}  \;

exec 跟 xargs类似,{}中执行的是find  ./ -name '*.sh' 的结果;

\; 是转义分号字符,

find  ./ -name '*.sh' -ok  rm -r  {}  \;  将exec换成ok, 删除操作会进行提示,我们输入y or n  来进行操作

6、 xargs   //没有-

不用exec的话,可以使用xargs ,此时需要用管道

exec:是将find的结果集一次性的投入到缓冲区后执行后续的命令,缓冲区有可能充满;

xargs:是将find的结果集分批投入缓冲区。

find  ./ -name '*.sh' | xargs  ls -lh  

xargs 会以空格、换行符或制表符来区别结果集

7、-print0   //在结果集的末尾添加null(\0)

find  ./ -maxdepth 1 -type f -print0 | xargs  -0 ls -lh  

xargs  -0  表示不以默认的空格、换行符或制表符来区别,而是换成null(\0)

防止有的文件名中带空格,会识别错误  如类似touch  test\ teet1  (转义空格)

exec不会出现这种问题。

8、//按修改时间来查找文件

       -atime    //access 访问时间   按天

       -amin                                     按分钟

       -mtime   //modify  文件内容修改时间 

                 find ./ -name  "syslong.*.gz"  -mtime +5 -exec ls -lh {} \;           +5表示5天前的文件

                 find ./ -name  "syslong.*.gz"  -mtime -5 -exec ls -lh {} \;            -5表示5天内的文件

       -mmin

       -ctime  // 文件的属性修改时间

       -cmin

linux日志文件存放在 /var/log/syslog目录下:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值