Linux 中 find 查找
目录
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 {} \;
?其他操作也一样
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!