第五周著重練習擴展正則元字符及find命令

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

grep -E "^(root|hadoop|user1)\>" /etc/passwd |cut -d":" -f1,7

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

    [root@centos7 /]# grep  -E -o "[_[:alnum:]]+\(\)"  /etc/rc.d/init.d/functions
    checkpid()
    __pids_var_run()
    __pids_pidof()
    daemon()
    killproc()
    pidfileofproc()
    pidofproc()
    status()
    echo_success()
    echo_failure()
    echo_passed()
    echo_warning()
    update_boot_stage()
    success()
    failure()
    passed()
    warning()
    action()
    strstr()
    is_ignored_file()
    is_true()
    is_false()
    apply_sysctl()

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

[root@centos7 /]#  echo "/etc/rc.d/init.d/functions" |grep -E -o "[^/]+$"
functions

[root@centos7 /]#  echo "/etc/rc.d/init.d/functions" |grep -E -o  "^/.*/"
/etc/rc.d/init.d/

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

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

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

grep -E -o "\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>.\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>.\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>.\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>"

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

grep -E -o “\<[a-z0-9A-Z._%+-]+@[a-z0-9A-Z.-]+\.[a-zA-Z]{2,6}\>”

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

[root@centos7 /]# find /var/ -user root -a -group mail
/var/spool/mail
/var/spool/mail/root

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

find / -nouser -o -nogroup -atime 3

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

find /etc/ -perm -020

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

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

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

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

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

[root@centos7 /]# find /usr ! \( -user root -o -user bin -o -user hadoop \)
/usr/share/polkit-1/rules.d
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache

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

[root@centos7 /]# find /usr ! \( -user root -o -user bin -o -user hadoop \)
/usr/share/polkit-1/rules.d
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
[root@centos7 /]# find /usr -not \( -user root -o -user bin -o -user hadoop \)
/usr/share/polkit-1/rules.d
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
[root@centos7 /]# find /usr ! \( -user root -o -user bin -o -user hadoop \)
/usr/share/polkit-1/rules.d
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
[root@centos7 /]# find /etc/ -not -perm /222
/etc/pki/ca-trust/extracted/java/cacerts
/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
/etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem
/etc/pki/ca-trust/extracted/pem/objsign-ca-bundle.pem
/etc/gshadow
/etc/openldap/certs/password
/etc/shadow
/etc/ld.so.conf.d/kernel-3.10.0-327.el7.x86_64.conf
/etc/ld.so.conf.d/kernel-3.10.0-327.36.3.el7.x86_64.conf
/etc/udev/hwdb.bin
/etc/gshadow-
/etc/dbus-1/system.d/cups.conf
/etc/shadow-
/etc/lvm/profile/cache-mq.profile
/etc/lvm/profile/cache-smq.profile
/etc/lvm/profile/command_profile_template.profile
/etc/lvm/profile/metadata_profile_template.profile
/etc/lvm/profile/thin-generic.profile
/etc/lvm/profile/thin-performance.profile
/etc/pam.d/cups
/etc/machine-id
/etc/sudoers

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

find /etc -mtime -7 ! \( -user root -o -user hadoop \)

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

(0)
N24_JerryN24_Jerry
上一篇 2016-12-13
下一篇 2016-12-13

相關推薦

  • N25期第四周作業

    1.復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限 cp -r /etc/skel /home/tuser1 chmod -R go= /home/tuser1 2.編輯/etc/group文件,添加組hadoop echo “hadoop:x:1080” >> /…

    Linux干貨 2016-12-26
  • 組建RAID5重啟系統,出現md127的解決辦法

        我這里在組建RAID5之后重啟了系統,當時/dev/md0變成了/dev/md127。出現這問題主要是我沒有配置生成/etc/mdadm.conf文件,如果哪位伙伴出現類似我這種情況,而不是通過我這種方法解決的,希望能分享一下你的解決方法,謝謝。  先停止md127 [root@client3&nbs…

    Linux干貨 2016-01-05
  • keepalive配置文件詳解

    第一部分:全局定義塊 1、email通知。作用:有故障,發郵件報警。 2、Lvs負載均衡器標識(lvs_id)。在一個網絡內,它應該是唯一的。 3、花括號“{}”。用來分隔定義塊,因此必須成對出現。如果寫漏了,keepalived運行時,不會得到預期的結果。由于定義塊內存在嵌套關系,因此很容易遺漏結尾處的花括號,這點要特別注意。 global_defs{ n…

    2017-09-17
  • 6.vim編輯器使用方法總結

    vi: visual interface,文本編輯器 vim: vi improved,vi的增強版 文本:ASCII,Unicode, 文本編輯器種類: 行編輯器:sed, 全屏編輯器:nano,vi vim:模式化的編輯器 基本模式: 編輯模式,也叫命令模式 輸入模式 末行模式:內置的命令行接口 模式轉換: 編輯模…

    Linux干貨 2017-08-06
  • 第二周學習總結

    寫在最前 通過上一周對計算機系統、Linux發展的學習,我們認識到了Linux是一個一切皆文件的內核系統。那么怎樣去操作系統上的各文件來達到你想要的目的呢?今天的總結就是幫助我們更快的達成目標。 文件管理類命令的分類 對于這類命令主要分為兩類: 操作類:touch、cp、mv 查看類:cat、tac、head、tail、less、more touch 功能描…

    2017-12-16
  • 磁盤管理之MBR與GPT分區

    磁盤管理之MBR與GPT分區 2016-08-26 zanghonglei%1 $ S 磁盤管理之MBR與GPT分區 linux下的文件分為常規文件和設備文件,常規文件一定在某一個設備上被存儲,不論這個設備是真實的還是虛擬的,這里的設備是linux中vfs層中的設備,也就是設備文件中的設備,vfs層的設備分為字符設備和塊設備,字符設備可以類比為一個…

    Linux干貨 2016-08-29

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-23 00:48

    贊~幾個例子都不錯,繼續加油~

欧美性久久久久