Linux指令find & grep
Posted thousandsofeyes
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux指令find & grep相关的知识,希望对你有一定的参考价值。
Linux中喜欢把被操作的对象放在最后,参数等放中间
例:find [参数] [路径] [条件] [处理对象]
find(在目录下查找符合条件的文件)
首先,Linux中一切皆文件。“在目录下查找符合条件的文件”,这是说的“文件”包括Windows中所谓的目录即文件夹
一、参数
-P、-L、-H
二、路径
相对路径和绝对路径均可。
三、条件
1)根据名称查找
-name ‘a*‘ 查找以 a 开头的文件
-iname ‘a*‘ 查找以 a或A 开头的文件
-name ‘*.txt‘ 查找以 .txt 结尾的文件
2)根据文件类型查找
-type f 查找普通文件
-type d 查找目录文件
-type l 查找链接文件
-type b 查找块设备文件
-type c 查找字符设备文件
-type p 查找管道文件
-type s 查找套接字文件
3)根据文件从属关系查找
-user king 查找用户king拥有的文件
-group user1 查找组名为user1拥有的文件
-uid 500 查找用户ID为500的用户拥有的文件
-gid 0 查找组ID为0的用户拥有的文件
-nouser 查找没有所属者的文件
-nogroup 查找没有所属组的文件
4)根据文件大小查找【常用单位:k, m, g】
-size 5k 查找小于等于5K的文件
-size -6k 查找小于6K的文件
-size +2g 查找大于2G的文件
-size +3m -a -size -6m 查找3M到6M之间的文件【-a:与】
-size +3k -o -size +4k 查找大于3K或6K之间的文件【-o:或】
5)根据时间戳查找
atime:文件最后被读取或访问的时间
mtime:文件最后修改的时间
ctime:文件状态改变的时间
【!!!不是以“天”为单位,而是以“24小时”为单位】
amin、mmin、cmin 【以“分钟”为单位】
例:
find -atime +1 当前时间的前24小时以前
find -atime 1 当前时间的前24小时以前到当前时间的前48小时以后
find -atime -1 当前时间的前24小时以后
find -atime 2 当前时间的前2*24(48)小时以前到当前时间的前2*24+24(72)小时以后
find -atime +2 当前时间的前48小时以前
find -atime -2 当前时间的前48小时以后
以此类推
6)根据权限查找
find -perm 772 查找完全匹配772的权限的文件
find -perm -444 查找三类用户都拥有读权限的文件
find -perm -774 查找前两类用户拥有完全控制权并且其他用户拥有读权限的文件
find -perm /327 只要第一类用户拥有可读和可执行两个权限中的一个,或者第二类用户可读权限,或者第三类用户拥有可写、可读、可执行三个权限中的任一个的文件都会被查到
grep(在文件中进行文本搜索并打印)
以上是关于Linux指令find & grep的主要内容,如果未能解决你的问题,请参考以下文章