Linux 根据名字搜索文件 find命令

我想搜索/root/soft/ 目录下的 名字叫 capacity-scheduler.xm 文件, 我可以这么写

sudo find /root/soft/ -name *capacity-scheduler.xm*

如果我想从根目录搜索,就直接

sudo find / -name *capacity-scheduler.xm*

详解介绍

案例 : 查找 Linux下的Tomcat目录,输入命令:

sudo find / -name *tomcat*

命令:find
语法:find [搜索范围路径] -name 【文件名称】(根据文件名查找)
find [搜索范围路径] -size [(±)文件大小] (根据文件大小查找,大于+ 小于-)
find [搜索范围路径] -user(文件的所有者)
find [时间查找] [以天为单位]
[以天为单位] 1 ctime、atime、mtime
[以分钟为单位] 2 cmin、amin、mmin
。。。。。
描述:查找任何文件或目录(所有)

如果搜索范围路径不加的话就是全局搜索

可以使用通配符

  • 代表任意字符
    ? 匹配指定字符,就是单个字符,

find [搜索范围路径] -size [±文件大小] (根据文件大小查找,大于+小于-)
注意,对于文件的大小是以数据块为单位。数据块大小是512bit
形如:如需查找100M的文件,那么就要知道100M为多少block?
100M = ? block
1M = 1024K
100M = 102400K
1K = 2 block
100M = 2*102400 block

find [搜索范围路径] -user(文件的所有者)
描述:查找隶属于某个用户的文件
Linux 根据名字搜索文件 find命令

find [时间查找] [以天为单位]
天: ctime、atime、mtime
分钟:cmin、amin、mmin
c表示:change 改变文件属性的意思(比如所有者、所属组、权限变更)。
a表示:access 表示被访问过的意思(比如被查看过等)。
m表示:modify 更改内容的意思。
在时间前面添加:-表示之内,+表示之外
Linux 根据名字搜索文件 find命令

find应用的连接符:
-a (and的意思,逻辑与)
-o(or的意思,逻辑或)

Linux 根据名字搜索文件 find命令
Linux 根据名字搜索文件 find命令

find查找:根据文件类型进行查找:
-type
其中:f表示二进制文件,l表示软连接文件 d表示目录

Linux 根据名字搜索文件 find命令

find 寻找 find [PATH] [option] [action] 与时间有关的参数:

-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;
-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;
-newer file : 列出比file还要新的文件名

上一篇:vim遇到的坑


下一篇:删除指定路径下,指定时间的文件