操作方法
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 这样我们可以清除的看到被过滤掉的文件