linux-find【递归搜索文件名】
1 命令格式:
$ find <指定目录> <指定条件> <指定动作>
最常见示例:查找文件名(忽略大小写)
$find . -iname sqlquery.java
1.1 <指定目录>:
所要搜索的目录及其所有子目录。默认为当前目录。find默认递归指定目录。目录可以有多个,目录之间要用空格分开。
[admin@r42h06016.xy2.xxx.com]$find /etc /tmp /root -name passwd
1.2 <指定条件>:
所要搜索的文件的特征。
[1]根据文件名查找
-name 按照文件名查找
-iname 根据文件名查找,但是不区分大小写
-prune 不在当前指定的目录中查找
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
[2]根据文件所属用户和组来查找文件
-user 按照文件属主来查找文件
$find / -user fred //查找在系统中属于FRED这个用户的文件
-group 按照文件所属的组来查找文件
$find / -group cat //查找在系统中属于group组名cat的文件
[3]根据uid 和 gid来查找用户
-uid
#find /tmp -uid 500 //查找uid是500 的文件
-gid
#find /tmp -gid 1000 // 查找gid是1000的文件
[4]-a,-o,-not的使用
-a 连接两个不同的条件(两个条件必须同时满足)
#find /tmp -name "*.sh" -a -user root
-o 连接两个不同的条件(两个条件满足其一即可)
#find /tmp -name "*.sh" -o -user root
-not 对条件取反的
#find /tmp -not -user root
[5]根据文件时间戳的相关属性来查找文件
-atime 最近一次访问时间 单位:天
-mtime 最近一次内容修改时间 单位:天
-ctime 最近一次属性修改时间 单位:天
-amin 最近一次访问时间 单位:分钟
-mmin 最近一次内容修改时间 单位:分钟
-cmin 最近一次属性修改时间 单位:分钟
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件
- #find /tmp -atime +5 //表示查找在五天内没有访问过的文件
- #find /tmp -atime -5 //表示查找在五天内访问过的文件
[6]根据文件类型来查找文件
-type 查找某一类型的文件
文件类型:
f 普通文件
d 目录
l 符号链接文件
c 字符设备文件
p 管道文件
b 块设备文件
s socket文件
#find /tmp -type s
[7]根据大小来查找文件
-size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
- #find /tmp -size 2M //查找在/tmp 目录下等于2M的文件
- #find /tmp -size +2M //查找在/tmp 目录下大于2M的文件
- #find /tmp -size -2M //查找在/tmp 目录下小于2M的文件
$find . -size +1000000c //在当前目录下查找文件长度大于1 M字节的文件
$find / -empty //查找在系统中为空的文件或者文件夹
[8]根据文件权限查找文件
-perm
- #find /tmp -perm 755 //查找在/tmp目录下权限是755的文件
- #find /tmp -perm +222 //表示只要有一类用户(属主,属组,其他)的匹配写权限就行
- #find /tmp -perm -222 //表示必须所有类别用户都满足有写权限
[10]-nouser和-nogroup
-nogroup 查找无有效所属组的文件,即该文件所属的组不存在
-nouser 查找无有效属主的文件
#find / -nogroup -a -nouser //在整个系统中查找既没有属主又没有属组的文件(这样的文件通常是很危险的,作为系统工程师的我们应该及时清除掉)
$find / -nouser //查找在系统中属于作废用户的文件
1.3 <指定动作>:
对搜索结果进行特定的处理。
-print //默认情况下的动作
-ls //查找到后用ls 显示出来
-ok [commend] //查找后执行命令的时候询问用户是否要执行
-exec [commend] //查找后执行命令的时候不询问用户,直接执行
注意-ok和-exec命令将命令行上后续的参数作为他们参数的一部分,直到被\;序列终止。魔术字符串{}是-ok和-exec命令的一个特殊类型的参数,它将被当前文件的完整路径取代。
#find /tmp -atime +30 –exec rm –rf {} \; //删除查找到的超过30天没有访问过文件
这里要注意{ }的使用:替代查找到的文件
#find /tmp -name "*.old" | xargs chmod 700
2 命令举例
搜索/etc目录下的文件名包含del的文件。
$find /etc -name '*del*'
系统查找到"config.py"文件后即时在屏幕上显示"config.py"文件信息。
$find . -name "config.py" -ls
搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。
$ find . -type f -mmin -10

linux-find【递归搜索文件名】的更多相关文章
- linux下递归列出目录下的所有文件名(不包括目录)
1.linux下递归列出目录下的所有文件名(不包括目录) ls -lR |grep -v ^d|awk '{print $9}'2.linux下递归列出目录下的所有文件名(不包括目录),并且去掉空行 ...
- Windows和linux环境下按文件名和字符串搜索命令
Windows 1.遍历C盘下所有txt 命令:for /r c:\ %i in (*.txt) do @echo %i 注释:for 循环的意思 /r 按照路径搜索 c:\ 路径 %i in ( ...
- linux 实用指令搜索查找类
linux 实用指令搜索查找类 目录 linux 实用指令搜索查找类 find指令 locate指令 grep指令和管道符号 | find指令 说明 从指定目录向下递归地遍历其各个子目录,将满足条件的 ...
- 【C#】递归搜索指定目录下的指定项目(文件或目录)
---------------更新:201411201121--------------- 主要更新说明:将原bool recurse参数改为int depth,这样可以指定递归深度,而不是笼统的是否 ...
- C#递归搜索指定目录下的文件或目录
诚然可以使用现成的Directory类下的GetFiles.GetDirectories.GetFileSystemEntries这几个方法实现同样的功能,但请相信我不是蛋疼,原因是这几个方法在遇上[ ...
- linux文件管理 文件搜索
文件搜索命令find 'find [搜索范围] [搜索条件]' 搜索文件 find / -name install.log #避免大范围搜索,会非常消耗系统资源 #find是在系统当中搜索符合条件的文 ...
- Linux下的搜索命令grep(转)
一.简介 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具, ...
- Linux的文件搜索命令(locate ,find,grep,find命令和)
刚开始学Linux,这是关于Linux文件搜索命令,就目前,尽我所能把他写全一点,后期随时补充 文件搜索命令 一.locate命令 二.find命令 三.grep命令 四.find命令和grep命令的 ...
- php嵌套数组递归搜索返回数组key
var rewardTypes={"experience":{"\u7ecf\u9a8c\u503c":{"1":"\u660e\ ...
随机推荐
- Python——eventlet.event
该模块提供eventlet的事件支持,事件提供了跨 greenthread 的操作原语. 同一个事件对象既可以发出事件也可以接收(等待)事件,不同的协程共享这一个事件对象,就为不同协程之间基于事件的同 ...
- VMware安装与VMware下安装CentOS系统
1.下载安装VMware,我安装的是VMware 12.VMware从11开始不再支持32位系统,32位系统请安装VMware10. VMware官方功能特性介绍http://www.vmware.c ...
- dubbox 的各种管理和监管[转]
dubbo官方自带了dubbo-admin及dubbo-simple/dubbo-monitor-simple二个子项目用于服务治理及服务监控. 一.dubbo-admin的部署 这个比较简单,编译打 ...
- JavaScript对数组的处理(一)
数组创建 JavaScript中创建数组有两种方式,第一种是使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组 var arr2 = new Array( ...
- 如何解析oracle执行计划
要执行任何SQL语句,Oracle 必须推导出一个“执行计划”.查询的执行计划是 Oracle 将如何实现数据的检索,以满足给定 SQL 语句的描述.它只不过是其中包含的步骤及它们之间关系的顺序树.执 ...
- Business vs Technology
Business 只是 Technology的子集. Business只是体现在Code中. 比如说是HTML页面中内容的一部分. 或者说业务是对HTML组成的内容的分类. 比如说Smallbusin ...
- lkl风控.随机森林模型测试代码spark1.6
/** * Created by lkl on 2017/10/9. */ import org.apache.spark.sql.hive.HiveContext import org.apache ...
- NetLimiter网速测试小坑
在涉及到网络下载或者上传时,需要对各种不同的网络环境进行模拟验证,这时就需要一种可以随意限制指定进程网速的软件,经过同事推荐,发现NetLimiter这款软件很不错,界面直观,可任意设置上传下载速度, ...
- 在Android中,px,dp,dip,sp的不同之处
最近在学习Android开发,一直没有弄清楚px,dp,dip,sp的区别.今天正好有时间,就花时间研究了一下. 众所周知,Android厂商非常多,各种尺寸的Android手机 ...
- VS2015常用快捷键
1.回到上一个光标位置/前进到下一个光标位置 1)回到上一个光标位置:使用组合键“Ctrl + -”: 2)前进到下一个光标位置:“Ctrl + Shift + - ”. 2.复制/剪切/删除整行代 ...