罗湖做网站的公司,吉林新农村建设网站,wordpress 局域网 访问,智慧团建手机版入口find查找是生产中最常见的日志查找工具下面看看它的用法基本用法#xff1a;find 查找路径 查找标准 查找到以后的处理动作查找路径#xff1a;需要被查找的文件所在的路径#xff0c;一定是个目录#xff0c;默认情况下为当前的目录查找的标准#xff1a;查找的…find查找是生产中最常见的日志查找工具下面看看它的用法基本用法find 查找路径 查找标准 查找到以后的处理动作查找路径需要被查找的文件所在的路径一定是个目录默认情况下为当前的目录查找的标准查找的时候用什么方式去查找处理动作文件查找完毕后需要对查找出来的文件进行处理的动作默认情况下为显示查找深度的限制可以对查找中文件路径的深度进行控制-maxdepth #查找标准查找的标准一般包括以下的几部分名字时间权限类型大小属主和属组名字-name “filename”基于文件名查找的时候支持通配符*[] , [^]-iname 文件名匹配时不区分大小写-regex 基于正则匹配文件名正则来查找类型-type 基于文件的类型查找f 普通文件d 目录s 套接字文件l 链接文件这里有个注意点 find 执行查找类型的时候是检测文件本身的类型比如A是链接文件A–B那么find判断的是文件A的类型与之相似的有一个叫 test 的命令专用于检测文件的类型不过test检测的时候是检测B的类型权限-perm MODEmode 全部权限吻合才行/mode 给出的权限中只要满足一个即可-mode 文件权限包含时即权限只能多不能少时间按时间来查找-mtime-ctime-atime[|-]#-mmin (分钟计)-cmin-amin三种时间后面可以跟 – 或者不加 代表的是超过– 在…….的范围内不加为精确匹配大小-size利用大小查找的时候需要注意的是大小的精确定位 和 – 的区别查找10K的时候是9-10K 的文件而如果是 -10K 的话 代表的是0-9K 10K代表的是10K以上根据这个原理查找1G的文件千万别写成1G因为这样会将几K的文件都列出来正确的写法是1024M如果要精确到字节那么需要使用 c 为单位属主和属组-uid n n 为数字这个数字是用户的账号 ID亦即 UID 这个 UID 是记录在 /etc/passwd 里面与账号名称对应的数字。-gid n n 为数字这个数字是组名的 ID-user name name 为使用者账号名称-group namename 为组名喔例如 users -nouser 寻找文件的拥有者不存在 /etc/passwd 的用户-nogroup 寻找文件的拥有群组不存在于 /etc/group 的文件其中 -nouser 和 – nogroup 是可能存在的比如你在网上下载了一个软件该软件的拥有者并不再系统的用户中或者事先已经有个账户且在系统中运行产生了各种数据后来你把用户给删除了那么这些数据还在此时就需要用到上述两个指令执行动作-print显示-ls 类似ls -l 的方式显示文件-ok COMMAND {} \; 其中的{}是用来引用需要修改文件名-exec COMMAND {} \; 作用同 -ok 稍有区别的是-ok需要用户每步都确认而-exec不需要用户的确认多个条件之间的逻辑组合-a 与关系多个条件同时满足的时候才满足要求-o 或关系多个条件中一个条件满足就行 not 非关系即取反德尔摩根定律(非P)或(非Q)非(P且Q)(非P)且(非Q)非(P或Q)使用-o条件时候需要注意的是 A -O B C 这个的逻辑是B与C 先相与然后再进或的运算 如果需要A和B 或运算之后再进行C操作需要将A和B用括号括起来且括号应该转义过滤机制-path “/path/to/directory” -a -prune查找的时候排除目录中的某一个子目录find实例运用(1) 查找/etc目录下面不是以.conf结尾的文件find /etc -not -name “*.conf”find /etc ! -name “*.conf”(2)寻找/home目录下既不是用户joe 也不是用户 jane的文件find /home -not -user joe -a -not -user janefind /home -not \( -user joe -o -user jane \) # 括号里面的内容不能紧贴括号要有空格括号需要转义(3)找出/tmp目录下面属主不是root且文件名不以f开头的文件find /tmp -not \( -user root -o -name “f*” \) -lsfind /tmp \( -not -user root -a -not -name “f*” \) -ls #注意括号尽量使用括号括起来(4)搜索/etc下面除了/etc/sane.d 目录下的所有的以.conf结尾的文件find /etc -path “/etc/sane.d” -a -prune -o -name “*.conf” -print(5)搜索/etc下面除了/etc/sane.d 目录和/etc/modprobe.d以外其他目录下的所有的以.conf结尾的文件find /etc \( -path “/etc/sane.d” -o -path “/etc/modprobe” \) -a -prune -o -name “*.conf”(6)备份配置文件添加.orig扩展名find /etc -name “*.conf” -exec cp {} {}.orig \;(7)在家目录下面寻找可以被其他用户写入的文件去除写的权限find /hone -perm -002 -exec chmod o-x {} \;原创文章作者Double f如若转载请注明出处http://www.178linux.com/75016