mirror of
https://github.com/NohamR/knowledge-kit.git
synced 2026-05-24 20:00:37 +00:00
149 lines
2.3 KiB
Markdown
149 lines
2.3 KiB
Markdown
# 命令行文件查找
|
||
|
||
> 在日常中,find的使用频率很高,熟练掌握对提供工作效率很有帮助。
|
||
|
||
语法:
|
||
|
||
```
|
||
find(选项)(参数)
|
||
```
|
||
|
||
1、列出当前目录以及目录下的所有文件
|
||
|
||
```
|
||
find .
|
||
```
|
||
|
||
2、找到当前目录下名字为 11.png 的文件
|
||
|
||
```
|
||
find . -name "11.png"
|
||
```
|
||
|
||
3、找到当前目录下所有的 jpg 文件
|
||
|
||
```
|
||
find . -name "*.jpg"
|
||
```
|
||
|
||
4、找到当前目录下的 jpg 文件和 png 文件
|
||
|
||
```
|
||
find . -name "*.jpg" -o -name "*.png"
|
||
```
|
||
|
||
5、找到当前目录下不是以 png 结尾的文件
|
||
|
||
```
|
||
find . ! -nam "*.png"
|
||
```
|
||
|
||
6、根据正则表达式查找
|
||
|
||
比如:查找当前目录下,文件名都是数字的 png 文件
|
||
|
||
```
|
||
find . -regex "\./*[0-9]+\.png"
|
||
```
|
||
|
||
7、根据路径查找
|
||
|
||
找到当前目录下路径中包含 swj 的文件/路径
|
||
|
||
```
|
||
find . -path "*swj*"
|
||
```
|
||
|
||
8、根据文件类型查找
|
||
|
||
查找当前目录下,路径包含 swj 的文件
|
||
|
||
```
|
||
find . -type f -path "*swj*"
|
||
```
|
||
|
||
9、限制搜索深度
|
||
|
||
查找当前目录下所有的 png,不包括字目录
|
||
|
||
```
|
||
find . -maxdepth 1 -name "*.png"
|
||
```
|
||
|
||
相应的, mindepth 也是选项
|
||
|
||
```
|
||
find . -mindepth 2 -name "*.png"
|
||
```
|
||
|
||
10、根据文件大小
|
||
|
||
通过 -size 来过滤文件大小,支持的单位如下
|
||
|
||
* b - 块(512字节)
|
||
* c - 字节
|
||
* w - 字 (2字节)
|
||
* k - 千字节
|
||
* M - 兆字节
|
||
* G - 吉字节
|
||
|
||
找出当前目录下文件大小超过 100M 的文件
|
||
|
||
```
|
||
find . -type f -size +100M
|
||
|
||
find ./ -size +100MB
|
||
```
|
||
|
||
|
||
11、根据访问/修改/变化时间
|
||
|
||
* 访问时间(-atime/天,-amin/分钟):用户最近一次访问时间
|
||
* 修改时间 (-mtime/天, -mmin/分钟): 文件最后一次修改时间
|
||
* 变化时间 (-ctime/天, -cmin/分钟):文件数据元(例如权限的过)最后一次修改时间
|
||
|
||
找出 1天内被修改过的文件
|
||
|
||
```
|
||
find . -type f -mtime -1
|
||
```
|
||
|
||
找出最近1周内被访问过的文件
|
||
|
||
```
|
||
find . -type f -atime -7
|
||
```
|
||
|
||
12、根据权限
|
||
|
||
通过 -perm 来实现
|
||
|
||
找出当前目录下权限为777的文件
|
||
|
||
```
|
||
find . -type f -perm 777
|
||
```
|
||
|
||
找出当前目录下权限不是644的php文件
|
||
|
||
```
|
||
find . -type f -name "*.php" ! -perm 644
|
||
```
|
||
|
||
13、根据文件拥有者
|
||
|
||
找出文件拥有者为 root 的文件
|
||
|
||
```
|
||
find . -type f -user root
|
||
```
|
||
|
||
找出文件所在群组为 root 的文件
|
||
|
||
```
|
||
find . -type f -group root
|
||
```
|
||
|
||
|
||
|