第五周著重練習擴展正則元字符及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 12:29
下一篇 2016-12-13 14:09

相關推薦

  • Centos7 編譯安裝 zabbix3.0

    服務安裝配置: 系統版本:CentOS Linux release 7.2.1511 (Core)   zabbix 安裝 關閉firewall:   systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall開機…

    Linux干貨 2016-06-23
  • 第3周作業

    一、列出當前系統上的所有已經登錄的用戶的用戶名 [root@bogon tmp]# who | cut -d ” ” -f1 | sort -urootwing[root@bogon tmp]# who | cut -d ” ” -f1 | uniqrootwing 二、取出最后登錄到當前系統的用戶相關信息 […

    Linux干貨 2017-07-25
  • 2016/10/26作業:用戶和組的相關配置文件

    linux系統是通過文件來保存配置的,其中關于用戶和組的配置文件包括以下幾個: /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/login.defs /etc/default/useradd /etc/passwd 存放用戶信息的配置文件,其基本格式如下 root:x:0:0:root:/root:/…

    Linux干貨 2016-10-26
  • CentOS7.3安裝Jumpserver0.3.2

    CentOS7.3安裝Jumpserver0.3.2 公司服務器前端增加堡壘機,選用開源的jumpserver 軟件環境CentOS Linux release 7.3.1611 python 2.7.5 mysql5.7 安裝git yum -y install git 克隆jumpserver # cd /opt # git clone https://…

    Linux干貨 2017-07-11
  • linux學習總結-linux基礎(之一)

    一、計算機的組成及其功能 馮諾依曼結構的計算機由運算器、控制器、存儲器和輸入設備、輸出設備五部分組成。馮諾依曼理論的要點是:數字計算機的數制采用二進制;計算機應該按照程序順序執行。 控制器:控制程序執行; 存儲器:記憶程序和數據; 輸入設備:輸入數據和程序; 輸出設備:輸出處理結果。 二、Linux發行版 Linux的發型版本眾多,大體可以分為兩類,一類是商…

    Linux干貨 2016-09-23
  • mount中-o的選項利用

        Mount下—-o 選項的各項用處  mount-o 選項 sync,async 同步模式,異步模式(defaults)         此選項的默認模式為異步模式。在同步模式下,內存的任何修改都會實時的同步到硬盤當中,這種模式的…

    2017-08-19

評論列表(1條)

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

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

欧美性久久久久