grep命令與正則表達式的應用示例、find命令應用示例

grep命令與正則表達式的應用示例、find命令應用示例

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

    使用擴展正則表達式,它支持使用A|B表示或者之意。查看用戶的默認shell,cat /etc/passwd文件,根據用戶名所處位置進行錨定,其最后一個字段即表示該用戶的默認shell。實現方式及結果如下:

grep命令與正則表達式的應用示例、find命令應用示例
grep命令與正則表達式的應用示例、find命令應用示例  

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

    這里需要注意的是小括號因為和正則表達式的元字符相沖突,如果直接寫()會有歧義,因此需要對小括號進行轉義:()。具體結果如下所示:

grep命令與正則表達式的應用示例、find命令應用示例  

  • 使用echo命令輸出一個絕對路徑,使用grep分別取出其基名。
    取出基名:

grep命令與正則表達式的應用示例、find命令應用示例  

  • 找出ifconfig命令結果中的1-255之間的數字。
    1-255之間的數字,如果按照如下方式分解:
    一位數:1-9
    二位數:10-99
    三位數:100-199,200-255
    使用正則表達式可以這樣匹配:

grep命令與正則表達式的應用示例、find命令應用示例  

  • 寫一個模式能匹配合理的IP地址。
    要匹配出合理的IP地址,個人理解還需要結合子網掩碼來判斷,如果是要匹配出ifconfig中合理的ip地址,可以使用如下模式進行匹配:

grep命令與正則表達式的應用示例、find命令應用示例  

  • 寫一個模式能匹配出所有的郵件地址。

grep命令與正則表達式的應用示例、find命令應用示例  

  • 查找/var目錄下屬主為root且屬組為mail的所有文件或目錄。
    find使用-user選項指定屬主,使用-group選項指定屬組。結果如下:

grep命令與正則表達式的應用示例、find命令應用示例  

  • 查找當前系統上沒有屬主或屬組的文件,且最近3天內曾被訪問過的文件或目錄。    
    find使用-nouser選項指定查找沒有屬主的文件;使用 -nogroup選項查找沒有屬組的文件;使用 -atime選項指定按文件的最后訪問時間查找。結果如下:

grep命令與正則表達式的應用示例、find命令應用示例
grep命令與正則表達式的應用示例、find命令應用示例  

  • 查找/etc目錄下所有用戶都有寫權限的文件。
    find使用-perm選項可以根據文件權限進行查找,常用的有為兩種使用方式,一種是-perm /mode,表示任何一類用戶中的任何一位權限滿足條件即可;一種是-perm -mode,表示每一類用戶中的每一位權限滿足條件才行。這里要求的是所有用戶都有寫權限,因此應該使用-perm -mode這種方式。
    結果如下:

grep命令與正則表達式的應用示例、find命令應用示例
也可以使用find /etc -perm -a+w

  • 查找/etc目錄下大于1M,且類型為普通文件的所有文件。
    find使用-size選項可以根據文件的大小進行查找,常用的有兩種使用方式,一種是-size +#unit (unit表示數字單位,有K,M,G),表示查找大于指定大小的文件;一種是-size -#unit,表示查找小于指定大小的文件。
    結果如下:

grep命令與正則表達式的應用示例、find命令應用示例  

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

grep命令與正則表達式的應用示例、find命令應用示例  

  • 查找/usr目錄下不屬于root,bin或hadoop的文件。find支持使用操作符-a(相當于and),-o(相當于or),在這里使用-o操作符。!表示取反,類似于-not。

grep命令與正則表達式的應用示例、find命令應用示例  

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

grep命令與正則表達式的應用示例、find命令應用示例  

  • 查找/etc目錄下最近一周內其內容被修改過且不屬于root或hadoop的文件。
    括號要使用轉義符,“-7”表示在7天內。
    > [root@localhost etc]# find /etc -mtime -7 ! \( -user root -o -user hadoop \)

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

(0)
N24_lantianN24_lantian
上一篇 2016-11-28 00:23
下一篇 2016-11-28 09:46

相關推薦

  • 私人定制-linux系統和grub啟動流程中問題及解決方案

    系統的啟動流程;     POST加電自檢–>Boot Sequence(BIOS)–>Boot Loader(MBR)–>kernel(Ramdisk)–>rootfs–>switchroot–>/sbin/i…

    Linux干貨 2016-09-13
  • linux基本命令的使用

      1>    查看當前終端名:tty 或who am i       查看當前所有登錄的終端信息:who       查看當前所有登錄的終端的詳細信息 w 2> 編輯器    …

    2017-07-15
  • 創建及管理KVM工具之virsh

    一、什么是虛擬化 虛擬化是一個廣義的術語,在計算機方面通常是指計算元件在虛擬的基礎上而不是真實的基礎上運行。虛擬化技術可以擴大硬件的容量,簡化軟件的重新配置過程。 二、虛擬化能做什么 CPU的虛擬化技術可以單CPU模擬多CPU并行,允許一個平臺同時運行多個操作系統,并且應用程序都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率。 三、虛擬化…

    Linux干貨 2017-01-19
  • RHCE系列之ntp服務器—-實踐篇

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1319520 上篇Linux實戰部署系列之ntp服務器—-理論篇為大家介紹時間的相關概念和ntp的原理,本篇博文將帶大家一起部署生產環境中實現簡單…

    Linux干貨 2016-08-15
  • N26 第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。    who | cut -d" " -f1 | sort -u    2、取出最后登錄到當前系統的用戶的相關信息。    who | tail -1 3、取…

    Linux干貨 2017-02-16

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-07 23:07

    作業寫的很棒,有圖有真相

欧美性久久久久