馬哥教育網絡班21期+第5周作業

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

[root@localhost ~]# grep '^[[:space:]]\+' /boot/grub2/grub.cfg 
  load_env
   set default="${next_entry}"
   set next_entry=
...內容略

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

[root@localhost ~]# cat /etc/rc.d/init.d/functions | grep '^#[[:space:]]\+[^[:space:]]\+' 
# -*-Shell-script-*-
# functions     This file contains functions to be used by most or all
#               shell scripts in the /etc/init.d directory.
# Make sure umask is sane
# Set up a default search path.
# Get a sane screen width

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

[root@localhost ~]# netstat -tan | grep 'LISTEN[[:space:]]*'
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp6       0      0 :::80                   :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN

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

[root@localhost ~]# useradd bash && useradd testbash && useradd basher && useradd -d /sbin/nologin nologin
[root@localhost ~]# grep '^\([^:]\+\):.*/\1$' /etc/passwd                                   sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
123:x:1111:1111::/123:/123
bash:x:1129:1129::/home/bash:/bin/bash
nologin:x:1130:1130::/home/nologin:/sbin/nologin

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

[root@localhost ~]# cat /etc/passwd |  grep '^\(root\|fedora\|user1\):' | cut -d: -f1,7
root:/bin/bash
user1:/bin/bash

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

[root@localhost ~]# cat  /etc/rc.d/init.d/functions | grep '^[[:alpha:]]\+()'
checkpid() {
daemon() {
killproc() {
pidfileofproc() {
pidofproc() {
status() {
success() {
failure() {
passed() {
warning() {
action() {
strstr() {

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

[root@localhost ~]# echo '/etc/ppp' | grep -o '^.*[^/]' | grep -o '/[^/]\+/\?$'   
/ppp

7.2、擴展:取出其路徑名

[root@localhost ~]# echo '/etc/ppp' | grep -o '^.*[^/]' | grep -o '^.*/'     
/etc/

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

[root@localhost ~]# ifconfig | egrep   '\<([1-9][1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>'
        inet 1.1.1.117  netmask 255.255.255.0  broadcast 1.1.1.255
        RX packets 1970  bytes 223843 (218.5 KiB)
        TX packets 1264  bytes 225028 (219.7 KiB)
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        RX packets 4  bytes 340 (340.0 B)
        TX packets 4  bytes 340 (340.0 B)
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255

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

[root@localhost ~]# ifconfig | grep -o  --color '\(\([0-9]\|[1-9][0-9]\|1[0-9]\{2\}\|2[0-4][0-9]\|25[0-5]\)\.\)\{3\}\([0-9]\|[1-9][0-9]\|1[0-9]\{2\}\|2[0-4][0-9]\|25[0-5]\)'
1.1.1.117
255.255.255.0
1.1.1.255
127.0.0.1
255.0.0.0
192.168.122.1
255.255.255.0
192.168.122.255

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

[root@localhost ~]# echo '372564854@qq.com' >> 1.txt
[root@localhost ~]# echo '12345678@qq.com' >> 1.txt         
[root@localhost ~]# echo 'lich9978@qq.com' >> 1.txt        
[root@localhost ~]# cat 1.txt 
372564854@qq.com
12345678@qq.com
lich9978@qq.com
[root@localhost ~]# cat 1.txt | grep '^[a-zA-Z0-9_-]\+@[a-zA-Z0-9_-]\+\(\.[a-zA-Z0-9_-]\+\)\+$'
372564854@qq.com
12345678@qq.com
lich9978@qq.com

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

[root@localhost ~]# find /var -user root -group mail
/var/spool/mail

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

[root@localhost ~]# find / \( -nouser -o -nogroup \) -a -atime -3
find: ‘/proc/3745/task/3745/fd/6’: 沒有那個文件或目錄
find: ‘/proc/3745/task/3745/fdinfo/6’: 沒有那個文件或目錄
...內容略
/home/nologin/.mozilla/extensions
/home/nologin/.mozilla/plugins
[root@localhost ~]#

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

[root@localhost etc]# find /etc -perm -g+w,u+w,o+w
/etc/mtab
/etc/pki/java/cacerts
/etc/pki/tls/cert.pem
...略
/etc/httpd/run
/etc/1.txt

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

[root@localhost etc]# find /etc -size +1M -type f
/etc/udev/hwdb.bin
/etc/selinux/targeted/policy/policy.29
/etc/brltty/zh-tw.ctb

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

[root@localhost etc]# find /etc/init.d -perm -g+x,o+wx,u+x
/etc/init.d

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

[root@localhost etc]# 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

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

[root@localhost etc]# find /etc/ ! -perm -444                                       
/etc/crypttab
/etc/pki/CA/private
...內容略
/etc/libvirt/nwfilter
/etc/gssproxy/gssproxy.conf

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

[root@localhost etc]# chown basher 1.txt
[root@localhost etc]# ll 1.txt 
-rw-rw-rw-. 1 basher root 0 8月   7 21:11 1.txt
[root@localhost etc]# find /etc ! -user root ! -user hadoop  -ctime -7           
/etc/1.txt

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

(0)
lichenhanlichenhan
上一篇 2016-08-08
下一篇 2016-08-08

相關推薦

  • 在馬哥學習linux第一天的感受

         來馬哥教育好幾天了,昨天算是正式開始,在昨天早上,舉行了開班典禮,各位老師助教為我們介紹了在馬哥教育進行培訓的相關注意事項,下午進行了兩場測試,首先有一個摸底測試,不得不說我真的是太菜了,除了一些比較簡單的題目我還有些把握,相當一部分我都是似曾相識,但是也不是很確定,還有很大一部分我根本聽都沒聽說過,看到別人都寫的滿滿…

    Linux干貨 2017-07-11
  • linux的終端類型

    Linux系統的終端類型    Linux系統的終端主要包括控制臺終端、控制終端、串口終端、偽終端、虛擬終端。                 1.  控制臺終端(/dev/console)。    在Unix系統中,計…

    Linux干貨 2016-10-19
  • 詳解Linux下用戶和組的配置文件

    本文將介紹Linux下用戶和組的概念及相關配置文件,通過本文,能更好的認識/etc/pssswd ,/etc/group,以及UID、GID的概念,最后將通過修改用戶配置文件來實現用戶和組的管理工作,對Linux的多任務、多用戶有一個更清楚的認識。 一、用戶(USER) 在LInux上用戶的管理工作是通過修改相關的配置文件來實現的,在日常的工作中主要包含對用…

    Linux干貨 2016-10-23
  • 文本處理三劍客之sed及vi編輯使用

    作用:       sed是Linux系統文本處理工具中的三劍客之一,它是一種流編輯器,以行為單位,能夠使用正則表達式;跟其他文本處理工具模式相同,不對原文件直接操作,而是先借用一個臨 時的數據緩沖區存放文文本數據,同時還有一個自己獨特的空間"pattern space",我們稱之為sed的模式空間,它的處理…

    Linux干貨 2016-08-11
  • 位置變量在Shell腳本編程中的作用

    位置變量:         如果要向一個shell腳本傳遞信息,可以使用位置參數完成此功能;參數相關數目傳入腳本,此數目可以任意多,但只有前9個可以被訪問,使用shift命令可以改變這個限制;參數從第一個開始,在第九個結束;每個訪問參數前要加$符號;第一個參數為0,表示預留保存實…

    Linux干貨 2016-08-15
  • N25-第一周博客作業

    計算機的組成及其功能 Linux的發行版介紹 Linux的哲學思想 Linux命令格式及一些基礎命令 在Linux系統上獲取命令的幫助信息 Linux發行版的基礎目錄 計算機的組成及其功能 簡單來說,計算機系統是由 硬件系統(hardware system)和 軟件系統(software system)兩部分組成。 硬件的基本組成: 運算器、存儲器、控制器、…

    Linux干貨 2016-12-02

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-08 17:00

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

欧美性久久久久