目录
1.普通查询
2.按照文件大小查找
3.忽略文件字母大小写查询
4.根据修改时间查找
5. 取反 !
6.根据用户查询
7.对查找出来的内容进行操作
1.普通查询
find + 路径 -name "文件名"
如查看 etc 目录下的passwd 的文件
find /etc -name "passwd"
可以对查找进行文件和深度进行限制
find /etc -maxdepth 1 -type f -name "pa*" 命令 目录 查找深度 类型 文件名包含
# -type 文件类型:f 表示文件,不指定时,文件和目录都进行查找
# -maxdepth 查找深度:目录层级的意思,不指定时,按最大深度进行查找
# “pa*”: * 表示匹配pa 开头的内容,*号也可以写在开头
2.按照文件大小查找
单位kMG,k要小写,MG要大写,不带单位就按B单位进行查询
find 目录 -type f -size 文件大小(使用+是大于,使用-是小于)
1)例:查找大于50M的文件
从查询结果中来看,出现一段
find: ‘/proc/1626/task/1626/fdinfo/6’: 没有那个文件或目录
find: ‘/proc/1626/fdinfo/5’: 没有那个文件或目录
因为 proc 是进程目录,有些进程运行起来之后能看到文件的信息,程序运行结束之后,进程文件也随之消失所以看到proc的报错很正常,并且 proc的权限很高,不是一般人可以访问的,所以也经常会报权限不够等错误信息,所以以后看到proc的报错直接忽略即可。
2)查找小于10k 的文件
find /root -type f -size -10k路径 文件类型 小于10k
3)查找大于50M同时小于100M的文件
find / -type f -size +50M -and -size +100M
3.忽略文件字母大小写查询
find /root -maxdepth 1 -iname "a*"路径 i是ignore的简写,忽略的意思
4.根据修改时间查找
可以使用stat 对文件属性进行查看
stat 文件名
时间参数
按天算 按分钟算
atime amin #最近访问时间
mtime mmin #文件内容最后一次修改时间
ctime cmin #上次更改文件数据的时间,例如其所有权、位置、文件类型和权限设置
1)时间单位为天
find /root -type f -mtime -1路径 天 “-1 为一天之内,+1为一天以前”
2)时间单位为分钟
find /root -type f -mmin -40"-是之内,+是之前”
3)查找1天之前,10天之内修改过的文件
find /root -type f -mtime +1 and -mtime -10
5. 取反 !
1) 在文件名命令前加 !
例 :寻找以 .txt 结尾的文件
find /root -type f -name "*.txt"
寻找不是以.txt 结尾的文件
find /root -type f ! -name "*.txt"
2)如果没有指定文件,取反就成了找文件夹了
在-type 前加 !
find /root ! -type f
#找root目录下的非文件,即文件夹
6.根据用户查询
根据用户来查找文件
find / -user 用户名
根据用户组来查找
find / -group 用户名
7.对查找出来的内容进行操作
find /root -type f -name "a.txt" -exec cat {} \;
对查找到的文件进行删除
find /root -type f -name "A.txt" -exec rm -f {} \;
其他操作也一样