您的位置:首页 > 运维架构 > Linux

linux初学之5——常用命令 之 文件搜索命令

2016-02-29 15:35 274 查看
1、仅搜索文件:locate

2、搜索命令:whereis whatis

3、搜索全部:find

4、搜索文本内容:grep

1、仅搜索文件:locate

①名片:

命令名称:locate

英文原意:locate

所在路径:/usr/bin/locate

执行权限:所有用户

功能描述:locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库

缺点:只能按照文件搜索

补充说明:locate是按照/etc/updatedb.conf的配置去查找

② 语法:locate 文件名

③示例
[root@localhost ~]# locate /etc/issue
locate: 无法执行 stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录
[root@localhost ~]# updatedb
[root@localhost ~]# locate /etc/issue
/etc/issue
/etc/issue.net
2、搜索命令:whereis which

(1) whereis:只能搜索系统命令,可以看到帮助文档的位置

-b 只看可执行文件所在位置;-m:只看帮助

类似命令: whoami: whatis:

(2)which:搜索命令的命令,如果有别名,可以查看别名

whereis 和which找不到cd:cd是shell自带的。

3、搜索全部:find

①名片:

命令名称:find

英文原意:find

所在路径:/usr/bin/find

执行权限:所有用户

功能描述:最常见和最强大的查找命令,你可以用它找到任何你想找的文件。

缺点:全文搜索、耗费资源

② 语法: find [指定目录] [指定条件] [指定动作]

(1)通配符 ? * []

find /root -iname abc :不区分大小写

find /root -user root:查找所有者

find /root -nouser :没有所有者(内核产生、外来文件(U盘等))

(2)按照时间:

find /var/log/ -mtime +10

-10 10天内修改文件

10 10天当天修改的文件

+10 10天前修改的文件

-atime:文件访问时间

-ctime:改变文件属性

-mtime:修改文件内容

(3)按照文件大小

find /root -size 25k 25M(兆要大写,k要小写,默认的单位是块(硬盘的扇区,每个扇区是512字节))

-25k 小于25k

25k 等于 25k

+25k 大于25k

(4)按照i节点搜索

find -inum 262421

(5)逻辑运算

find /etc -size +20k -a size -50k

-a : 逻辑与

-o:逻辑或

4、搜索文本内容:grep

语法: grep [选项] 字符串 文件名

选项:

-v:取反

-i:忽略大小写

5、find 与grep区别



find :搜索文件名:使用通配符(完全匹配)

grep:搜索文件内容:使用正则表达式(包含匹配)

find:系统中搜索文件名

grep:文件中搜索字符串
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: