1. 程式人生 > >顯示行號的6種方法、chkconfig、tar、awk、cut過濾字符串、ps配合wc查看過濾進程

顯示行號的6種方法、chkconfig、tar、awk、cut過濾字符串、ps配合wc查看過濾進程

linux 運維 awk sed




Day10

Georgekai-習慣:操作前備份,操作後檢查

第1章 第二波剩余命令:顯示行號的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 過濾出文件中"oldboy""976060283"字符串?

1.5.1 sed過濾

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

oldboy 976060283

註:用空格替換了I am

1.5.2 awk過濾

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

oldboy is 976060283

1. awk默認分隔符為空格

2. $1 表示第一列 $0 表示這一行所有 $NF 表示最後一列

3. awk逗號作為空格

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

5. '{print ","$3,$NF}' awk中想顯示,某個字符,放在雙引號中

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

oldboy,976060283

1.5.3 cut過濾

[root@georgekai oldboy]# sed 's#,# #g' oldboy.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 oldboy]# wc -l /etc/services

10774 /etc/services

註:1. -l 統計多少行

2. -c 統計多少個字符

3. -w 統計多少個單詞

1.7 ps查看sshd進程是否開啟

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

2

註:1. PID:process id 進程對應的進程號

2. CMD: 進程名

1.7.1 egrep過濾文件中的字符

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

註:1. egrep 是正則表達式的高級版,等於grep -E

2. | :在這裏表示或者的意思,如果是grep的話,只會把它當做一個字符


關註微信公眾號:linux運維菜鳥之旅


顯示行號的6種方法、chkconfig、tar、awk、cut過濾字符串、ps配合wc查看過濾進程