第三周(3):課堂練習與作業

課堂練習:

1、找出ifconfig命令結果中本機的所有IPv4地址

[root@centos6 ~]# ifconfig | tr -cs '[0-9].' '\n'|sort -ut. -k3n

127.0.0.1
10.1.255.255
10.1.255.76

2、查出分區空間使用率的最大百分比值

[root@centos6 ~]# df | tr -s ' ' ':' |cut -d : -f5|tr -d % |sort -rn |head -n1
22

3、查出用戶UID最大值的用戶名、UID及shell類型

[root@centos6 ~]# cat /etc/passwd |sort -t: -k3 -n|cut -d: -f1,3,7 |tail -1
nfsnobody:65534:/sbin/nologin

4、查出/tmp的權限,以數字方式顯示

[root@centos6 ~]# stat /tmp | cut -d: -f2|head -4|tail -1|tr -cd '0-9\n'
1777

5、統計當前連接本機的每個遠程主機IP的連接數,并按從大到小排序

[root@centos6 ~]# netstat -nt | tr -cs '[0-9].' '\n'|sort -ut. -k3nr
10.1.255.76
10.1.250.48

6、顯示/proc/meminfo文件中以大小s開頭的行;(要求:使用兩種方式)

[root@centos6 ~]# grep '^[S|s]' /proc/meminfo
[root@centos6 ~]# grep -i '^s' /proc/meminfo

7、顯示/etc/passwd文件中不以/bin/bash結尾的行

[root@centos6 ~]# grep -v "/bin/bash$" /etc/passwd

8、顯示用戶rpc默認的shell程序

[root@centos6 ~]# grep "^rpc\b" /etc/passwd | cut -d: -f7

9、找出/etc/passwd中的兩位或三位數

grep -o "[[:digit:]]\{2,3\}" /etc/passwd

10、顯示/etc/grub2.cfg文件中,至少以一個空白字符開頭的且后面存非空白字符的行

grep '^[[:space:]]\+[^[:space:]]' /etc/grub.conf   #centos6已"grub.conf"文件為參考

11、找出"netstat -tan"命令的結果中以'LISTEN'后跟0、1或多個空白字符結尾的行

[root@centos6 ~]# netstat -tan |grep 'LISTEN[[:space:]]*$'

12、添加用戶bash、testbash、basher以及nologin(其shell為/sbin/nologin),而后找出/etc/passwd文件中用戶名同shell名的行

[root@centos6 ~]# useradd bash
[root@centos6 ~]# useradd testbash
[root@centos6 ~]# useradd basher
[root@centos6 ~]# useradd -s /sbin/nologin nologin
[root@centos6 ~]# grep "^\([[:alnum:]]\+\>\).*\1$" /etc/passwd

13、顯示當前系統root、mage或wang用戶的UID和默認shell

[root@centos6 ~]# egrep '^(root|mage|wang)\b' /etc/passwd

14、找出/etc/rc.d/init.d/functions文件中行首為某單詞(包括下劃線)后面跟一個小括號的行

[root@centos6 ~]# egrep '^[[:alpha:]_]+\(\)' /etc/rc.d/init.d/functions

15、使用egrep取出/etc/rc.d/init.d/functions中其基名

[root@centos6 ~]# echo "/etc/rc.d/init.d/functions" | egrep -o "[^/]+/?$"

16、使用egrep取出上面路徑的目錄名

[root@centos6 ~]# echo "/etc/rc.d/init.d/functions" | egrep -o "^/.*/+\<"

17、統計以root身份登錄的每個遠程主機IP地址的登錄次數

[root@centos6 ~]# last | grep -E -o '^root\>.*([[:digit:]]\.){3}[[:digit:]]' | tr -s '' |cut -d ' ' -f3 |sort|uniq -c

18、利用擴展正則表達式分別表示0-9、10-99、100-199、200-249、250-255

[root@centos6 ~]# seq 0 255 |egrep '[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]' | tr -cs '0-9' '\t'

19、顯示ifconfig命令結果中所有IPv4地址  

ifconfig |grep -E -o  '(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])'

作業:

1、取本機ip地址

ifconfig |grep -E -o  '(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])' |head -1

2、取各分區利用率的數值

[root@centos6 ~]# df | tr -s ' ' '|' |cut -d '|' -f5

3、統計/etc/init.d/functions 文件中每個單詞出現的次數,并按頻率從高到低顯示

[root@centos6 ~]# cat /etc/init.d/functions | tr -cs '[:alpha:]' '\n' | sort | uniq -c | sort -nr

4、/etc/rc.d/init.d/functions或/etc/rc.d/init.d/functions/"  取目錄名

echo "/etc/rc.d/init.d/functions" | egrep -o '^/.*/\<'

5、正則表達式表示身份證號(以第二代身份證為參考)

blob.png

grep -E -o -i '[1-6][0-7][0-9]{2}[0-4][0-9]((1[89][0-9]{2})|(200[0-9]|201[0-5]))(((0[13578]|1[02])([0-2][0-9]|3[01]))|((0[469]|1[02])([0-2][0-9]|30))|02[012][0-9])[0-9]{3}[0-9x]'

6、正則表達式表示手機號

blob.png

[root@centos6 ~]# grep -E -o '1(3|4|5|7|8|9)[0-9]{9}'

7、正則表達式表示郵箱(已163郵箱為例)

blob.png

[root@centos6 ~]# grep -E -o '[[:alnum:]]([[:alnum:]]|[[:punct:]]){5,17}@163\.com'

8、正則表達式表示QQ號(數字登陸)

[root@centos6 ~]# grep -E -o '[1-9][0-9]{4,10}'

原創文章,作者:Aleen,如若轉載,請注明出處:http://www.www58058.com/30621

(0)
AleenAleen
上一篇 2016-08-08 20:10
下一篇 2016-08-08 20:22

相關推薦

  • linux內核及centos系統啟動流程

    Linux組成 Linux: kernel+rootfs(根文件系統) kernel功能: 進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能 rootfs:程序和glibc  庫:函數集合, function, 調用接口(頭文件負責描述)      過程調用:proce…

    Linux干貨 2016-09-10
  • GNU awk

    文本處理三工具:grep, sed, awk grep, egrep, fgrep:文本過濾工具;pattern sed: 行編輯器 模式空間、保持空間 awk:報告生成器,格式化文本輸出;  AWK: Aho, Weinberger, Kernighan –> New AWK, NAWK  GNU awk, gawk&…

    Linux干貨 2015-12-03
  • 第四周作業

    作業 1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@cloud ~]# cp -R /etc/skel /home/tuser1 && chmod -R…

    Linux干貨 2016-12-25
  • 談shell命令的神奇組合以及對腳本的影響

    shell命令是我們與機器交互的基本溝通翻譯官。我們要告訴計算機的很多事情都由它來翻譯,而shell的神奇之處就在于支持命令聯合使用,現在我就來講講基本的命令組合引用。1.管道應用:命令 | 命令  ,前面的命令的結果可以直接作為后面命令的輸出,省卻了一個變量做存儲。2.文本段落提??;我們可以用 組合命令 通常為 cat 某文件 | (head -…

    Linux干貨 2017-04-02
  • N21-北京-泥人-馬哥教育網絡班21期+第一周課程練習

    馬哥教育網絡班21期  第一周課程練習 一、計算機的組成 1、計算機主要由以下幾部分組成:運算器 控制器 存儲器(編址存儲單元)、 輸入、輸出設備   2、運算器負責運算:只能做二進制的數學、邏輯運算, 控制器:控制由哪得到數據,放到哪去,協調運算器、存儲器、輸入、輸出等設備 運算器、控制器整合到一起就是常說的中央處理器,也就是CPU。 …

    Linux干貨 2016-07-12
  • rsyslog日志系統

    一、前言  什么是日志?    日志就是歷史事件,按時間序列將發生的事件予以記錄;日志記錄信息記錄的是事件的發生時間以及事件內容  Linux下記錄日志的系統:    syslog:是CentOS 5.0系統上使用的日志系統,有兩類日志,分別是syslogd、klogd;    …

    Linux干貨 2015-06-15
欧美性久久久久