linux中搜索相关命令
linux中搜索命令有find、which、whereis、locate、rpm
一、find
1、根据文件名称查询
find /etc -name init 在/etc及其子目录下精确匹配名称为init的文件 find /etc -name *init 在/etc及其子目录下模糊匹配以init结束的文件 find /etc -name init* 在/etc及其子目录下模糊匹配以init开头的文件 find /etc -name *init* 在/etc及其子目录下模糊匹配含有init的文件 find /etc -name init??? 在/etc及其子目录下模糊匹配以init开头并且后面跟着3个字母的文件 find /tmp -iname init??? 查询时不区分大小写
2、根据文件大小查询
find / -size +204800 查找跟目录下大于100MB的文件 大于+,小于-,等于直接写数字 1个数据块=512b=0.5kb,100MB=100*1024kb=102400kb,1kb=2个数据块,102400kb=204800个数据块
3、根据文件所有者查询
find / -user zhangsan
查询跟目录下所有者是zhangsan的文件
根据所属组查询:-group
4、根据文件修改时间查询
find /etc -cmin -5 查询5分钟内修改过文件属性的文件和目录 find / -cmin -1 查询根路径下最近一分钟新增的文件 find / -ctime -1 查询根路径下最近一天新增的文件 -amin:访问时间(access) -cmin:文件属性(change) -mmin:文件内容(modify)
5、根据多个条件查询
find /etc -name *init* -a -type d
查询文件名包含init的路径(不是文件)
连接符号,a :and(并且),o:other(或者)
type 文件类型,d:路径,f:文件,l:连接
6、exec对查询结果执行命令
find /etc -name inittab -exec ls -l {} \; 在/etc下查找name是inittab的文件或路径,并且执行 ls -l 命令 find /etc -name init* -a -type f -exec ls -lt {} \; 在/etc下查询name以init开头,并且是文件,并查看详细属性 {} \;是固定写法,在/etc下查询name以init开头,并且是文件,并查看详细属性
二、which
查找命令
which useradd
which passwd
which cp
结果如:/usr/sbin/useradd
三、whereis
查找命令 whereis useradd whereis passwd whereis cp 结果如:useradd: /usr/sbin/useradd /usr/share/man/man8/useradd.8.gz 与which区别是会显示该命令的文档位置
四、locate
基于文件资料库的查找 安装:yum install mlocate 更新资料库:updatedb locate init 只要包含init都会查出来(不会查找/tmp路径下的文件) 假如新建了一个文件,刚开始查不到,因为没有维护到文件资料库,这时用命令updatedb更新文件资料库就能查到了 locate:区分大小写,locate -i:不区分大小写
五、rpm
rpm -ql nginx
查询某服务安装了哪些文件