馬哥教育網絡班21期-第五周課程練習

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

# grep -E "^[[::space]]\+.*" /boot/grub/grub.conf

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

# grep -E "^#[[:space:]]\+[^[:space:]]\+.*" /etc/rc/d/rc.sysinit

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

# netstat -tan | grep -E "LISTEN[[:space:]]\+$"

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

#!/bin/bash
if [ `id -u` -ne 0 ];then
   echo "noly root can add user."
   exit 3
fi
for user in {bash,testbash,basher,nologin};do
    if id $user &> /dev/null;then
       echo "$user exits. "
    elif [ "$user" == "nologin" ];then
       useradd $user -s /sbin/nologin 
    else useradd $user 
    fi
done
grep -E --color "^([[:alnum:]]+)\>.*\1$"  /etc/passwd

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

#!/bin/bash
for i in (root,fedora,user1);do
    grep "^$i\>" /etc/passwd | cut -d: -f1,7
done

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

# grep -E "\b.*\b\(\)" /etc/rc.d/init.d/functions

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

#!/bin/bash
read -p "enter a path." pathfile
   [ -z "$pathfile" ] && echo "please enter a path." && exit 1
echo $pathfile > /tmp/pathfile
echo  basename is `grep -o "/[^/]\+/\?$" /tmp/pathfile`
echo  dirname is `grep -o "^/.*/" /tmp/pathfile`

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

# ifconfig | grep -E "\b[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5]\b"

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

# grep  -Eo "\b(inet |addr:)([0-9]{1,3}.){3}[0-9]{1,3}\b"

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

# grep -Eo "[[:alnum:]]+[[:punct:]]*[[:alnum:]]*@[[:alnum:]]+.[[:alnum:]]*.?[[:alnum:]]*"

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

# find /var -user root -group mail

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

# find / -nouser -nogroup -atime -3

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

# find /etc -perm /222

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

 # find /etc -size +1M -type f

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

# find /etc/init.d -prem -113

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

# find /usr -not (-user root -a -user bin -a hadoop)

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

# find /etc -not -perm -222

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

# find /etc -mtime -7 -not (-user root -a -user hadoop)

原創文章,作者:哎喲喂,如若轉載,請注明出處:http://www.www58058.com/30038

(0)
哎喲喂哎喲喂
上一篇 2016-08-08 16:16
下一篇 2016-08-08 16:16

相關推薦

  • 第五周作業

    1、顯示當前系統上root,fedora或user1用戶的默認shell。 [root@hostname ~]# grep -E ‘^(root|fedora|user1)’ /etc/passwd | cut -d: -f1,7 root:/bin/bash 2、找出/etc/rc.d/init.d/functions文件中某詞后面跟一組小括號的行,形如:…

    Linux干貨 2017-08-04
  • LVS產生背景、原理及LVS-DR應用實例(一)

    一、什么是lvs? 它產生的背景,使用場景是什么?      LVS(Linux Virtual Server) 可以理解為一個虛擬服務器系統。       Internet的飛速發展,網絡帶寬的增長,Web服務中越來越多地使用CGI、動態主頁等CPU密集型應用,這對服務器的性能…

    Linux干貨 2016-10-29
  • N25-第19周博客作業

    1、描述Tomcat的架構; 2、詳細解釋Tomcat的配置文件及配置文件中的參數所代表的含義; 3、配置apache通過mod_proxy模塊與Tomcat連接的詳細過程; 4、配置基于mod_jk的負載均衡; 5、配置tomcat集群,能夠實現用戶的session會話保持。 1、描述Tomcat的架構; Tomcat組件,分為4類: 頂層類組件:包括&l…

    2017-05-21
  • 從Linux小白到大牛——與狼共舞的日子9

    馬哥教育網絡班21期+第9周課程練習 1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; [root@localhost ~]# cat shell.sh  #!/bin/bash # declare…

    Linux干貨 2016-12-05
  • 第五周小練習

    1顯示當前系統上root,fedora或user1用戶的默認shell egrep "^(root|user1|fedora)" /etc/passwd|cut -d ':' -f 1,7 2找出/etc/rc.d/init.d/functions文件中某個單…

    Linux干貨 2016-12-12
  • Mogilefs使用Nginx實現代理訪問

    MogileFS介紹:  MogileFS是一個開源的分布式文件存儲系統,由LiveJournal旗下的DangaInteracitve公司研發??芍С治募詣觽浞堑墓δ?,提供高可用性和高可擴展性。 MogileFS組件:  trackers:   MoglieFS的調度器,是mogileFS的核心,訪問入口。  功能…

    Linux干貨 2015-08-06

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-17 14:38

    寫的很好,排版也很棒,加油,匹配ip地址的不對

欧美性久久久久