Linux常用命令(2)-搜索

Linux常用命令-搜索

此为imooc课程上的文件搜索命令,也是在整个命令中极为重要的一个环节。

  1. 文件搜索命令locate
  2. 命令搜索命令whereis 与 which
  3. 文件搜索命令find
  4. 字符串搜索命令grep
  5. find命令与grep命令的区别

文件搜索命令locate

locate的搜索特点就是在后台数据库中按照文件名进行搜索,搜索速度很快
注:

  • /var/lib/mlocate
    其为locate命令所搜索的后台数据库,该数据库是每天进行一次更新的,因此刚刚写入的数据是无法被搜索出来的,如果我们需要将刚刚写入的数据被搜索出来,那么我们就要对该数据库进行强制更新。
    ~ updatedb

下面来看一看数据库的配置文件–/etc/updatedb.conf
这里写图片描述
其中第一行表示的是是否开启如下的搜索限制,第二行表示的是搜索时不搜索的文件系统,第三行表示的是搜索时不搜索的文件类型,最后一行表示的是搜索时不搜索的文件路径。

命令搜索命令whereis和which

whereis + 命令名
搜索命令所在的路径及帮助文档所在的位置,在中间加上“+b”时只查找可执行文件,在中间加上“-m”时只查找帮助文件。
其查找的命令不能够是系统自带的shell中的命令,例如cd命令由于是shell中自带的,因此无法通过whereis命令来查找到。

which 文件名
搜索命令所在路径及别名
which与whereis的最大区别是which可以可以显示某一命令的别名。
我们看普通文件是黑的,看目录文件是蓝的,看执行文件是绿的。

PAHT环境变量
PATH环境变量:定义的是系统搜索命令的路径
注:由于linux是严格区分大小写的,因此path环境变量在linux系统中没有被定义,而PATH环境变量则是定义的系统搜索命令的路径,它的确定则可以简化我们搜索命令的输出,就像windows中cmd命令可以无需打出完整的路径
我们可以使用

# echo $PATH 

来查看系统当前的环境变量

find搜索命令

文件搜索命令find的功能相当强大,但是在一个大的系统中需要进行参数的限制,不然消耗的资源太大。

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

注: 在使用find命令搜索时,需要避免大范围的搜索,这样会消耗系统资源,另外find是在系统中搜索符合条件的文件名,如果需要匹配,使用通配符进行匹配,通配符是完全匹配。

find / -name install.log

如果我们不想要进行完全查询,而是要进行模糊查询,那么就要使用linux中的通配符,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 文件访问时间
ctime 改变文件属性
mtime 修改文件内容

find . size 25k
//查找文件大小为25kb的文件,“.”表示当前目录

-25k 小于25KB的文件
25k 等于25KB的文件
+25K 大于25KB的文件
注意M和k(一个大写一个小写)

find -inum 262422
//查找i节点是262422的文件

以下是更为复杂的find命令的使用:

find /etc -size +20k -a(-o) -size -50k
//复合条件的命令查找
find /etc -size +20k -a -size -50k -exec ls -lh {} \;

查找/etc/目录下,大于20kb并且小于50kb的文件,并且显示详细信息
//-exec/-ok 命令 {} \; 对搜索结果进行的操作

grep命令

grep命令与find命令很相似,但是主要存在如下的差异:
grep [选项] 字符串 文件名
//在文件当中匹配符合条件的字符串

grep "size" annaconda-ks.cfg

find命令和grep命令的区别

  • find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
  • grep命令:在文件中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值