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的主要内容,如果未能解决你的问题,请参考以下文章

Linux常见指令

Linux基本指令

Linux基础常见指令

一Linux指令手册及知识入门

Linux指令 ----->时间日期类&搜索查找类&压缩解压类

Linux相关命令总结