第二波剩余命令:显示行号的6种方法、chkconfigtarawkcut过滤字符串、ps配合wc查看过滤进程

1.1 打印配置文件nginx.conf内容的行号及内容,该如何做?

1.1.1 花括号的作用 {}

注:生成序列,连续输入显示到屏幕,包括数字和字母

1:[george@georgekai ~]$ echo {1..10}

1 2 3 4 5 6 7 8 9 10

例二:[george@georgekai ~]$ echo {01..10}

01 02 03 04 05 06 07 08 09 10

例三:[george@georgekai ~]$ echo stu{1..5}

stu1 stu2 stu3 stu4 stu5

例四:[george@georgekai ~]$ echo {a..z}

a b c d e f g h i j k l m n o p q r s t u v w x y z

 


1.1.2 显示行号的几种方法

1 echo输出序列内容并多行显示,保存到指定文件

注:xargs -n   多少列

[root@georgekai ~]# echo stu{1..5} |xargs -n3 > /data/nginx.conf

2cat -n查看文件并显示行号

[root@georgekai ~]# cat -n /data/nginx.conf

     1 stu1 stu2 stu3

     2 stu4 stu5

 

3vim 里面加set nu显示行号,set nonu取消显示行号

:set nu     :set nonu

 

4grep -n

注:1.  grep 中的 . 表示任意一个字符

 2.  -n  grep命令找到的内容显示行号

[root@georgekai ~]# grep -n "." /data/kai.txt

5awk显示行号

注:RN 表示显示行号,$0 表示这一行的内容

[root@georgekai ~]# awk '{print NR,$0}' /data/kai.txt

 

6sed显示行号

注:=  表示显示行号

[root@georgekai ~]# sed '=' /data/wa.txt |xargs -n2

 

1.2 装完系统后,希望让网络文件共享服务NFS(iptables),仅在3级别上开机自启动,怎么做?

1.2.1 关闭或开启某个运行级别开机自启的服务

[root@georgekai ~]# chkconfig --level 3 iptables off

注:也能同时指定多个运行级别,如345 ,同时指定345运行级别

1.3 linux系统中查看中文字符,出现乱码怎么解决?

1)查看系统字符集 echo $LANG

2)查看Xshell字符集

3)修改字符集

临时修改:export.UTF-8

永久修改:vim  /etc/sysconfig/i18n  LANG=en_US.UTF-8 放到最下面

1.4 tar 打包压缩

1.4.1 tar 创建压缩包


创建压缩包常见错误提示:

tar:Removing leading '/' fron hard link targets

不是错误,绝对路径====>相对路径,是为了安全,防止解压时候覆盖原来的文件。

解决方法:使用相对路径打包,先cd到文件路径中,在打包


[root@georgekai ~]# tar zcvf /tmp/la.tar.gz /etc/hosts

注:格式:tar zcvf 压缩包(框)  文件 文件 目录

参数:z === gzip   通过gzip进行压缩,使用tar后,一般以tar.gz结尾

  c === create 创建包

  v === verbose 显示执行过程

  f === file   指定的压缩包(归档)

1.4.2  tar 查看压缩包内容

[root@georgekai ~]# tar ztf /tmp/etc.tar.gz

: t === list 查看压缩包内容

1.4.3 tar 解压缩包

[root@georgekai ~]# tar zxvf /tmp/etc.tar.gz  -C /tmp/

: x === extract解压缩

默认解压到当前目录

-C === specify指定压缩位置

1.4.4 tar打包并排除掉/etc/service这个文件

[root@georgekai /]# tar zcvf /tmp/paichu.tar.gz etc --exclude=etc/services

注:--exclude=  指定要排除的文件

-X或--exclude-from=  被排除的文件名列表(将排除的文件写入)

[root@georgekai /]# tar ztf /tmp/paichu.tar.gz |grep "services"

注:查看一下是否排除成功

1.5 过滤出文件中"kai""976060283"字符串?

1.5.1 sed过滤

[root@georgekai kai]# sed 's#I am ##g' kai.txt |sed 's#,myqq is##g'

kai 976060283

注:用空格替换了I am

1.5.2 awk过滤

[root@georgekai kai]# awk -F "[, ]" '{print $3,$5,$6}' kai.txt

kai is 976060283

1. awk默认分隔符为空格

 2. $1 表示第一列  $0 表示这一行所有  $NF 表示最后一列

 3. awk逗号作为空格

 4. -F 指定分隔符,空格也是,[]里面任何一个字符都算分隔符

 5. '{print ","$3,$NF}' awk中想显示,某个字符,放在双引号中

[root@georgekai kai]# awk -F "[, ]" '{print $3","$NF}' kai.txt

kai,976060283  

 

1.5.3 cut过滤

[root@georgekai kai]# sed 's#,# #g' kai.txt|cut -d " " -f3,6

注:1. cut -d 指定分隔符,每次只能指定一个分隔符

2. -f 显示某一列,-f1 表示第1列,-f3,5 表示第3列和第5列,-f2-5 表示第2到第5列 

1.6 wc查看文件的行数

[root@georgekai kai]# wc -l /etc/services

10774 /etc/services

注:1. -l 统计多少行

2. -c 统计多少个字符

3. -w 统计多少个单词

 

1.7 ps查看sshd进程是否开启

[root@georgekai kai]# ps -ef |grep "/sshd"|wc -l

2

注:1. PID:process id 进程对应的进程号

2. CMD: 进程名

1.7.1 egrep过滤文件中的字符

 [root@georgekai kai]# egrep "1521|3306" /etc/services

注:1. egrep  是正则表达式的高级版,等于grep -E

2. | :在这里表示或者的意思,如果是grep的话,只会把它当做一个字符

 

小伙伴们可以关注我的微信公众号:linux运维菜鸟之旅,更新比51cto慢一些,不过要方便许多

qrcode_for_gh_5ecc48d3d14a_258.jpg

关注“中国电信天津网厅”公众号,首次绑定可免费领2G流量,为你的学习提供流量! 

qrcode_for_gh_d20dccd1c74b_258.jpg