参考https://blog.csdn.net/allyli0022/article/details/77989664

一、find

根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等

基本格式:find path expression

1.按照文件名查找

  1、find / -name httpd.conf        #在根目录下查找httpd.conf文件,表示在整个硬盘下查找

  2、find /etc -name httpd.conf   #在/etc目录下文件httpd.conf

  3、find /etc -name '*srm*'      #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件

  4、find . -name 'srm*'      #表示当前目录下查找文件名开头是字符串‘srm’的文件

二、grep

根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找

基本格式:find  expression

1.主要参数

    [options]主要参数:
    -c:只输出匹配行的计数。
    -i:不区分大小写
    -h:查询多文件时不显示文件名。
    -l:查询多文件时只输出包含匹配字符的文件名。
    -n:显示匹配行及行号。
    -s:不显示不存在或无匹配文本的错误信息。
    -v:显示不包含匹配文本的所有行。

    pattern正则表达式主要参数:
    \: 忽略正则表达式中特殊字符的原有含义。

    ^:匹配正则表达式的开始行。

    ^#: 以#开头

    #$: 以#结尾

    ^$: 空行

    |: 或者

    $: 匹配正则表达式的结束行。

    \<:从匹配正则表达 式的行开始。

    \>:到匹配正则表达式的行结束。

    [ ]:单个字符,如[A]即A符合要求 。

    [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。

    .:所有的单个字符。

    * :有字符,长度可以为0。

例如:

  1、grep查找文件中匹配的内容

[root@bogon 桌面]# grep 'test' t*                 #显示所有以t开头的文件中包含 test的行
test1:111111111111
[root@bogon 桌面]# cat test.txt
test1:111111111111
tt:
xx: 111123444
a: 1
b: 2
c:11

  2、grep查找日志

[root@bogon httpd]# grep -c '503' /var/log/httpd/error_log           # 搜索日志,查询有多少条503错误

0
[root@bogon httpd]# grep -n 'error' /var/log/httpd/error_log           # 搜索含有 error 字样的行,并且输出行号

[root@bogon httpd]# grep -nv 'error' /var/log/httpd/error_log           #搜索没有 error 字样的行,并且输出行号

1:[Wed Dec 05 17:44:34.732664 2018] [suexec:notice] [pid 10494] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
2:AH00557: httpd: apr_sockaddr_info_get() failed for bogon

  3、搜索寻找安装的软件版本有几个

rpm -qa | grep -i python    # centos下查看安装的Python版本,不区分大小写,-q(查询)-a(所有)

注意:rpm,Redhat Package Manager,即为红帽公司为RHEL开发的专用包管理器,后来更改为RPM Package Manager,类似于GNU项目,使用递归命名,GNU's Not Unix.

  4、过滤配置文件的注释符号#

[root@bogon httpd]# grep -v '#' /etc/httpd/conf/httpd.conf                # -v:表示不包含匹配文本的所有行

  5、查询每个网卡和ip地址

[root@bogon httpd]# ifconfig | grep -n inet              # -n:显示匹配行及行号

  6、统计字符串出现的次数

[root@bogon 桌面]# cat test.txt
test1:111111111111
tt:
xx: 111123444
a: 1
b: 2
c:11
[root@bogon 桌面]# grep -c 'tt' test.txt                   # -c:只输出匹配行的计数
1

[root@bogon 桌面]# grep -n 'tt' test.txt                  # -n:显示匹配行及行号
2:tt:

  7、只列出文件名

[root@bogon zabbix]# grep -l 'PidFile' *.conf         # -l:查询多文件时只输出包含匹配字符的文件名
zabbix_agentd.conf
zabbix_server.conf

  8、精准全匹配搜索(-w)

[root@bogon zabbix]# grep -w 'PidFile' zabbix_agentd.conf
### Option: PidFile
# PidFile=/tmp/zabbix_agentd.pid
PidFile=/var/run/zabbix/zabbix_agentd.pid

  9、高亮显示搜索结果(--color)

[root@bogon zabbix]# grep --color apache /etc/passwd
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

三、which

查看可执行文件的位置,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

四、whereis

查看可执行文件的位置及相关文件,

只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
whereis命令会查找一个记录系统内文件信息的数据库文件,所以速度会很快。缺点是数据库文件并不是实时更新,默认情况一星期更新一次,因此如果最近删除的文件或者创建的文件是有可能错误的显示的。为了防止这种情况,可以手动的强制更新数据库文件。

五、locate

配合数据库缓存,快速查看文件位置。可以快速的找到文件的位置,因为locate查找的是数据库的文件来确定文件的位置,而并不是深入各个文件系统查找。一般情况下,数据库文件通过corntab自动更新,通常每天更新一次。

centos7如何查找文件?的更多相关文章

  1. Centos7 中查找文件、目录、内容

    1.查找文件 find / -name ‘filename’ 2.查找目录 find / -name ‘path’ -type d 3.查找内容 find . | xargs grep -ri ‘co ...

  2. [转帖]Linux查找文件6个高效工具

    Linux查找文件6个高效工具 https://www.linuxrumen.com/rmxx/176.html 需要实操 -inname -type 等等. 1. 前言 我们使用Linux过程中,经 ...

  3. locate 最快的查找文件的命令 NB

    我见过最NB的查找文件最快的命令 [root@NB data]# locate teamviewer. /data/Software/teamviewer.i686.rpm /home/ok/.loc ...

  4. Linux如何搜索查找文件里面内容

    在Linux系统当中,如何搜.索查找文件里面的内容呢? 这个应该是系统维护.管理当中遇到最常见的需求.那么下面介绍,总结一下如何搜索.查找文件当中的内容. 搜索.查找文件当中的内容,一般最常用的是gr ...

  5. Linux下查找文件:which、whereis、locate、find 命令的区别

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.which       查看可执行文件的位置,通过环境变量查whereis    查看文件的位置,通过数据库查,每 ...

  6. linux 根据文件大小查找文件

    inux下的find命令用来查找文件,通过man find就知道它是无所不能的.所以按照文件大小来查找文件就不在话下.从man find搜索size,可以看到如下信息: -size n[cwbkMG] ...

  7. Linux 利用 locate 和 find 查找文件

    Linux 利用 locate 和 find 查找文件 命令 locate 用于快速查找文件.文件夹.此命令并没有在磁盘上查找所有文件,而是在预先建立的数据库里进行搜索.可以使用 updatedb 命 ...

  8. Linux 查找文件

    find 查找目录 -name "文件名"find / -name "php.ini"locate 文件名locate php.ini 一:locate命令 l ...

  9. 53-whereis 查找文件

    查找文件 whereis [options] file 参数 file 是whereis需要查找的文件,这些文件属于原始代码,二进制文件或是帮助文件 选项 -b               只查找二进 ...

随机推荐

  1. dilated convolutions:扩张卷积

    最近在阅读<Context Encoding for Semantic Segmentation>中看到应用了dilated convolutions. 扩张卷积与普通的卷积相比,除了卷积 ...

  2. python中模块包的离线下载教程

    1.简介 当我们进行Python项目的迁移时(例如迁移到另外一台服务器上),如果该服务器要求离线安装, 往往需要我们将项目中的所需模块包进行离线操作. 2.教程 2.1 首先安装pip2pi模块,它可 ...

  3. 微信支付---H5支付

    这里说的H5支付是指在微信外的浏览器打开H5商家的支付,切勿与公众号微信内支付混淆, 1.H5支付的开通流程 登陆微信商户平台页面:https://pay.weixin.qq.com/wiki/doc ...

  4. jdk安装环境变量配置

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  5. node有哪些坑?

    const server = http.createServer((req, res) => {} const server = http.createServer((res, req) =&g ...

  6. day33-python阶段性复习七

    rc脚本练习 #!/usr/bin/env python #coding:utf8 import sys import os from subprocess import Popen, PIPE cl ...

  7. VSTO:使用C#开发Excel、Word【13】

    应用程序对象的操作本章将介绍从Application对象开始的Excel对象模型中的一些主要对象. Excel对象模型中的主要对象有许多方法和属性,完全描述这些对象超出了本书的范围.相反,本章重点介绍 ...

  8. 模仿select下拉列表

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  9. python单例(重点)

    单例 目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式 设计模式 是 前人工作的总结和提炼,通常,被人们广泛流传的设计模式都是针对 某一特定问题的成熟的 ...

  10. Hadoop学习笔记05_HA

    ################# HA 即 High Available 高可用.# 其作用是为了减少主从结构的单点故障,而设置备用节点,既然学习了Hadoop生态圈,那么HA配置也是必须要掌握的. ...