第二十三讲——Find命令 本文共有3776个字,关键词: 先瞎扯淡两句 常用变量的赋值: let sum=$sum+1-等价于 let sum+=1 -等价于let sum++ 文件查找: locate:(很少使用)非实时,模糊匹配,查找是根据全系统文件数据库进行的,可能在刚装完数操作系统后无法执行该命令,因为数据库尚未生成,但是我们可以手动生成。 updatedb:手动生成文件数据库,执行此命令耗时较长,因为要将系统中的每一个文件记录下来。 虽然locate是非实时的,并且是模糊匹配的,但是locate是基于数据库查询的,速度上比find更快。 对于一个文件来说,如果属主被删除,那么该文件的属主将会变成属主的id号。 Find命令的特点: 实时查找 精确查找 支持众多的查找标准 遍历指定目录中的所有文件 完成查找速度慢 find命令格式 find 查找路径 查找标准 查找到以后的处理动作 查找路径:不填写则默认为当前目录 查找标准:默认为指定路径下的所有文件 -name 根据文件名查找(精确匹配) -name ‘filename’ 文件名通配 * 任意长度任意字符 ?一个或零个字符 []括号内任意一个字符 -iname 文件名匹配不区分大小写 -regex parttern基于正则表达式查找 -user 查找,通过文件属主查找 -grep 根据文件属组查找 -uid 根据用户uid -gid 根据用户gid -nouser 查找没有属主的文件,我们应当定期执行此命令 -nogroup 查找没有属组的文件 -type 根据文件类型查找 f 文件 d 目录 c字符设备 b 块设备 l 链接文件 p 管道文件 s 套接字文件 -size 根据文件大小查找 -size xxK/M/G 默认单位为字节 -size +10K 大于10K -size -10K 小于10K -size -1M 满足0.xM的文件统统被认为满足1M -size -10M 9.x-10M的文件都会显示 find /etc –size 10K –ls 组合查找: -a 与 -o 或 -not 非 如果我们给了两个条件,则默认连接方式为-a 摩根定律: find /etc –not -user1 -a -not -user user2 等价于 find /etc –not \(-user user1 –o –user user2\) 对括号内取反。 整个取反等价于单个取反把括号内的符号反过来(-a或者-o) 根据文件的时间戳查找 -mtime 修改时间 -ctime 改变时间 -atime 访问时间 -mtime # 在#天前(刚好#天前)访问过。 -# #天内访问过 +# 至少#天没有访问过 -atime +5 至少有五分钟没有访问过。 -perm mod(权限)权限精确匹配 mod 精确匹配权限(九位) -perm 644 精确匹配权限 /mod 九位任意权限匹配则符合 -perm /644 任何一位 -mod 包含权限内的文件全部在内,例如755包含644. -prem -644 所有包含在644权限的所有权限 处理动作:默认为显示到屏幕 默认为 –print(显示) -ls 类似于ls –l 显示文件的详细信息 -ok command {} \; -ok 每一个操作都需要用户的确认 -exec command {} \; {}为文件定位符 -exec 不需要用户的确认,直接执行 xargs 使用管道连接,xargs是从标准输入接收命令并执行 find /etc -size +1M |xargs echo {} >>/tmp/test.txt 将查找到的文件路径写入文件,并且之间以空格隔开 find /etc –size +1M –exec echo {} >>/tmp/test.txt \; 将找到的文件路径写入文件,每个文件占一行 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 几人行 (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 给自己讲linux 2016-12-23 评论 1464 次浏览