linux find 循环查找,Linux下的find查找命令

Linux下的查找命令有:which(查看可执行文件的位置),whereis(查看指定文件的位置),locate(配合数据库查找指定文件的内容)、find(在磁盘上查找文件)、grep(使用正则表达式搜索文本),其中查找文件的有locate(只能对文件进行模糊匹配)和find(在不指定查找目录的情况下对整个系统进行遍历查找),find使用的更多一些。因此我跟人总结了一下find命令的用法。

每一种操作系统都有成千上万的文件组成,对于Linux操作系统来说更是不例外。我们都已经很熟悉了在Windows下查找文件了,但可能对于Linux下查找文件的功能并不是很熟悉。但是只要牢牢掌握find命令,那么查找文件将不再是问题。

find的使用格式:find pathname -options [-pringt -exec -ok.....]

其中pathname表示find命令所查找的目录路径。例如用.表示当前路径,/表示系统根目录

方括号里面的是查找完执行的action:

1.-print表示find命令将匹配的文件输出到标准输出,

2.-exec表示find命令对匹配的文件执行该参数给出的shell命令。相应的命令格式为‘command’ { } \;注意{}和\之间的空格。

例如:#find /tmp -atime +30 -exec rm -rf {} \;   //删除查找到的超过30天没有访问过得文件

3.-ok和-exec的作用相同,只不过以一种更安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出一个提示,让用户来确定是否执行。

命令选项(-option)

1.-name 按照文件名查找文件。

2.-perm 按照文件权限来查找

例如:#find /tmp -prem 755     //查找在/tmp目录下权限是755的文件

#find /tmp -prem +222  //表示只要有一类用户(属主,属组,其他)的匹配写权限就行了

#find /tmp -prem -222   //表示必须所有类别用户都满足写权限

3.-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

4.-user 按照文件的属主来查找文件。

5.-group 按照文件所属的组来查找文件。

6.-mtime -n +n 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改的时间距现在n天以前。find命令还有-atime,-ctime(这里atime,mtime,ctime分别对应的是“最近一次访问的时间”,“最近一次内容修改的时间”和“最近一次属性修改的时间”,这里atime的单位是天)

例如:#find /tmp -atime +5  //表示查找在五天内没有访问过得文件

#find /tmp -atime -5   //表示查找在五天内访问过得文件

7.-nogroup 查找无有效所属组的文件,即该文件所属组在/etc/group中不存在。

8.-nouser 查找无有效属组的文件,即该文件在/etc/paawd中不存在。

9.-newer file1 !file2 查找比file1新但是比file2旧的文件。

10.-type 查找某一类型的文件例如

b - 块设备文件

d -目录

c -字符设备文件

p - 管道文件

l - 符号链接文件

f - 普通文件

11. -size n:[c] 查找文件长度为n快的文件,有时带有c时表示文件长度以字节记

例如:#find /tmp -size 2M     //查找在/tmp目录下等于2M的文件

#find /tmp -size +2M  //查找在/tmp目录下大于2M的文件

#find /tmp -size -2M   //查找在/tmp目录下小于2M的文件

12. -depth:查找文件时,首先查找当前目录中的文件,然后再其中子目录中查找。

-a and -o and -not的使用:

-a链接两个不同的条件(两个条件必须同时满足)

例如:#find /tmp -name "*.sh" -a -user root  //查找文件名为*.sh并且用户是root的文件

-o链接两个不同的条件(两个条件满足其一即可)

例如:#find /tmp -name "*.sh" -a -user root

-not对条件取反的

例如:#find /tmp -not -user root     //查找用户不是根目录下的文件

Linux下的搜索查找命令的详解(find)

4.find Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项 ...

Linux下强大的查找命令find 用法和常见用例

Linux系统下find是较为常用的指令,find命令在目录结构中搜索文件,并执行指定的操作,掌握它的形式与用法对我们很有用处. 因为Linux下面一切皆文件,经常需要搜索某些文件来编写,所以对于Li ...

Linux下的文件查找命令——find

Linux下几个常见的文件查找命令: which       查看可执行文件的位置 whereis    寻找特定文件,查看文件的位置 locate       配合数据库查看文件位置 find    ...

linux下五种查找命令

我们经常需要在系统中查找一个文件或者命令,那么在Linux系统中如何快速定位和精确查找它呢?下面总结了五个基础命令·分别是which.whereis.type.locate.find. 一 whi ...

Linux下4个查找命令which、whereis、locate、find的总结

(1)which   [-a]    cmdname1 cmdname2 ...... 作用:locate a command,从环境变量PATH中,定位/返回与指定名字相匹配的可执行文件所在的路径 ...

Linux下的搜索查找命令的详解(whereis)

2.whereis  和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据 ...

Linux下的搜索查找命令的详解(locate)

3.locate locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中 ...

Linux下的搜索查找命令的详解(which)

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:  which  查看可执行文件的位置. whereis 查看文件的位置.  locate   配合数据库查看文件 ...

谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH PKG_CONFIG_PATH

谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH  PKG_CONFIG_PATH 转载自:http://blog.chinaunix.net/xmlrpc.ph ...

随机推荐

最后一周psp

团队项目PSP 一:表格     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论用户界面 10:20 11:45 25 40 80 分析 ...

Spring获取bean的工具类

package com.tech.jin.util; import org.springframework.context.ApplicationContext; import org.springf ...

Python3基础 print 查看一个列表中存储的所有内容

镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

vs2015社区版不支持installshield

开始学习vs了 下一步就是在这个平台上提升技术咯. 写了老师上课讲的算法 生成了个VB程序结果不能在别的电脑上运行 .幸好我自己测试了下.要是直接拿去学校不是很~ 然后我就想到当初接触易语言时候的搞静 ...

UML建模文章总结

一.为什么要学习UML UML是Unified Modeling Language(统一建模语言)的简称.UML是对软件密集型系统中的制品进行可视化.详述.构造和文档化的语言.制品{Artifact} ...

关于json和字符串之间的转换

在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用requ ...

你跟上技术趋势了么? 来看看这10场2017热门it技术会议!

2016年各类大会让人应接不暇,技术圈儿最不缺的就是各种大会小会,有的纯干货,有的纯广告.作为一名技术开发者,参加了几场大会,你是不是也开始思忖:究竟哪些会议才值得参加?下面活动家为你推荐几场2017 ...

Garbage-Only-One的IO路

我的任务计划 刷题计划 BZOJ 1.1202 2.1008 3.等等 搜索 1.搜索题单 学习计划 树 1.树状数组or树状数组or树状数组 2.线段树 搜索 1.A*

group by具有去重的功能

group by具有去重的功能

java io系列13之 BufferedOutputStream(缓冲输出流)的认知、源码和示例

本章内容包括3个部分:BufferedOutputStream介绍,BufferedOutputStream源码,以及BufferedOutputStream使用示例. 转载请注明出处:http:// ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值