Linux笔记-指令文件搜索which-whereis-find

which 查询指令的文件名:

which [-a] command

例:

$ which ls # 查询 ls 命令的完整文件

$ which -a ls # 查询所有PATH目录中能找到的指令

whereis 在系统特定目录中寻找文件文件名

whereis [-lbmsu] 文件或文档名

-l 列出whereis会去查询的几个主要目录

-b 只找binary格式的文件

-m 只找说明文件mamul下的文件

-s 只找sourcce来源文件

-u 搜寻不在上述三个项目中的其他文件

例:

$ whereis ls # 查找ls 的文件名

$ whereis -m passwd # 只查询 passwd 的说明文档

locate 文件数据库搜索(快,只能搜索文件名,包含匹配,某些目录会忽略)

locate [-ir] filename

-i 忽略大小写

-c 输出文档数量

-l 仅输出前几行

例:

$ locate -i README # 忽略大小写搜寻readme文件

$ locat -l5 readme # 精确搜寻readme 文件 ,只显示前5行

$ updatedb #更新 /var/lib/mlocate 数据库

$ yum install mlocate # 安装locate 命名

 

 

find 全硬盘搜索(慢,功能全,需完全匹配)

find [PATH] [option] [action]

-mtime n n天之前(1天内)被改动过的文档

-mtime +n 列出n天天(不含n天)改动过的文档

-mtime -n n天内(含n天)被改动过的文档

-newer file 列出比 file还要新的文件档名

例:

$ find / -mtime 0 # 24内小时改动过的文件

$ find /etc -newer /etc/passwd # 列出etc下 比passwd文件新的文件;

-user user1 #user1创建的文件

-group group1 #group1 组下创建的文件

-nouser #文件拥有者不存在/etc/passwd的文件;

-nogroup #文件所属群组不存在/etc/group的文件

例:

$ find /home -user root # home文件夹下 root账号创建的文件;

-name filename

-size [+-]SIZE -size +50k 大于50k的文件

-type TYPE 文件类型 d-目录 f-普通文件 l-链接档

例: 

$ find / -name *passwd* #搜索跟目录下文件名包含passwd的文件

$ find -size +2M #搜索文件大于2M的文件名

-a  and  逻辑与操作

-o  or    逻辑或操作

-exec 对搜索结果执行操作

 

例子:

$ find /etc/ -size +20k -a -size -50k # 查询etc 目录下 20k 到 50k的文件
$ find /etc/ -size +20k -a -size -50k   -exec ls -lh {} \;  # 查询etc符合条件的文件并对结果执行ls -lh 命令 (注意{}  \; 是标准写法,且 {}与\ 中间有个空格)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值