find:按照文件属性查找
- 选项参数
-name
: 例子:find /usr/src -name filename.txt-type
: 例子:find /usr/src -type filename.txt类型包括:f(file), d(directory), l(link), c(char), d(device), s(socket), b(block)
-size
: 默认单位为512byte,一个扇区的大小- 例子:
find /usr/src -size +10M -size -20M
查找大于10M小于20M的文件 - 例子:
find /usr/src -size +10k -size -20k
- 例子:
-maxdepth
: 例子:find /usr -maxdepth 2 -type d | wc -l
统计/usr 目录下深度为2的所有目录文件-exec
: 例子:find ./ -name "*.sh" -exec ls -l {}
; 列出当前目录下所有的 .sh 文件,并执行ls -l 命令-print
: 将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串;print0
: 就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行;xargs
- 以空格或
\0
作为分隔符拆分解析的命令。每次从缓冲区读取的数据有限,而exec则是一次性将查到的内容读到缓冲区内。 - 例子:
find ./ -name "*.sh" -print | xargs ls -l
结合管道一起使用,用法与exec一样。
- 以空格或
-atime(access time)
: 访问时间,+7
七天以前,-7
最近七天以内访问过的-amin
: 访问时间(按照分钟)-mtime
: 上次修改的时间(按照天数)-mmin(modified minute)
: 修改时间(按照分钟)ctime(change time)
: 最近文件的状态被改变的时间cmin(change minute)
: 最近文件的状态被改变的时间(按照分钟)
grep
grep英文全称为 global search regular expression and print out the line; 中文名称为:全面搜索正则表达式和打印输出行
-
三种形式的grep命令
- gerp:标准格式
- egrep:扩展grep命令,其实和grep -E等价,支持基本和扩展的正则表达式。
- fgrep: 快速grep命令,其实和grep -F等价,不支持正则表达式,按照字符串表面意思进行匹配。
-
选项参数
-n
:列出所有的匹配行,显示行号-r
: 递归搜索-R
:-i
: 搜索时,忽略大小写-c
: 只输出匹配行的数量-l
: 只列出符合匹配的文件名,不列出具体的匹配行-h
: 查询多文件时不显示文件名-s
: 不显示不存在、没有匹配文本的错误信息-v
: 显示不包含匹配文本的所有行-w
: 匹配整个单词-x
: 匹配整行-q
: 禁止输出任何结果,已退出状态表示搜索是否成功-b
: 打印匹配行距文件头部的偏移量,以字节为单位-o
: 与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位
-
例子:使用grep 搜索
/usr/src/
目录下包含task_struct {
的字符,并显示字符所在的行号grep -r "task_struct {" /usr/src/ -n
注: 文章所写内容,均根据自己的理解来进行阐述的,若和读者的思考不一致,读者感觉理解不是很清楚的话,请直接阅读Linux中的man手册找到最原始的内容,进行学习和思考。
文章中所有的内容都可以在本人的Github上面找到,最新的文章一般在Github上面,博客中的文章不一定是最新的。若觉得文章有参考价值,欢迎Star。
Github: Learning-Computer-Science-Journey