美文网首页linuxLinux
Linux文件搜索命令

Linux文件搜索命令

作者: 若兮缘 | 来源:发表于2019-01-28 21:03 被阅读387次

内容概要

locate

locate命令优点是搜索速度更快,耗费系统资源更少,缺点是只能按文件名搜索
locate命令所搜索的后台数据库:/var/lib/mlocate

示例:

/etc/updatedb.conf配置文件

为什么locate命令不会搜索/tmp目录,正是因为有这个配置文件。
对于locatewhereiswhich命令,其查找都会遵循updatedb.conf文件的配置规则,该文件配置项说明如下。

whereis

搜索命令所在路径及帮助文档所在位置,只能搜索命令
注意:某些命令比如 cd 命令是找不到可执行文件的,因为是shell自带的命令
语法:whereis [选项] 命令名
选项:-b: 只查找可执行文件; -m: 只查找帮助文件

which

搜索命令所在路径及别名定义(有则显示)
语法:which 命令名

find

用于在指定目录下搜索符合条件的文件,如果需要模糊查询,使用通配符匹配,通配符是完全匹配。
find命令非常强大,也相对比较耗费系统资源,所以应该尽量避免大范围的搜索,比如直接搜索根目录:find / ...
语法:find 路径 [选项] [搜索内容]

linux中的通配符

示例:使用通配符必须使用双引号包裹搜索内容

常用选项
其他选项
命令示例
# 查找root目录下名称为install.log的文件
find /root -name install.log
# 同上,不区分大小写
find /root -iname install.log
# 查找root目录下所有者为root的文件
find /root -user root
# 查找没有所有者的文件
find /root -nouser
# 查找空文件
find /root -empty
# 查找10天前修改的文件
find /var/log/ -mtime +10
# 查找文件大小是25KB的文件(查询mb请使用M),点代表当前目录
find . -size 25k
# 查找i节点是262422的文件
find . -inum 262422
# 查找大于20KB并且小于50KB的文件
find /etc -size +20k -a -size -50k
# 查找大于20KB并且小于50KB的文件,并显示详细信息
find /etc -size +20k -a -size -50k -exec ls -lh {} \;
# 查找大于20KB并且小于50KB的文件,并删除这些文件
find /etc/ -size +20k -a -size -25k -exec rm -rf {} \;
补充说明

find /root -nouser 可以查找没有所有者的文件,一般是垃圾文件,可以删除。以下两种情况例外

  1. 内核文件:如果这个文件是由内核产生的,内核是直接调用不经过系统用户。内存目录proc和sys产生的文件也可能没有所有者。
  2. 外来文件:比如数据是在Windows下建立,拷到U盘,然后插入Linux中,这个文件就可能不会有所有者。

grep

在指定文件当中匹配符合条件的字符串
语法:grep [选项] 字符串 文件名
选项:-i: 忽略大小写; -v: 排除指定字符串; -n: 显示匹配的行号

find与grep区别

find命令:在系统当中搜索符合条件的文件名,如果需要匹配使用通配符匹配,通配符是完全匹配
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配使用正则表达式进行匹配,正则表达式是包含匹配

与管道符结合使用

grep命令除了搜索文件内容以外,通常还会与管道符 | 结合使用来过滤一些命令的输出结果。
例如当我们启动了一个软件或者服务,假设是nginx,我们只想查询nginx相关的进程,使用命令 ps -ef | grep nginx 即可。

相关文章

  • Linux达人养成计划 I--学习笔记

    本篇涉及的知识点 Linux简介Linux安装Linux命令基本格式及文件处理命令Linux 文件搜索命令Linx...

  • php的学习路程

    一.Linux方面 Linux常用命令 1. 文件处理命令 2. 权限管理命令 3. 帮助命令 4. 文件搜索命令...

  • 碎碎念 b

    Linux中的搜索命令 文件搜索命令locate 命令搜索命令 忘记是啥了 find命令,其中find命令有好多后...

  • linux安装gitlab

    注意:linux命令1、全局搜索文件find / -name (文件名)2、显示输入过的命令history3、搜索...

  • 记录日常工作中常用的一些Linux命令,以后用的可以速查

    Linux常用命令收集 文件和目录 操作命令 文件搜索 命令 文件权限 操作命令 查看文件内容 命令 文本处理 命...

  • Linux命令(文件搜索)

    文件搜索命令 locate 文件名 在后台数据库中按照文件名进行搜索,搜索速度较快数据库路径:/var/lib/m...

  • 基础篇

    Linux学习 一、find命令 1、搜索文件的命令:which、whereis、locate、find a、wh...

  • Linux 搜索查找文件

    Linux 搜索查找文件 locate 命令 Search for entries in a mlocate da...

  • linux中查找文件

    使用linux系统难免会忘记文件所在的位置,可以使用以下命令对系统中的文件进行搜索。搜索文件的命令为”find“;...

  • Linux搜索命令find和grep使用总结

    前言 find和grep是Linux最基本的搜索命令,find用于搜索文件,grep用于搜索文件内容,熟练掌握其用...

网友评论

    本文标题:Linux文件搜索命令

    本文链接:https://www.haomeiwen.com/subject/pqezjqtx.html