find
2016-06-15 10:37
274 查看
语法:find [路径] [参数] [action]
-name filename,查找名为filename的文件
-iname filename,查找名为filename的文件,但是不区分大小写
-user username,查找属主为username的文件
-group groupname,查找属组为groupname的文件
-nogroup,查找没有有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser,查找没有有效属主的文件,即文件的属主在/etc/passwd中不存
-uid,根据uid查找
-gid,根据gid查找
-mtime +n/-n,写入时间大于/小于n天的文件
-mmin +n/-n,写入时间大于/小于n分钟的文件
-atime +n/-n,访问或执行时间大于/小于n天的文件
-amin +n/-n,访问或执行时间大于/小于n分钟的文件
-ctime +n/-n,写入、更改inode属性(例如更改所有者、权限或者链接)时间大于/小于n天的文件
-cmin +n/-n,写入、更改inode属性(例如更改所有者、权限或者链接)时间大于/小于n分钟的文件
-type b/d/c/p/l/f/s,查是块设备、目录、字符设备、管道、符号链接、普通文件、socket文件
-size +n/-n[bmc],按文件大小查找
-perm,按执行权限查找
-prune,忽略某个目录
-a,连接两个不同的条件,但是两个条件必须同时满足
-o,连接两个不同的条件,两个条件中有一个满足即可
-not,对条件取反
例子:
-perm
#find /tmp -perm 755 //查找在/tmp目录下权限是755的文件
#find /tmp -perm +222 //表示只要有一类用户(属主,属组,其他)的匹配写权限就行
#find /tmp -perm -222 //表示必须所有类别用户都满足有写权限
-size
查找完执行的action
# -print //默认情况下的动作
# -ls //查找到后用ls 显示出来
# -ok [commend] //查找后执行命令的时候询问用户是否要执行
# -exec [commend] //查找后执行命令的时候不询问用户,直接执行
#find /tmp -atime +30 -exec rm -rf {} \;#{}代表查找到的文件
#find /tmp -name "*.php"|xargs chmod a+x
指定多个目录
#find /etc /tmp /root -name passwd //目录之间用空格隔开
通配符使用
*,0个或多个任意字符
?,任意一个字符
[],括号里面的任意一个字符
-a,-o,-not
#find /tmp -name "*.php" -a -user root
#find /tmp -name "*.sql" -o user zhaoyn
#find /tmp -not -user root
忽略指定目录
#find ./ -path "./server" -prune -o -name "*.log" -print
忽略多个目录
#find ./ \( -path "./server" -o -path "./test" \) -prune -o -name "*.log" -print
-name filename,查找名为filename的文件
-iname filename,查找名为filename的文件,但是不区分大小写
-user username,查找属主为username的文件
-group groupname,查找属组为groupname的文件
-nogroup,查找没有有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser,查找没有有效属主的文件,即文件的属主在/etc/passwd中不存
-uid,根据uid查找
-gid,根据gid查找
-mtime +n/-n,写入时间大于/小于n天的文件
-mmin +n/-n,写入时间大于/小于n分钟的文件
-atime +n/-n,访问或执行时间大于/小于n天的文件
-amin +n/-n,访问或执行时间大于/小于n分钟的文件
-ctime +n/-n,写入、更改inode属性(例如更改所有者、权限或者链接)时间大于/小于n天的文件
-cmin +n/-n,写入、更改inode属性(例如更改所有者、权限或者链接)时间大于/小于n分钟的文件
-type b/d/c/p/l/f/s,查是块设备、目录、字符设备、管道、符号链接、普通文件、socket文件
-size +n/-n[bmc],按文件大小查找
-perm,按执行权限查找
-prune,忽略某个目录
-a,连接两个不同的条件,但是两个条件必须同时满足
-o,连接两个不同的条件,两个条件中有一个满足即可
-not,对条件取反
例子:
-perm
#find /tmp -perm 755 //查找在/tmp目录下权限是755的文件
#find /tmp -perm +222 //表示只要有一类用户(属主,属组,其他)的匹配写权限就行
#find /tmp -perm -222 //表示必须所有类别用户都满足有写权限
-size
#find /tmp -size 2M //查找在/tmp 目录下等于2M的文件
#find /tmp -size +2M //查找在/tmp 目录下大于2M的文件
#find /tmp -size -2M //查找在/tmp 目录下小于2M的文件
#find /tmp -size +2M //查找在/tmp 目录下大于2M的文件
#find /tmp -size -2M //查找在/tmp 目录下小于2M的文件
查找完执行的action
# -print //默认情况下的动作
# -ls //查找到后用ls 显示出来
# -ok [commend] //查找后执行命令的时候询问用户是否要执行
# -exec [commend] //查找后执行命令的时候不询问用户,直接执行
#find /tmp -atime +30 -exec rm -rf {} \;#{}代表查找到的文件
#find /tmp -name "*.php"|xargs chmod a+x
指定多个目录
#find /etc /tmp /root -name passwd //目录之间用空格隔开
通配符使用
*,0个或多个任意字符
?,任意一个字符
[],括号里面的任意一个字符
-a,-o,-not
#find /tmp -name "*.php" -a -user root
#find /tmp -name "*.sql" -o user zhaoyn
#find /tmp -not -user root
忽略指定目录
#find ./ -path "./server" -prune -o -name "*.log" -print
忽略多个目录
#find ./ \( -path "./server" -o -path "./test" \) -prune -o -name "*.log" -print
相关文章推荐
- SimpleDateFormat 常规用法
- cocos2d-x 3.x学习之FadeAction
- ubuntu用户添加adduser, useradd并给予sudo权限
- iOS调用系统电话,UIAlertController的基本使用
- GCD介绍(三)-Dispatch Sources
- MQTT协议在nodejs中的使用
- JavaScript生成带有缩进的表格代码
- 请求转发与重定向的区别
- omniCorba配置及开启name服务
- java过滤特殊字符的正则表达式
- 【转】[MTK软件原创] [SELinux] 如何设置确认selinux模式
- 聚集索引和非聚集索引的区别
- Solr源码结构
- 通过jxl来生成,有单元格样式的excel
- C#强密匙加密文件.snk
- OpenJDK与JDK的区别及Ubuntu下的安装方法
- 二分查找算法
- Android开发中SharedPreferences工具类
- 详解IOS开发应用之并发Dispatch Queues
- iOS 开发工具