find-文件查找
find 命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
文件名查找
find 查找的目录 -name "查找的文件名"
注意,这里文件名最好加上双引号表示字符串。
文件类型查找
find 查找目录 -type 文件类型
普通文件:p
目录:d
符号链接:l
管道:p
套接字:s
字符设备:c
块设备:b
文件大小查找
find 查找目录 -size -10k
+10k:大于10k
-10k: 小于10k
10k:等于10k
-size 10k -size 100k:大于10k小于100k
单位:k-小写 M-大写
文件日期查找
find 文件查找目录
创建日期: -ctime -n/+n -n表示n天以内 +n表示n天以外
修改日期:-mtime
访问日期:-atime
文件深度查找
find 文件的查找目录 -maxdepth n(层数) //搜索n层以下的目录
find 文件的查找目录 -mindepth n(层数) //搜索n层以上的目录
高级查找
find 查找的目录 查找选项 查找格式 -exec shell命令 {}\; 注意加分号
find 查找的目录 查找选项 查找格式 -ok shell命令 {}\;
find 查找目录 查找选项 查找格式 | xargs shell命令
grep -文件内容查找
grep -选项 "查找的内容" 查找的路径
常用选项说明:
选项 | 含义 |
-v | 显示不包含匹配文本的所有行(相当于求反) |
-n | 显示匹配行及行号 |
-i | 忽略大小写 |
-r | 递归查找,一般查找目录是都会加上 |
-o | 只显示查找到的内容而不是整行,grep默认显示查找到的整行 |
-P | 查找的pattern 兼容perl 正则表达式 |
grep 搜索内容串可以是正则表达式。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
grep 常用正则表达式:
参数 | 含义 |
^a | 行首,搜寻以 a 开头的行 grep -n '^a' 1.txt |
ke$ | 行尾,搜寻以 ke 结束的行(只能针对 Linux 文本文件) grep -n 'ke$' 1.txt |
[Ss]igna[Ll] | 匹配 [] 里中一系列字符中的一个 搜寻匹配单词 signal、 signaL、 Signal、 SignaL 的行 grep -n '[Ss]igna[Ll]' 1.txt |
. (点) | 匹配一个非换行符的字符 匹配 e 和 e 之间有任意一个字符,可以匹配 eee, eae, eve, 但是不匹配 ee, eaae grep -n 'e.e' 1.txt |
which-命令的位置查找