一、find 搜索文件的命令格式
find [搜索范围] [匹配条件]
选项:
-name 根据名字查找
-size 根据文件大小查找, +,-:大于设置的大小,直接写大小是等于
-user 查找用户名的所有者的所有文件
-group 根据所属组查找相关文件
-type 根据文件类型查找(f文件,d目录,l软链接文件)
-inum 根据i节点查找
-amin 访问时间access
-cmin 文件属性change
-mmin 文件内容modify
二、find 搜索目录 -name 目标名字
find / -name file
/代表是全盘搜索,也可以指定目录搜索
三、我们这样搜索看到的都是file的完全匹配,区分大小写的
我们可以用-iname不区分大小写
find / -iname file
这样我们就可以多查找到大写的相关文件了
四、上面发现是文件名完全匹配,我们可以通过通配符来查找相关的文件,通配符的相关使用,可以查看Shell编程-通配符
五、我们先使用*通配符来匹配下包含file的相关文件
区分大小写的
find / -name *file*
不区分大小写的
find / -iname *file*
这样匹配的话文件就比较多了,越精准的匹配越有利于我们的查找
六、find 搜索目录 -size 文件大小
这里的文件大小我们常见的有点不一样,这个大小是数据库,一个数据库等于512个字节,也就是0.5KB,所有1KB等于2个数据块
下面我们查找下大于100MB的文件,应该实际是102400KB*2,所有搜索命令为
find / -size +204800
-号是小于
直接写数字就是等于
七、find 搜索目录 -user 用户名
这里是查找属于用户名为user1的文件
linux如何添加删除用户名,可以参考Linux 用户管理命令
find / -user user1
八、find 搜索目录 -type d
查找某个目录下的所有目录
find /tmp -type d
九、find 搜索目录 -cmin -时间(单位分钟)
查找etc下面1小时内被修改的文件,根目录下面太多了,指定一个目录
find /etc -cmin -60
十、当然find命令是可以多个选项一起添加查询的
-a 是前后条件都要满足
-o 是满足一个条件就好
例:文件查找,60分钟内被修改的文件,并且文件名字包含conf的,我们可以这样写
find /etc -cmin -60 -a -name *conf
这样我们可以清除的看到被过滤掉的文件