博主很菜,也是正在学,是一些随堂笔记,只是想分享给大家…
##文件搜索命令find
-
1.find /etc -name init
[root@bogon /]# find /etc -name inittab (命令)
/etc/inittab (结果)在目录/etc中查找文件init
其中为通配符 因此可以使用进行模糊查询
linux中命令区分大小写
find /etc -iname init*
不区分大小写 ignore -
2.find / -size +204800
+n 大于 -n小于 n等于
-
我们这里面有三种指定的方法 +标示大于多少 -号标示小于多少 不写标示等于多少,但是基本上第三个命令很少用,因为不可能你精确的知道文件的大小还去查找…
-
所以一般情况下都是根据大于多大的文件,或者小于多大的文件进行搜索的 其中一定要注意后面的单位是数据块
1数据块 512字节 0.5K
1MB = 1024KB
也就是1K等于两个数据块,其中数据块也是linux存储的最小的数据单位,所以说使用find -size命令的时候一定要进行数据的换算
如果是在区间中查找的可以在后面使用连接符,具体我也没开始学,可能后面回学习…
$find /etc -size +163840 -a -204800
在etc下查找大于80MB小于100MB的文件
-a 两个条件同时满足
-o 另个条件满足一个就行了
find -type 根据文件类型查找
f文件 d目录 l软连接文件(老师说后面会单独的讲.)
-inum 根据节点查找
如果知道更精确的文件名 比如说你只到名称为init后面有三个字母的文件名称那么可以直接使用
find /etc -name init???
这是第一个要求大家掌握的字符可以使用 -name严格区分大小写,-iname不区分大小写 可以使用*好来匹配任意字符,使用?来匹配单个字符
但是一定要记住一点就是不要在服务器使用高峰期的时候使用,搜索的范围越小越好,搜索的的条件越精准越好,找到的速度越快,消耗的资源越少
locate 文件搜索命令locate
命令名称:locate
命令所在路径:/usr/bin/locate
执行权限:所有用户
语法 locate 文件名
语法描述 :在文件资料库中查找文件
例如: locate inittab
locate和刚刚笔记上面的find有一些不同
这是网上写的 看的有点不太明白… 一、LOCATE和FIND相同点
都是用于在数据表文件中查询定位记录指针,即把记录指针定位在满足条件的记录上。特别强调:仅仅是定位记录指针。如要显示定位的记录内容,则需要用DISPLAY命令。
二、LOCATE和FIND的不同点 ① LOCATE:顺序查询定位,可以直接利用原数据表进行定位操作;
FIND命令:是索引查询定位,必须首先对原数据表按定位数据所在字段或表达式进行索引,建立相立引文件或打开相应的索引文件、索引标识的前提下才能进行定位操作。
② LOCATE和CONTINUE相配合可以连续查询定位多条记录, FIND只能查询定位单条记录。 ③
LOCATE:用条件表达式的形式来定位, FIND是用常量、变量或变量组成的表达式的形式来定位
总之和一个软件everything有点类似,他实际上的原理和他不是遍历整个分区,遍历整个硬盘,它是建立了一个文件资料库,这个文件资料库会定时的更新,它在找的时候并不是遍历整个硬盘
而是在资料库中去寻找