Linux常用命令集(find指令篇)
Linux常用命令集(find指令篇)
如下为笔者总结出在linux
中最常用的find
指令集
🌟希望能够帮助正在Linux路上奋斗的你🌟
5. find(find)
在指定目录及其子目录中根据不同条件搜索文件
find -name "*.py"
指令介绍 | 完整指令 | |||
---|---|---|---|---|
find | (可选)参数 | 功能(限制作用域) | 示例 | |
-name | 匹配文件名 | find -name "*.py" | ||
-size | 匹配文件大小 | find ./ -size 3M | ||
-type | 匹配文件类型 | find . -type f | ||
-mtime | 匹配文件访问时间 | find -mtime -3 | ||
-atime | 匹配文件修改时间 | find -atime -3 | ||
-ctime | 匹配文件状态修改时间 | find -ctime -3 | ||
-exec | 对匹配到文件执行指定命令 | find . -type f -name "*.py" -exec chmod 755 '{}' + | ||
在标准输出中打印出每个匹配到的文件路径 | find . -type f -name "*.py" -print |
注释:
1. 路径选择
如下给出几种限定文件名作用域的find命令
find -name "*.py"
find . -name "*.py"
find ../ -name "*.py"
find ./[directory] -name "*.py"
上述命令限定了find命令对于文件路径的作用域,若不选择路径,则默认从当前路径下查找,其中
.
、../
、./[directory]
均为路径作用域
2. -size
选项限制文件大小
对于文件大小的搜索,一般限定为查找大于或小于特定值的文件,需要使用特殊符号-
和+
来限定:
find -size 3M
find -size -3M
find -size +3M
find -size +3M -size -6M
•
空
:不加符号代表精确匹配如3M
•-
:添加-
符号代表仅搜索小于特定值文件如-3M
•+
:添加+
符号代表仅搜索大于特定值文件如+3M
•+-联用
:连续两次调用-size
选项限制在一定大小区间内搜索文件如:find -size +3M -size -6M
以Kb为单位文件使用K结尾,使用Mb为单位文件使用M为结尾
3. -type
选项限制文件类型
当需要限定查找的类型例如:查找文件目录或是查找文件(或多类型查找)时,通过设置-type
选项可达到自己的需求
find . -type f
find . -type d
find . -type l
find / -type b
其参数包括:
-type f
: 查找普通文件(regular file)-type d
: 查找目录(directory)-type l
: 查找目录(symbolic link)-type b
: 查找块设备文件(block special file)-type c
: 查找字符设备文件(character special file)-type p
: 查找命名管道(named pipe,也称为 FIFO)
4. -mtime
/-atime
/-ctime
用于查找时间限制的文件
find -mtime -3
#表示访问三天内修改的所有文件
find -ctime -3
#表示查找三天内创建的所有文件
find -atime -3
#表示访问三天内访问过的所有文件
find . -type f -mtime -3 -size -3M
#整合调用,查找三天内修改过的小于3m的文件(非文件夹)
5. -exec
参数调用其他命令作用于搜索到结果
find . -type f -name "*.py" -exec chmod 755 '{}' +
#通过占位符来引用find 命令查找到的文件名,使用 \; 或 + 来表示命令的结束