馬哥教育網絡班22期+第5周課程練習 忍者亂太郎喻成

1、顯示當前系統上root、fedora或user1用戶的默認shell;
   以root為例

awk -F':' '$1 ~ /root/ {print $7} ' /etc/passwd

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

cat /etc/rc.d/init.d/functions| grep "[^[:space:]]\+()"

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

echo /home/chengyu/test.txt | grep -o '[^/]\+/\?$'

    擴展:取出其路徑名

echo /home/chengyu/test.txt | grep  -oP '^/.*(?=/)'

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

ifconfig| grep -Eo "([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"

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

(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

10、挑戰題:寫一個模式,能匹配出所有的郵件地址;
    理論上不可能匹配所有,但這個表達式匹配大多數

^[A-Z0-9]+@[A-Z0-9]+\.[A-Z]{2,4}$

    RFC 官方email的正則表達式

    (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

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

find /var -user root -group mail

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

find / -nouser -nogroup

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

  find / -nouser -nogroup -atime -3

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

  find /etc -perm /001

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

   find ./etc -size +1k

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

   find /etc/init.d/ -perm /115

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

   find /usr -not -user root -a -not -user bin -a -not -user hadoop

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

   find /etc/init.d/ -not -perm /111

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

   find /user \(-nouser -o -nogroup\) -atime -7

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

(0)
chengyuchengyu
上一篇 2016-10-09
下一篇 2016-10-09

相關推薦

  • 引導加載程序grub的使用詳解

    引導加載程序grub的使用詳解 為運行于虛擬機上的CentOS 6添加一個新硬件,提供兩個主分區 為硬盤建兩個主分區;并為其安裝grub 為硬盤的第一個主分區提供內核和ramdisk文件;為第二個分區提供rootfs 為rootfs提供bash、ls、cat程序以及所依賴的庫文件 為grub提供配置文件 將新的硬盤設置為第一啟動項并能夠正常啟動目標主機 1.…

    Linux干貨 2017-09-04
  • 本周學習總結

    這周我們學習了很多比較深的命令,有點燒腦,這次我總結一下sed命令。      sed 是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(patternspace ),接著用sed 命令處理緩沖區中的內容,處理完成后,把緩沖區的容送往屏幕。然后讀入下行,執行下一個循環。如果…

    2017-08-28
  • grep的使用以及正則表達式

    正則表達式以及grep的使用 grep是一種文本過濾工具(模式:pattern)基本使用用法如下: grep [option] PATTERN FILE grep [OPTIONS] [-e PATTERN | -f FILE] [FILE…] –colour=auto:對匹配到的文本著色 -i:ignorecase 忽略字符大小寫 -o:僅顯示匹配到…

    Linux干貨 2017-08-21
  • 第三周博客作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 ~]# who | cut -d' ' -f 1 |sort |uniq -c 2、取出最后登錄到當前系統的用戶的相關信息。 ~]# last | head -1 3、取出當前系統上被用戶當作其默認shell的最多的那個shell。 ~]# cat…

    Linux干貨 2016-12-14
  • LVM邏輯卷管理

    一、簡述 什么是邏輯卷?LVM(Logical Volume Manager)利用Linux內核device-mapper實現存儲系統的虛擬化。通過LVM,把底層存儲硬件抽象化成存儲邏輯塊,再將這些邏輯塊集合構成存儲池,從存儲池空間劃分分區,可以簡單地擴大或縮小分區,而不用擔心硬盤沒有足夠的連續空間。 使用邏輯卷分區有什么用?使用邏輯卷分區重點在于可以彈性地…

    Linux干貨 2016-09-06
  • vim編輯器

    vim編輯器三種模式轉換 G跳到尾行 gg:跳到首行 H:跳到當前頁的首行 L: 跳到當前頁的尾行 M: 跳到當前而的中間行 dd: 刪除光標所在的行 #dd:多行刪除 yy:復制行 #yy: 復制多行 ? Y: 復制整行 cc:刪除當前行并輸入新內容 #cc:刪除多行 C:刪除當前光標到行尾,并切換成插入模式 修改配置文件 全局: /etc/vimrc 用…

    2017-08-05

評論列表(1條)

  • luoweiro
    luoweiro 2016-10-11 23:15

    第一題其實本意是顯示三個username的shell,而不是單純以某一個為準,你可以選擇出三個用戶的對應的shell哦

欧美性久久久久