Bootstrap

文件搜索命令

文件搜索命令locate

  • locate 文件名

在后代数据库中直接搜索文件名,搜索速度快

  • /var/lib/mlocate

后台文件数据库

  • updatedb

 查找这个数据库位置

强制命令更新数据库 

这搜索命令是直接在后台数据库中搜索,但是数据库一天更新一次,所以要使用updatedb这个命令

 

但是,如下图更新过数据库还是找不到

因为搜索是按照updatedb.conf这个配置文件搜索,下图所显示的都是不去搜索的,其中就包括tmp文件

搜索命令的命令

whereis     命令名          搜索命令所在的路径及帮助文档

-b:           只查找可执行文件

-m:         只查找帮助文件

这个命令只能搜索系统命令,不能搜索用户自己创建的

which   命令名

这个命令还可以查到所查命令的别名

find命令

  • find [搜索范围][搜索条件]                    搜索文件
  • find      / -name install.log    扩大搜索范围,会非常耗费系统资源。  find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配

 “/”表示在根目录下搜索所以会搜索的很慢,find查找的的是和你搜的一模一样

  • find /root -iname install.log          不区分大小写   (/root  root目录下)
  • find /root -user root                      按照所有者搜索
  • find /root -nouser                         查找没有所有者的文件

第三条命令是很有用的。在Linux中没有所有者的文件除了两种其他的都是垃圾文件。这两种分别是内核产生的文件和外来文件(比如u盘或光盘的文件)。垃圾文件应该手动清理。

内核文件:

  • find /var/log/ -mtime +10   查找十天前修改的文件(/var/log/ 日志目录)

-10          10天内修改的文件

10           10天当天修改的文件

+10         10天前修改的文件

atime      文件访问时间

ctime      改变文件属性

mtime     修改文件内容

 

  • find . size 25k       查找文件大小为25k的文件 (“.”这是当前目录)

搜索大小时kb是小写k,mb是大写M

-25k       小于25kb的文件

25k        等于25kb的文件

+25k      大于25kb的文件

  • find . inum 262422               查找文件i节点是262422的文件
  • find /etc -size +20k -a -size -50k            查找/etc目录下大于20kb小于50kb的文件

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

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

  • find /etc -size +20k -a -size -50k -exec ls -lh {}\ ;     查找/etc目录下,大于20kb并且小于50kb的文件,并显示详细信息。 -exec/-ok 命令 {}\;  对搜索结果执行操作

搜索字符串命令

  • grep [选项] 字符串 文件名                    在文件当中匹配符合条件的字符串

-i  忽略大小写

-v   排除指定字符串

搜索的是anaconda-ks.cfg这个文件内容。下面是搜索包含“size”的

Linux通配符

*                匹配任意内容                 

 

?              匹配任意一个字符     

【】           匹配任意一个中括号内的字符   

 

;