馬哥教育網絡班20期-第五周課程作業

Table of Contents

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

grep '^[[:space:]]\+' /boot/grub/grub.conf

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

grep '^#[[:space:]]\+[^[:space:]]\+' /etc/rc.d/rc.sysinit

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

netstat -tan | grep 'LISTEN[[:space:]]*'

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

useradd bash
useradd testbash
useradd basher
useradd -s /sbin/nologin nologin
grep '^\([^:]\+\):.*/\1$' /etc/passwd

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

grep '^\(root\|fedora\|user1\):' /etc/passwd | cut -d: -f1,7

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

grep '^[[:alpha:]]\+()' /etc/rc.d/init.d/functions

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

echo '/etc/passwd' | grep -o '^.*[^/]' | grep -o '/[^/]\+/\?$'
  • 擴展:取出其路徑名

echo '/etc/passwd' | grep -o '^.*[^/]' | grep -o '^.*/'

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

ifconfig | grep -o '\<\([0-1]\?[0-9]\{1,2\}\|2[0-4][0-9]\|25[0-5]\)\>'

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

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

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

echo 'qiumupo@qq.com' | grep '^[a-zA-Z0-9_-]\+@[a-zA-Z0-9_-]\+\(\.[a-zA-Z0-9_-]\+\)\+$'

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

find /var -user root -group mail

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

find . -nouser -o -nogroup

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

find . \( -nouser -o -nogroup \) -a -atime -3

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

find /etc -perm -444

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

find /etc -size +1M -type f

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

find /etc/init.d -perm -115

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

find /usr ! -user root ! -user bin ! -user hadoop

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

find /etc ! -perm -444

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

find /etc -ctime -7 ! -user root ! -user hadoop

原創文章,作者:Net20_木皮,如若轉載,請注明出處:http://www.www58058.com/23830

(0)
Net20_木皮Net20_木皮
上一篇 2016-07-12 11:21
下一篇 2016-07-12 11:21

相關推薦

  • Linux程序包管理相關

    前言 首先說說一個軟件的誕生過程: 程序員用編程語言寫文本格式的源代碼,但是計算機只能讀懂二進制文件,那么就需要將源代碼轉換成二進制格式,這個過程稱為編譯。編譯用的工具稱為編譯器,編譯器有很多種,在Linux上常用gcc這個編譯器。利用編譯器,得到二進制格式的文件(二進制程序(Windows上.exe.msi,Linux.elf)、庫文件、配置文件、幫助文件…

    Linux干貨 2018-01-04
  • shell編程之循環

           當需要重復運行特定的指令以滿足系統管理工作需要時,條件判斷語句if、case并不能很好地提供支撐,shell提供了for、while、until循環語句來滿足此需求。 一、for循環語句        for循環用于重復整個對象列表,依次遍歷對列…

    Linux干貨 2016-08-18
  • 進程和優先級

    ???? 什么是進程?我們先來了解一下進程的概念:我們知道操作系統最核心的概念就是進程。進程簡單來說就是在操作系統中運行的程序,它是操作系統資源管理的最小單位。但是進程是一個動態的實體,它是程序的一次執行過程。進程和程序的區別在于:進程是動態的,程序是靜態的,進程是運行中的程序,而程序是一些保存在硬盤上的可執行代碼。 ?? 當多個任務要執行時怎么辦呢?先執行…

    2017-09-09
  • shell腳本基礎練習2

    1.編寫一個腳本/root/bin/createuser.sh,腳本的執行語法必須是:createuser.sh -username -m password,選項與參數間可支持多空格,但不能順序顛倒。當未指定正確的選項或參數時,以錯誤輸出方式提示“createuser.sh -u username -m password ”后退出腳本。用…

    2017-08-12
  • 從Linux小白到大?!c狼共舞的日子13

    馬哥教育網絡班21期+第13周課程練習 1、建立samba共享,共享目錄為/data,要求:(描述完整的過程) 1)共享名為shared,工作組為magedu; 2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名; 3)添加sa…

    Linux干貨 2017-01-03

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-12 14:49

    寫的很好,排版也很棒,加油

欧美性久久久久