docs: 批量博文

This commit is contained in:
杭城小刘
2020-02-25 17:46:51 +08:00
parent 8e5d2c9e7f
commit 6e99436a9e
373 changed files with 18071 additions and 1116 deletions

148
Chapter7 - Geek Talk/7.1.md Normal file
View File

@@ -0,0 +1,148 @@
# 命令行文件查找
> 在日常中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
```