centos7通过⽂件名查⽂件
⼀、find
根据⽂件的属性进⾏查,如⽂件名,⽂件⼤⼩,所有者,所属组,是否为空,访问时间,修改时间等
基本格式:find path expression
1.按照⽂件名查
  1、find / -f        #在根⽬录下查f⽂件,表⽰在整个硬盘下查
  2、find /etc -f  #在/etc⽬录下⽂件f
  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 桌⾯]#
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错误
[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/f                # -v:表⽰不包含匹配⽂本的所有⾏
  5、查询每个⽹卡和ip地址
[root@bogon httpd]# ifconfig | grep -n inet              # -n:显⽰匹配⾏及⾏号
  6、统计字符串出现的次数
[root@bogon 桌⾯]#
test1:111111111111
tt:
xx: 111123444
a: 1
b: 2
c:11
[root@bogon 桌⾯]# grep -c 'tt'                   # -c:只输出匹配⾏的计数
1
[root@bogon 桌⾯]# grep -n 'tt'                   # -n:显⽰匹配⾏及⾏号
2:tt:
  7、只列出⽂件名
[root@bogon zabbix]# grep -l 'PidFile' *.conf        # -l:查询多⽂件时只输出包含匹配字符的⽂件名
f
f
  8、精准全匹配搜索(-w)
[root@bogon zabbix]# grep -w 'PidFile' f
### Option: PidFile
centos7没有vim命令# 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⾃动更新,通常每天更新⼀次。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。