[toc]

Find概述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Find(查找)
可以通过不同的条件来查找,例如名字 权限 大小等等

# 语法结构
Find 路径 选项 表达式 动作

# 通用选项(使用在普通选项前)
-a # 并且
例:Find /etc/ -name '*conf*' -a -name '*sh*'
-o # 或者
例:Find /etc/ -name '*conf*' -o -name '*sh*'
! # 取反
例:Find /etc/ ! -name '*conf*' -a -type f

# PS
xargs # 将原本管道符右边不能用作标准输入的命令作为标准输入

Find查找

Find动作

1
2
3
4
5
6
7
8
9
# Find动作的作用
当查找到一个文件后, 需要对文件进行如何处理, 默认动作 -print

# 选项
-print # 打印查找到的内容(默认)
-ls # 以长格式显示的方式打印查找到的内容
-delete # 删除查找到的文件(仅能删除空目录)
-ok # 后面跟自定义shell命令(会提示是否操作,标准写法-ok {} \;)
-exec # 后面跟自定义shell命令(不提示是否操作,标准写法-exec {} \;)

按照文件名称查找

1
2
3
# 选项
-name # 严格区分大小写
-iname # 不区分大小写

按照文件类型查找

1
2
3
4
5
6
7
8
9
10
11
# 选项
-type # 按照文件类型查找,后跟文件类型

## 文件类型
f # 一般文件
d # 目录
s # 安全套接字文件
c # 设备文件
b # 存储设备文件 块儿文件
l # 链接文件
P # 管道文件

按照文件大小查找

1
2
3
4
5
6
7
8
9
10
11
# 选项
-size #按照文件大小查找,后跟查找文件范围

## 衔接内容
+nM #查找大于nM的文件
-nM #查找小于nM的文件
nM #查找等于nM的文件

# PS
不满4k的文件也占一个blog
一个blog=4k

按照用户查找

1
2
3
4
5
# 选项
-user # 按照用户名查询,后跟用户名
-group # 按照组名查询,后跟组名
-nouser # 按照用户名反选查询,后跟用户名
-nogroup # 按照组名反选查询,后跟用户名

按照文件时间查找

1
2
3
4
5
6
7
8
9
10
11
12
# 选项
-atime # 按照文件访问时间查找
-mtime # 按照文件创建、修改时间查找
-ctime # 按照文件属性修改时间查找

## 衔接内容
num # 查找第n天的文件(不包含今天)
+num # 查找第n天之前的文件(不包含今天)
-num # 查找最近n天的文件

# PS
star 1.txt # 查看文件时间

按照权限查找

1
2
3
4
5
6
7
# 选项
-perm # 权限查找

## 衔接内容
number # 权限位数字
-number # 小模糊查找(查找三个权限位都含有对应权限的文件)
+number # 大模糊查找(查找三个权限位满足其一权限的文件)

深度查找

1
2
3
4
5
# 选项
-maxdepth #深度查找

## 衔接内容
number #根据number查找对应几级目录