1. 程式人生 > >Linux練習題-文本管理工具及正則表達式

Linux練習題-文本管理工具及正則表達式

目錄名 地址 ini 登錄 images netstat last 命令 tst

1、找出ifconfig “網卡名” 命令結果中本機的IPv4地址

方法1:ifconfig ens33 | grep -w "inet" | tr -s ' ' : | cut -d: f3

方法2:ifconfig ens33 | grep -o '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}' | head -n1或者ifconfig ens33 | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}'

技術分享圖片


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

df | grep '/dev/sd' |grep -oE '[0-9]{1,3}%' |sort -nr |head -n1

技術分享圖片


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

cat /etc/passwd |sort -rnt: -k3 |head -n1

技術分享圖片


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

stat /tmp | grep -o 'Access: (.*)' | grep -oE '[0-9]{4}'

圖中又嘗試了查看/etc和/root目錄權限

技術分享圖片


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

本題中有一個工具可以查詢連接本機的ip連接數,裏面可以用ip地址作為關鍵詞進行查找排序,因本人暫時未有此工具,因此用last指令進行做題

last | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | uniq -c | sort -rn

技術分享圖片

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

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

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

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

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

11、找出“netstat -tan”命令結果中以LISTEN後跟任意多個空白字符結尾的行

12、顯示CentOS7上所有系統用戶的用戶名和UID

13、添加用戶bash、testbash、basher、sh、nologin(其shell為/sbin/nologin),找出/etc/passwd用戶名和shell同名的行

14、利用df和grep,取出磁盤各分區利用率,並從大到小排序

15、顯示三個用戶root、mage、wang的UID和默認shell

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

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

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

19、統計last命令中以root登錄的每個主機IP地址登錄次數

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

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

22、將此字符串:welcome to magedu linux 中的每個字符去重並排序,重復次數多的排到前面

23、表示×××號,QQ號,郵箱,手機號


Linux練習題-文本管理工具及正則表達式