首页 > 代码库 > day 2 命令搜索命令 扩展.md

day 2 命令搜索命令 扩展.md

文件搜索命令locate

locate/slocate命令

文件查找和比较

locate命令和slocate命令都用来查找文件或目录。

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

1、locate 文件名

在后台数据库中按文件名搜素,搜索速度更快。

2、/var/lib/mlocat

#locate命令所搜索的后台数据库

3、updatedb

更新数据库


/etc/updatedb.conf 配置文件

1、PRUNE_BIND_MOUNTS="yes"

开启搜索限制

2、PEUNENAMES=

搜索时,不搜索文件系统

3、PRUNEPATHS=

搜索时,不搜索的路径


小结:

locate

优点:相比find更快。

缺点:只能进行文件名搜索,功能比较单一。


命令的搜索命令whereis与which

1、whereis 命令名

搜索命令所在路径及帮助文档所在位置

选项:

-b : 只查找可执行文件

-m : 只查找帮助文件

which 文件名(或命令名)

搜索命令所在路径及别名


PATH环境变量

PATH环境变量:定义的是系统搜索命令的路径

[root@oldboy ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin


文件搜索命令find

find 命令

find [搜索范围] [搜索条件]

搜索文件

find / -name install.log

避免大范围搜索,会非常耗费系统资源。

find是在系统当中搜索副歌条件的文件名。如果需要匹配,使用通配符配,通配符是完全匹配。(需要模糊查询就需要加通配符*)

linux中的通配符

* :匹配任意内容

?: 匹配任意一个字符

[]: 匹配任意一个中括号内的字符

find /root -iname install.log

不区分大小写搜索

find /root -user root

按照所有者搜索

find /root/ -nouser

查找没有所有者的文件(没有所有者的文件就是垃圾文件。但是内核的产生的文件有时也是没有所有者的,第二,外来数据。比如硬盘。除了这两种情况没有所有者。)

按照时间搜索

find /var/log/ -mtime +10

查找10天前修改的文件

-10:10天内修改的文件

10 :10天当天修改的文件

+10:10天前修改的文件

atime: 文件的访问时间

ctinme:改变文件属性

mitime:修改文件内容

按照文件大小搜索

find . -size 25k

查找文件大小是25kb的文件 .:表示当前目录

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

查找/etc目录下,大于20kb并且小于50kb的文件

-a:and 逻辑与 ,两个条件都满足

-o: or 逻辑或,两个条件满足一个即可

find /etc/ -size +20k -a -size -50k -exec ls -lh {} ;

查找/etc 目录下,大于20k并且小于50kb的文件,并显示详细信息。

-exec/-k命令{} ; 对搜索结果执行操作。

-25k :小于25kb的文件

25k :等于25kb的文件

+25k :大于25kb的文件

find . -inum 262522

查找i节点是262422的文件

ls -i

是查看文件i节点(i节点相当于文件身份证一样)

find /root/ -iname install.log

不区分大小写搜索文件名

find /root -user root

按照所有者搜索

find /root/ -nouser

查找没有所有者的文件(没有所有者的文件就是垃圾文件。但是内核的产生的文件有时也是没有所有者的,第二,外来数据。比如硬盘。除了这两种情况没有所有者。)


grep 字符串搜索命令

grep [选项] 字符串

find命令与grep命令的区别

find 命令:在系统当中搜索符合条件的文件名,

如果需要匹配,使用通配符匹配。通配符是完全匹配。

grep命令:在文件当中搜索符合条件对字符串

,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配。


day 2 命令搜索命令 扩展.md