文件查找
linux 没有图形界面,需要通过find指令查找文件。
普通文件查找
普通查询
find /tmp -maxdepth 1 -type f -name "*.txt"-type:表示文件类型,f表示文件,不指定类型的话,文件和目录都会查找-maxdepth:表示查找深度,目录层级的意思,不指定则按照最大深度来找,就是会遍历目录下的所有文件和目录进行查找。- “*.txt”:表示匹配任意内容开头的文件,但是必须是以
.txt结尾的文件。
按照文件大小查找
单位k,M,G,k要小写,M 和G要大写,不带单位就按照B单位来查找
查找文件大小 小于
1M的文件。指令示例:
find /tmp -type f -size -1M查找文件大小大于
2M的文件find /tmp -type f -size +2M查找文件大小在
1M到2M之间的文件find /tmp -type f -size +1M -and -size -2M
忽略大小写查询
假设有两个文件名分别是:About.txt,about.txt。想要查询时不区分大小写,两个文件都要搜索到,可以使用以下示例指令。
find /tmp -type f -iname "a*.txt"-iname:i是ignore的简写,忽略的意思
根据时间查找文件
查询文件相关的时间信息
//指令 stat _fileName //例子 stat a.txt File: a.txt Size: 12 Blocks: 8 IO Block: 4096 regular file Device: 2ch/44d Inode: 94128 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1002/ Eddie) Gid: ( 1002/ Eddie) Access: 2024-12-18 23:01:48.970195981 +0800 # Access time Modify: 2024-12-18 23:01:44.692038712 +0800 # Modify time Change: 2024-12-18 23:01:44.692038712 +0800 # Change time Birth: -在文件查询指令中添加时间参数
时间参数:
atime,mtime,ctime,amin,mmin,cmin。(time是按照天数查找,min是按照分钟查找)。按照天数查找:
find /tmp -type -f -mtime -1-mtime -1:表示查询一天以内修改的文件,m表示时间类型是Modify time,time表示按天查找,-1表示一天以内,+1表示一天以前。时间单位为分钟:
find /tmp -type f -mmin -20表示20分钟内修改过的文件
查找一个区间时间内的文件
find /tmp -type f -mtime +1 -and -mtime -10
取反
!对查询取反。
找名称中不是.txt结尾的文件
find /root -type f ! -name "*.txt"找文件夹
find /root ! -type f
根据用户查找文件
查找某个用户的文件:
find /tmp -user _userName对找出的文件进行处理
比如说找到 用户为Eddie并且是.txt结尾的文件,然后显示它们的权限信息。
find /tmp -user Eddie -type f -name "*.txt" -exec ls -l {} \;-exec:表示要追加的指令{}:表示查询指令的搜索结果,这个大括号要记得写。\;对;进行转义
可以使用find -help查看更多功能。