linux shell命令 find,[Shell]: Linux命令find命令用法总结

1.忽略文件名的大小写

使用参数-iname

2.指定目录级别

使用参数-mindepth 2和-maxdepth 5

3.反向选择查找结果

使用参数-not

4.使用inode进行查找

参数-inum,另外,使用ls -i1获取文件的inode

5.根据文件的权限进行查找

-perm -g=r用户组有读的权限

-perm g=r仅仅是用户组有读的权限,无其他权限

-perm 040表示文件全权限是---r-----,和g=r是一样的结果

6.查找空的文件

使用-empty参数

7.查找最小的五个文件

使用-ls参数,同时管道到sort进行排序,然后tail就可以显示了

8.根据不同的文件类型进行查找

-type [sdf],socket文件,directory文件,file普通文件

9.根据大小进行查找

使用参数-size +100M或者-size -100M,查找大于或者小于100M的文件

10.删除找到的某个文件

使用参数-delete或者-exec rm -rf {} \;

使用find的内建选项-delete可以减少fork带来的开销,使用-exec的方式开销比较大。

在有内建选项的时候,建议首先使用内建选项,减少fork带来的开销。

11.查找在一定时间内修改过的文件

-mtime 0,小于1天之内修改的,24h之内修改

-mtime -1,小于1天之内修改的,24h之内修改

-mtime 1,在24h~48h之内修改的

-mtime +1,修改时间超过48h

-mmin +5 -mmin -10,在6min到9min之内修改的

12.善用-print0,-print,-printf

-print这个是默认的,结果是使用空白分隔的文件list,然后交给xargs进行处理,安全性比-print0要低

-print0这个使查找结果使用NUL分隔,而不是space分隔,交给xargs进行处理会更好

-printf这个是可以加格式的打印

13.同时执行几个find命令

$ find . \( -name "*.txt" -type f -ls \) , \( -name "*.c" -type f -ls \)

测试例子,用来列出.txt和.c结尾的文件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值