Linux 命令 之 find

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     当前时间的前224(48)小时以前到当前时间的前224+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(在文件中进行文本搜索并打印)
一、参数:
  -i:忽略字符的大小写

-n:显示行号

-color:对查询的关键字符进行高亮显示

-o:仅显示匹配到的字符串本身

-v:显示不被模式匹配到的行

-q:静默模式,即不输出任何信息

-A #:显示被模式匹配的行及其后#行

-B #:显示被模式匹配的行及其前#行

-C #:显示被模式匹配的行及其前后各#行

-G:支持基本正则表达式

二、正则表达式元字符:  
  ‘^‘: 匹配行首

‘$’: 匹配行尾

‘.‘: 匹配任一一个字符

‘*’: 匹配零个或多个先前字符

‘[]‘: 匹配一个指定范围内的字符 | ‘[^]’匹配指定范围外的任意单个字符

以下用到转义字符‘\’的查询条件必须有引号

‘<‘或‘\b’:匹配词首

‘>’或‘\b’:匹配词尾(可用<PATTERN>:匹配完整单词)

‘?‘:匹配其前面的字符0次或者1次;

‘+’:匹配其前面的字符1次或者多次;

‘{m}‘:匹配其前面的字符m次(\为转义字符)

‘{m,n}’:匹配其前面的字符至少m次,至多n次

‘()’:将多个字符当做一个整体进行处理

特殊匹配方式

[:space:] 匹配空格

[:digit:] 匹配任意单个数字

[:lower:] 匹配任意单个小写字母

[:upper:] 匹配任意单个大写字母

[:alpha:] 匹配任意单个字母

[:alnum:] 匹配任意单个字母或数字

[:punct:] 匹配任意单个符号

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值