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小时内删除。
发表评论