馬哥教育網絡班20期+第5周課程練習

1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行;

[root@localhost ~]# grep '^[[:space:]]\+' /boot/grub/grub.conf

2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行;

[root@localhost ~]# grep '^#[[:space:]]\+.*\+' /etc/rc.d/rc.sysinit

3、打出netstat -tan命令執行結果中以‘LISTEN’,后或跟空白字符結尾的行;

[root@localhost ~]# netstat -tan |grep 'LISTEN[[:space:]]\+$'

4、添加用戶bash, testbash, basher, nologin (此一個用戶的shell為/sbin/nologin),而后找出當前系統上其用戶名和默認shell相同的用戶的信息;

[root@localhost log]# grep '^\([[:alnum:]]\+\>\).*\1$' /etc/passwd

5、顯示當前系統上root、fedora或user1用戶的默認shell;

[root@localhost log]# awk -F: '/^root|user1|fedora/{print $1,$7}' /etc/passwd
root /bin/bash
user1 /bin/bash

6、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello();

[root@localhost ~]# grep '\<.*\>()' /etc/rc.d/init.d/functions

7、使用echo命令輸出一個絕對路徑,使用grep取出其基名;

    擴展:取出其路徑名

[root@localhost ~]# echo "/etc/sysconfig/network-scripts/" |grep '[^/]\+/\?$' -o|cut -d/ -f1
[root@localhost home]# echo "/etc/sysconfig/network-scripts/" | sed -r 's@^(/.*/)[^/]+/?@\1@g'

8、找出ifconfig命令結果中的1-255之間數字;

[root@localhost ~]# ip addr show |egrep '[1-9][0-9]?|1[0-9][0-9]|2[0-5]{1,2}'  -o

9、挑戰題:寫一個模式,能匹配合理的IP地址;

[root@localhost ~]# ifconfig |grep '[1-9][0-9]\{0,3\}\.[0-9]\{0,3\}\.[0-9]\{0,3\}\.[0-9]\{1,4\}' -o
192.168.72.129
192.168.72.255
255.255.255.0
192.168.3.29
192.168.3.255
255.255.255.0
127.0.0.1
255.0.0.0

10、挑戰題:寫一個模式,能匹配出所有的郵件地址;

[root@localhost ~]# egrep '[[:alnum:]]+@[[:alnum:]]+\.[[:alpha:]]\+'

11、查找/var目錄下屬主為root,且屬組為mail的所有文件或目錄;

[root@localhost ~]# find /var/ -user root -group mail -ls
67150324    4 drwxrwxr-x   2 root     mail         4096 Jul  2 15:40 /var/spool/mail

12、查找當前系統上沒有屬主或屬組的文件;

     進一步:查找當前系統上沒有屬主或屬組,且最近3天內曾被訪問過的文件或目錄;

[root@localhost ~]# find / -nouser -o -nogroup

[root@localhost ~]# find / -nouser -o -nogroup -a -atime 3

13、查找/etc目錄下所有用戶都有寫權限的文件;

[root@localhost ~]# find /etc/ -perm /222

14、查找/etc目錄下大于1M,且類型為普通文件的所有文件;

[root@localhost etc]# find /etc -size +1M -a -type f -ls

15、查找/etc/init.d/目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件;

[root@localhost home]# find /etc/init.d/ -perm -113 -ls

16、查找/usr目錄下不屬于root、bin或hadoop的文件;

[root@localhost etc]# find /usr -not -user root -a -not -user bin -a -not -user hadoop

17、查找/etc/目錄下至少有一類用戶沒有寫權限的文件;

[root@localhost etc]# find /etc/ -not -perm -222

18、查找/etc目錄下最近一周內其內容被修改過,且不屬于root或hadoop的文件;

[root@localhost etc]# find /etc/ -mtime -7 -a -not -user root -a -not -user hadoop

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

(0)
dcstrikedcstrike
上一篇 2016-07-12
下一篇 2016-07-12

相關推薦

  • tcp socket文件句柄泄漏

    今天發現有臺redis機器上出現socket個數告警,這是很奇怪的現象。因為一臺redis服務器上就部署了幾個redis實例,打開的端口應該是有限。 1、netstat顯示的tcp連接數正常 netstat -n | awk '/^tcp/ {++state[$NF]} END …

    Linux干貨 2016-04-13
  • UML圖中類之間的關系:依賴,泛化,關聯,聚合,組合,實現

    類與類圖 1) 類(Class)封裝了數據和行為,是面向對象的重要組成部分,它是具有相同屬性、操作、關系的對象集合的總稱。 2) 在系統中,每個類具有一定的職責,職責指的是類所擔任的任務,即類要完成什么樣的功能,要承擔什么樣的義務。一個類可以有多種職責,設計得好的類一般只有一種職責,在定義類的時候,將類的職責分解成為類的屬性和操作(即方法)。 3) 類的屬性…

    Linux干貨 2015-04-07
  • Linux基于PXE實現系統全自動無人值守安裝

    前言 在生產環境中,我們時常會需要在多臺客戶端主機或服務器安裝操作系統,如果每一臺都去手動安裝,費時費力,顯然是不現實的。那么,如何高效的完成此類工作呢?文將講解如何實現Linux系統的全自動無人值守安裝。 提供PXE服務所需安裝包 dhcp:動態主機配置協議,給客戶端提供ip地址 tftp-server:tftp服務器端,提供系統安裝所需文件 xinetd…

    Linux干貨 2015-04-01
  • 千萬不要把 bool 設計成函數參數

    我們有很多Coding Style 或 代碼規范。但這一條可能會經常被我們所遺忘,就是我們經常會在函數的參數里使用bool參數,這會大大地降低代碼的可讀性。不信?我們先來看看下面的代碼。 當你讀到下面的代碼,你會覺得這個代碼是什么意思? widget->repaint(false); 是不要repaint嗎?還是別的什么意思?看了文檔后,我們才知道這個…

    Linux干貨 2016-07-10
  • php 設計模式-數據映射模式(應用程序與數據庫交互模式)

    前面提到的設計模式大大提高了代碼的可讀性與可維護性。然而,在WEB應用設計與開發中一個基本的需求與挑戰:數據庫應用,這些設計模式都沒有涉及到。數據映射模式使您能更好的組織你的應用程序與數據庫進行交互。 下面我將用實際代碼說明,如果一個表發生變動。我們要修改客戶端代碼就可以了。特別是游戲項目,需求經??赡軙洺W儎印P薷谋斫Y構,可能引起大片代碼的改動。 首先我…

    Linux干貨 2015-04-07
  • Linux之任務計劃 crontab

    Linux之任務計劃    用過windows的同學應該都知道在控制面板中有一個“任務計劃”選項,我們可以通過向導設置讓計算機在某個時間點或者開機時運行某個腳本或者批處理等等,方便我們的日常管理監視工作;同樣在Linux系統中,如果我們想在開機時就運行某個操作,可以直接將命令寫入/etc/rc.local中,該操作就會在機器開機時運行;如…

    Linux干貨 2015-05-18

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-12 11:29

    寫的很好,排版也很棒,在看一下第二個,加油

欧美性久久久久