Linxu学习——第4章 文件搜索命令

4-1 Linux中文件搜索命令locate

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

locate命令所搜索的后台数据库为/var/lib/mlocate

updatedb:更新数据库

locate找不到新建的文件。locate不是直接从系统中去搜索,而是从保存locate的数据库/var/lib/mlocate中搜索,不需要遍历整个系统。mlocate不是实时更新的(每天更新一次),新建的文件数据库没有更新,所以找不到。可以使用updatedb更新数据库。

 

Linux版本不同,locate数据库的名称可能不同。

优点:速度快;缺点:只可以按照文件名搜索。

但在/tmp/下创建同一个文件,updatedb后locate只能搜索到root下的文件。

 

locate按照/etc/updatedb.conf配置文件搜索,whereis和which也遵守该文件的筛选规则。

PRUNE_BIND_MOUNTS = "yes"说明其下面的搜索规则生效。

4-2 Linux中命令搜索命令whereis与which

(1)whereis

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

格式:whereis 命令名

选项:

-b:只查找可执行文件

-m:只查找帮助文件

只能搜索系统命令,不能搜索自己创建的普通文件。可以搜索到命令的帮助文档位置。

whoami:显示登录名

whatis:显示手册部分的页眉行

(2)which

用于搜索命令所在路径及别名

格式:which 文件名

 

ls --color-auto:ls支持颜色显示,颜色显示方式为自动显示。

不是所有命令都有别名,不是所有命里都能找到位置。

cd命令是Linux shell的内置命令,不需要有独立的执行文件,所以找不到,即whereis和which只能找到外部安装的命令。

在Linux中执行命令要用绝对路径,但这样使用不方便。Linux开发了$PATH环境变量。

环境变量:定义用户操作环境的变量。

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

用“:”分隔不同的路径。

当执行某一个命令时会到$PATH指定的路径中搜索执行文件。如果没有搜索到则报错。

Windows在cmd中执行命令也是根据PATH中配置的目录搜索命令所在位置。

4-3 Linux中文件搜索命令find 

用于搜索文件位置

格式:find [搜索范围] [搜索条件]

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

find是在系统当中搜索符合条件的文件名。

find搜索的内容是完全匹配,模糊查询需要使用通配符。

Linux中的通配符:

* 匹配任意内容

? 匹配任意一个字符

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

“*”表示搜索目录下所有文件,包括隐藏文件。

-iname:文件名不区分大小写

-user:根据文件所有者进行搜索

-nouser:查找没有所有者的文件

Linux中所有的文件都要有所有者,如果没有所有者的文件是垃圾文件。

特殊情况:文件由内核产生,内核直接调用不经过系统目录,它产生的文件有可能没有所有者,/proc和/sys是内存的挂载点,内核有可能在这两个目录进行交互,如果在这两个目录中发现没有所有者的文件应该是正常的;外来文件,例如文件由Windows建立拷贝到Linux中,Windows忽略所有者的概念(不是没有),有可能在Linux中没有所有者。除此之外的Linux中的文件都应该有所有者。

-atime/ctime/mtime n:根据时间查找文件

atime:访问文件的时间;ctime:改变文件属性的时间;mtime:修改文件内容的时间,单位为天

-n:n天内修改的文件;n:n天当天修改的文件;+n:n天前修改的文件

查找10天前修改的文件:

按照分钟查找则为:-amin/cmin/mmin n

-size n:根据文件大小搜索文件

-nk:小于nKB的文件;nk:等于nKB的文件;+nk:大于nKB的文件;

查找文件大小是25KB的文件:

按M大小查找:

注意大小写。默认字节为数据块,有的不是分区的数据块,而是硬盘扇区的数据块。

按照字节大小查找:find /root –size 25

根据i节点查找:

ls -i:查询i节点

多条件查询:

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

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

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

对搜索结果执行操作:-exec/-ok 命令{}\;

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

只有能够处理前面查询结果的命令才能放到-exec后面:

4-4 Linux中字符串搜索命令grep

在文件中搜索符合条件的字符串

格式:grep [选项] 字符串 文件名

选项:

-i:忽略大小写

-v:排除指定字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值