Linux基础---09Find文件查找
百分之八十的财富掌握在百分之二十的手里,这就是著名的二八法则。这里列出关键字表,希望大家复习的时候看到关键字,脑袋里就自动浮现出整句命令。
查询方式 | 主要参数 |
---|---|
文件名 | -name |
文件大小 | -size |
忽略大小写 | -iname |
按天 | -atime,-mtime,-ctime |
按分钟 | -amin,-mmin,-cmin |
取反 | ! |
用户 | -user |
用户组 | -group |
查找并处理 | -exec |
坚持日更,请持续关注…
一.根据文件名查找:
find /etc -maxdepth 1 -type f -name "p*" #p*表示以p字母开头的所有文件
二.根据文件大小查找:
- 四种单位:
k
+M
+G
+无单位(默认b)
- 三种符号:
+
-
-and
例1.在etc目录下查找大于100k的文件
find /etc -type f -size +100k
例 2.在root目录下查找小于100k的文件
find /root -type f -size -100k
例3.在opt目录下查找大于50M到100M的文件
find /opt -type f -size +50M -and -100M
三.忽略大小写查询
忽略大小写查询和普通查询差不多,区别是在-name前多了一个i,全拼是ignore,忽略的意思。Linux下是严格区分大小写的。
find /etc -maxdepth 1 -type f -iname "p*"
四.根据修改时间查找文件
时间有三种:最近访问时间(Access time) + 最近修改时间(Modify time) + 最近改动时间(Change time)
输入stat
+文件
即可查看文件的这三种时间
这三种时间构成了六种时间参数:atime
,mtime
,ctime
,amin
,mmin
,cmin
(time 是按天查找,min是按分钟查找)
例1:找到opt目录下一天内修改过的文件
find /opt -type f -mtime -1 # -1 表示一天之内,+1表示一天以前
例2:查找root目录下10分钟以内修改过的文件
find /root -type f -mmin -10 # -10 表示10min之内,+10表示10min以后
例3:查找etc目录下1天之前10天之内修改过的文件
find /etc -type f -mtime +1 -and -mtime -10
五.取反
取反符号 : !
例1.在root目录下查找不是.txt结尾的文件
find /root -type f ! -name "*.txt"
需要注意的是.txt
前有*
例2.在root目录下查找文件夹
find /root ! -type f
六.根据用户或用户组查找
例1.查找属于某用户的所有目录和文件
find / -user power #power是我创建的用户
例2:查找属于某用户组的所有目录和文件
find / -group wangwu #wangwu是我创建的用户组
七.查找文件并处理
命令格式:查找语句
+ -exec
处理手段
{} \;
{}
代表查找语句\
表示转义;
在Linux下表示命令连接符号(分隔符)\;
表示不要将这个分号作为shell指令的分隔符 ,它就是普通的分号,属于此命令的格式要求。
例1.查找etc目录下vm开头的文件并且直接删除它们
find /etc -name "vm*" -exec rm -rf {} \;
例2.将root目录下以a开头的文件复制到/tmp目录下
find /root -maxdepth 1 -type f -name "a*" -exec cp -a {} /tmp \;
输入命令后,本是空的目录下也有了以a开头的文件