当前位置: 首页 > news >正文

引航科技提供网站建设西安网站建设推广专家

引航科技提供网站建设,西安网站建设推广专家,北京网站建设排名,昆明网站建设推广服务上一章: Shell编程(二)_做测试的喵酱的博客-CSDN博客 一、ps命令 指令: ps作用: 主要是查看服务器的进程信息选项含义: -e:等价于 ‘-A’ ,表示列出全部的进程 -f:显示全部的列&am…

上一章:

Shell编程(二)_做测试的喵酱的博客-CSDN博客

一、ps命令

指令: ps
作用: 主要是查看服务器的进程信息
选项含义:
-e:等价于 ‘-A’ ,表示列出全部的进程
-f:显示全部的列(显示全字段) 


二、 grep (文本过滤)

grep主要用于过滤。对文本按行来过滤。如果某一行包含要搜索的关键字,则会把这一整行输出出来。

2.1 grep基础使用方法

查看grep 帮助文档 grep --help

[root@ecs-39233 chenshuai]# grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c

grep应用的两种形式

形式一:对一个文件/多个文件,进行搜索。

grep [OPTION]... PATTERN [FILE1,FILE2 ... ]

[OPTION] 可选项,可填写以下内容 

PATTERN 关键字,被搜索的关键字。从文件FILE1 FILE2 搜索包含关键字 PATTERN 的行。

 形式二:执行命令时,在命令结果中搜索数据

some command | grep [option] pattern

[OPTION] 可选项,可填写以下内容 

PATTERN 关键字,被搜索的关键字。可以有没有引号,可以单引号,可以双引号。

如果没有引号,PATTERN 关键字中不能有空格。 

单引号,PATTERN 关键字中的变量不能解析,搜索的什么就是什么

双引号,可以解析PATTERN 关键字中的变量。

将一个命令(command)的输出,通过管道符|传给后面的grep命令。

在第一个命令的输出结果中,搜索关键字pattern

选项作用
-i忽略大小写
-c只输出匹配行的数量
-n显示行号
-r递归搜索
-E支持拓展正则表达式
-W匹配整个单词
-I只列出匹配的文件名
-F不支持正则,按字符串字面意思进行匹配

例子1

搜索在当前Linux系统中(/etc/passwd),是否存在某一个用户。

是否存在root用户

grep root /etc/passwd
[root@ecs-39233 ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@ecs-39233 ~]# 

是否存在miao用户

[root@ecs-39233 ~]# grep miao /etc/passwd
[root@ecs-39233 ~]# 

例子2 

查看当前系统,java进程信息

ps -ef |grep java

查看tomcat进程信息

ps -ef |grep tomcat

例子3  忽略大小写 -i

忽略大小写 -i

grep 默认不忽略大小写。 grep -i 忽略大小写。

不忽略大小写

[root@ecs-39233 ~]# echo "Hello world" |grep hello
[root@ecs-39233 ~]# 

忽略大小写

[root@ecs-39233 ~]# echo "Hello world" |grep -i hello
Hello world

例子3  统计总数量 -c

统计总数量 -c

查看Linux用户文件。/etc/passwd

[root@ecs-39233 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

这种nologin结尾的用户,是没有登录权限的用户。

统计一下 /etc/passwd 中,有多少个用户没有登录权限。-c

[root@ecs-39233 ~]# grep -c "/sbin/nologin" /etc/passwd
16

例子4 搜索多个文件

1、搜索多个文件

在 test_while.sh test_read_n.sh 这两个文件中,搜索"/bin/bash" 字符串

[root@ecs-39233 ~]# grep "/bin/bash" test_while.sh test_read_n.sh
test_while.sh:#!/bin/bash
test_read_n.sh:#!/bin/bash

2、对目录进行过滤 -r

我想在/chenshuai 目下,对所有的文件进行搜索。搜索"/bin/bash" 字符串

grep -r "/bin/bash" /chenshuai
[root@ecs-39233 chenshuai]# grep -r "/bin/bash" /chenshuai
/chenshuai/study_shell.sh:#!/bin/bash
/chenshuai/until.sh:#!/bin/bash
/chenshuai/miao_test.sh:#!/bin/bash

3、过滤时,只打印文件名称。不打印命中的字符串 -l

grep -rl "/bin/bash" /chenshuai
/chenshuai/study_shell.sh
/chenshuai/until.sh
/chenshuai/miao_test.sh

例子5 过滤目标行的前后数据

显示目标行的后几行数据 -A

显示目标行的前几行数据-B

显示目标行的前后各几行数据 -C

查看grep 帮助文档

grep --help

查看grep帮助文档,中的-A 用法。("\-A" 转义)

grep --help | grep "\-A"
[root@ecs-39233 ~]# grep --help | grep "\-A"-A, --after-context=NUM   print NUM lines of trailing context

显示目标行的后几行数据(-A ,after)

查看-A 这一行,及后3行数据。

grep --help | grep -A3 "\-A"

 

查看- B这一行,及前4行的数据。

显示目标行的前后各几行数据 -C

查看目前行的前后各2行数据

grep --help|grep -C2 "\-C"

2.2 grep + 正则

2.2.1 基础正则

^ 以x开头$ 以x结尾.*[][^]

在文件中搜索,以"r"开头的字符串

grep '^r' /etc/passwd

2.2.2 扩展正则 grep -E 或者 egrep

扩展正则:(常用)

 {}()|+?

在 文件中,匹配手机号

grep -E '^1[3456789]\d{9}$' /etc/xxx.log
egrep '^1[3456789]\d{9}$' /etc/xxx.log

2.2.3  过滤多个关键字 

我想在文件中,搜索 文件中,包含-E -A -B 多个关键字的数据(这几个关键字是或的关系)

注意:

过滤多个关键字,需要使用正则中的管道符 | 表示或的关系

 正则中的管道符| ,属于扩展正则,需要使用grep -E 或者egrep

-E 需要转移 \-E

grep --help | egrep '\-E|\-A\-B'
grep --help | grep -E '\-E|\-A|\-B'

 2.3 grep 编写Shell 脚本

实现功能:

shell脚本,实现查看cpu 核数。

Linux知识小拓展:

使用top命令,查看linux信息。然后按1,顶部就会显示所有的cpu使用信息。

查看cpu的配置信息,

cat /proc/cpuinfo

里面,每一个核都有一个model name,所以统计cpu核数量,可以通过统计model name 文本数量实现。

grep -c "model name" /proc/cpuinfo


三、 sed (对文件进行增删改查处理)

作用:

sed流编辑器,对文件进行增删改查的处理。

我们日常对文件进行处理,使用vim命令。但是在shell脚本中,不能使用vim处理文本,vim是一个交互式的命令,我们可以使用sed命令。

处理文本方式:

按照行来处理文本,与grep相似。

两种形式:

方式一:对文件进行处理

sed [option] "pattern command" file

[option] 可选的扩展项目,如-n -f -r等

pattern 要搜索的关键词。pattern 为空的话,默认是对每一行进行处理。

cmond 对命中的这一行数据,做何种处理。(处理命令)

file 文件路径

sed打印时,默认会把原数据打印出来。

方式二: 对命令的输出结果做处理

some command | sed [option] "pattern command"

 将一个命令command的输出结果,传给sed处理。

sed 在这个结果中,寻找匹配行,然后对这一匹配行进行处理。

选项作用
-n只打印模式匹配的行
-f加载存放动作的文件
-r支持拓展正则
-i支持修改文件

3.1 打印文件

sed 'p' /etc/passwd

没有搜索词,默认对每一行都处理。

'p' 打印命令,print简写 。

[root@ecs-39233 ~]# sed 'p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

发现,passwd文件中,每一行数据,都打印了两遍。因为sed打印了一遍原数据,还打印了一遍命中数据,所以打印了两遍。

-n 只打印模式匹配的行。(只打印1行)

sed -n 'p' /etc/passwd
[root@ecs-39233 ~]# sed -n 'p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

3.2 匹配词pattern 的四种类型

3.2.1 使用行号过滤,pattern 为行号

方式一:对文件进行操作

sed -n "第几行 操作命令" 文件路径

pattern 为具体的行号。

如,打印第3行内容

sed -n '3 p' /etc/passwd
[root@ecs-39233 ~]# sed -n '3 p' /etc/passwd
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@ecs-39233 ~]# 

方式二 对一个命令的结果进行处理

cat /etc/passwd | sed -n '3 p'

对cat的运行结果,打印第3行的数据。 

[root@ecs-39233 ~]# cat /etc/passwd | sed -n '3 p'
daemon:x:2:2:daemon:/sbin:/sbin/nologin

 

对连续的行进行处理 'x,y command'

如,打印第4行到第8行的数据

sed -n '4,8 p' /etc/passwd
[root@ecs-39233 ~]# sed -n '4,8 p' /etc/passwd
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
[root@ecs-39233 ~]# 

3.2.2 使用正则过滤,pattern 为正则表达式

表达式:

sed -n '/正则表达式/ 操作命令' 文件路径 

举例,打印/etc/passwd 文件中,包含root的行

sed -n '/root/ p' /etc/passwd
[root@ecs-39233 ~]# sed -n '/root/ p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

对所有s开头的行,进行打印 /^s p/

sed -n '/^s/ p' /etc/passwd
[root@ecs-39233 ~]# sed -n '/^s/ p' /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

遇到/要使用转义

如,打印包含  /sbin/nologin 的行,其中/ 需要进行转义

sed -n -e '/\/sbin\/nologin/ p' /etc/passwd
[root@ecs-39233 ~]# sed -n -e '/\/sbin\/nologin/ p' /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

 -r 支持拓展正则

sed 只默认只支持基本正则,拓展正则需要加-r

举例:

打印包含2个o的行,o{2}

sed -n -r '/o{2}/ p' /etc/passwd

 

[root@ecs-39233 ~]# sed -n -r '/o{2}/ p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin

多个正则的使用,实现过滤以x行到y行的数据。

注意,这里的多个正则,不是或的关系,而是 x行到y行 的意思。

举例,我要过滤,以adm开头的行,到以mail开头行的数据

sed -n '/^adm/,/^mail/ p' /etc/passwd
[root@ecs-39233 ~]# sed -n '/^adm/,/^mail/ p' /etc/passwd
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

 

 

 

 

 

 

 


四、 awk


文章转载自:
http://dinncoignitron.bkqw.cn
http://dinncouniserial.bkqw.cn
http://dinncoperfectness.bkqw.cn
http://dinncobaltimore.bkqw.cn
http://dinncocolacobiosis.bkqw.cn
http://dinncoarugula.bkqw.cn
http://dinncoduppy.bkqw.cn
http://dinncoramayana.bkqw.cn
http://dinncoyachty.bkqw.cn
http://dinncosampler.bkqw.cn
http://dinncobaconianism.bkqw.cn
http://dinncocharge.bkqw.cn
http://dinncoluther.bkqw.cn
http://dinncobribability.bkqw.cn
http://dinnconascence.bkqw.cn
http://dinncotrabeated.bkqw.cn
http://dinncophytoclimatology.bkqw.cn
http://dinncohenotheism.bkqw.cn
http://dinncochoir.bkqw.cn
http://dinnconina.bkqw.cn
http://dinncoanglistics.bkqw.cn
http://dinncotemporize.bkqw.cn
http://dinncouteralgia.bkqw.cn
http://dinncoexegetic.bkqw.cn
http://dinncomyelogenic.bkqw.cn
http://dinncoparathyroidectomize.bkqw.cn
http://dinncologicize.bkqw.cn
http://dinncobunion.bkqw.cn
http://dinncodemonocracy.bkqw.cn
http://dinncopacificator.bkqw.cn
http://dinncoineffectively.bkqw.cn
http://dinncovictimization.bkqw.cn
http://dinncoconcessible.bkqw.cn
http://dinncozincaluminite.bkqw.cn
http://dinncotangleweed.bkqw.cn
http://dinncotollkeeper.bkqw.cn
http://dinncoloquacity.bkqw.cn
http://dinncocrosslet.bkqw.cn
http://dinncopsychoacoustic.bkqw.cn
http://dinncodepositor.bkqw.cn
http://dinncopalely.bkqw.cn
http://dinncomothball.bkqw.cn
http://dinncoetui.bkqw.cn
http://dinncotransaction.bkqw.cn
http://dinncocenozoic.bkqw.cn
http://dinncoampersand.bkqw.cn
http://dinncohamza.bkqw.cn
http://dinncoperiscope.bkqw.cn
http://dinncobur.bkqw.cn
http://dinncolanguid.bkqw.cn
http://dinncocalmbelt.bkqw.cn
http://dinncoconciliationism.bkqw.cn
http://dinncoismailian.bkqw.cn
http://dinncocardiodynia.bkqw.cn
http://dinncocarboxyl.bkqw.cn
http://dinncocarton.bkqw.cn
http://dinncolollop.bkqw.cn
http://dinncobagwash.bkqw.cn
http://dinncofreeform.bkqw.cn
http://dinncounchurch.bkqw.cn
http://dinncorationality.bkqw.cn
http://dinncosustainable.bkqw.cn
http://dinncoiced.bkqw.cn
http://dinncomudflow.bkqw.cn
http://dinncoaerotrain.bkqw.cn
http://dinncotannish.bkqw.cn
http://dinncowaist.bkqw.cn
http://dinncoekka.bkqw.cn
http://dinncotarragona.bkqw.cn
http://dinncorickets.bkqw.cn
http://dinncobrooklynese.bkqw.cn
http://dinncocorrasion.bkqw.cn
http://dinncohydrogenase.bkqw.cn
http://dinncotellurise.bkqw.cn
http://dinncositcom.bkqw.cn
http://dinncosalopian.bkqw.cn
http://dinncorajputana.bkqw.cn
http://dinnconeurohormonal.bkqw.cn
http://dinncoimpenetrability.bkqw.cn
http://dinncoprecedents.bkqw.cn
http://dinncobitartrate.bkqw.cn
http://dinncosphygmus.bkqw.cn
http://dinncodishevelment.bkqw.cn
http://dinncosemibold.bkqw.cn
http://dinncovaluer.bkqw.cn
http://dinncolindane.bkqw.cn
http://dinncowooingly.bkqw.cn
http://dinncosmasheroo.bkqw.cn
http://dinncojoltheaded.bkqw.cn
http://dinncothumbmark.bkqw.cn
http://dinncooleoresin.bkqw.cn
http://dinncosolitarily.bkqw.cn
http://dinncofantasia.bkqw.cn
http://dinncofixup.bkqw.cn
http://dinncofaultless.bkqw.cn
http://dinncotomography.bkqw.cn
http://dinncoroundworm.bkqw.cn
http://dinncomacrobian.bkqw.cn
http://dinncodecohere.bkqw.cn
http://dinncorurp.bkqw.cn
http://www.dinnco.com/news/150838.html

相关文章:

  • 掌网站开发的基本流程医院网站建设方案
  • 网站首页横版图怎么做百度公司电话
  • 长治做网站公司it培训班真的有用吗
  • 做网站的联系方式友谊平台
  • 政府网站建设提供商网站查询站长工具
  • 厂房建设招标网站查询网域名查询
  • 品牌网站建设开发价格自主建站
  • 安徽住房和城乡建设部网站首页网站收录查询入口
  • 遵义网站建设公司电话竞价托管优化公司
  • 网站建设的常见问题网络营销软文范例300字
  • 品牌网站建设内容框架网站优化公司大家好
  • 日照建站哪家好最近发生的新闻大事
  • 网页设计企业网站设计的功能企业网上的推广
  • 哈尔滨市网站建设公司优化推广网站排名
  • 如何增加新网站的百度收录关键词排名优化技巧
  • 建网站英文线上推广活动有哪些
  • 已经有了域名和服务器怎么做网站软件测试培训
  • 做网站分页杭州最专业的seo公司
  • 东莞效果好的营销型网站建设谷歌关键词查询工具
  • 哪家网络么司做网站好自动友链网
  • 山东省造价信息网官网百度网站优化软件
  • 个人网站设计的参考文献网站建设费用
  • 电脑web是什么意思seo编辑的工作内容
  • 我想学网站建设广告seo是什么意思
  • 建设网站平台的章程合肥seo按天收费
  • 网站优化总结网站制作策划书
  • 建设商务网站的理由宁波seo网络推广产品服务
  • wordpress 链接 跳转淘宝优化标题都是用什么软件
  • 公众号开发用什么工具seo描述是什么意思
  • 云服务器做网站视屏竞价推广思路