linux查找命令
find 命令
语法:find 搜索路径 匹配表达式
功能:该命令用于在指定路径中查找符合条件的文件,搜索路径可以是多个目录,不同目录之间以空格分隔。
匹配表达式1
1.-name filename:
要查找的文件名。可以使用通配符“*”,“?”,但要用双引号将文件名引起来。
例:
1 | find -name "h*" -print |
2.-user username:
查找属于username用户的文件。
例:
1 | find /home -user user1 -print |
3.-group groupname:
查找属于groupname组的文件。
NOTE:
-print:显示找到文件路径名。
匹配表达式2
1.-exec 命令 {}:
对找到的匹配文件,执行所列出的命令,而不询问用户是否执行这些命令,参数{} 由find找到当前的文件路径名取代,命令行末尾必须有“;”。
例:
1 | find /home –user user1 –exec cat {}\;|more |
2.-ok 命令 {}:
与-exec的用法相同,在执行命令之前询问用户是否要执行命令。
匹配表达式3
1.-atime n:查找前n天访问过的文件(仅第n天这一天)。
2.-atime +n:查找前n天之前访问过的文件;-n则表示前n天之后。
例:
1 | find /home –atime +365 –print |
匹配表达式4
1.-type filetype:
指定查找的文件类型。
filetype 可以是:b块文件;c字符设备文件;d目录文件;f一般文件。
例:
1 | find –type d –print |
匹配表达式5
-size 按照文件大小进行查找。
(c:字节,w:双字,k:KB,M:MB,G:GB)
- -size Number Number大小以块(一般是512字节)为单位,找对应大小的文件
- -size Numberc Numberc大小以字节为单位,找对应大小的文件
- -size -Numberc 查找比该值小的文件
- -size +Numberc 查找比该值大的文件
例:
1 | find –size -10 –print |
其他/混合使用
1 | find / -empty |
混合使用:
参数有: !,-and(-a),-or(-o)。
1 | find /tmp -size +10000c -and -mtime +2 |
grep 命令
语法:grep【参数】 查找模式 文件名 【文件名】
功能:grep命令用于在指定文件中查找与模式匹配的行,并将匹配的行显示在标准输出上。如果没有指定文件,则从标准输入中读取。当在多个文件中进行查找中,将在每一行输出之前加上文件名。在搜索的文件名中允许使用通配符。
主要参数:
- -c:只输出匹配行的计数。
- -i:不区分大小写
- -h:查询多文件时不显示文件名。
- -l:查询多文件时只输出包含匹配字符的文件名。
- -n:显示匹配行及行号。
- -s:不显示不存在或无匹配文本的错误信息。
- -v:显示不包含匹配文本的所有行。
- -f: filename:从指定文件中获取搜索模式,每行一个搜索模式项。
pattern正则表达式主要参数:
1 | \: 忽略正则表达式中特殊字符的原有含义。 |
例
1 | grep 'test' d* |
find与grep命令组合使用
find与grep命令组合使用,在大量文件中查找非常方便,如:
1 | find . -name "*.c" | xargs grep "hello" #在当前目录所有.c文件查找包含hello字符串的文件 |
本文标题:linux查找命令
文章作者:Mr Bluyee
发布时间:2018-11-15
最后更新:2019-07-15
原始链接:https://www.mrbluyee.com/2018/11/15/linux%E6%9F%A5%E6%89%BE%E5%91%BD%E4%BB%A4/
版权声明:The author owns the copyright, please indicate the source reproduced.