grep及正則表達式相關練習
1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。
-
~]# cp -r /etc/skel/ /home/tuser1
-
~]# chmod -R 700 /home/tuser1
-
~]# ls -ld /home/tuser1
-
drwx——. 3 root root 17 10月 9 16:20 /home/tuser1/
2、編輯/etc/group文件,添加組hadoop。
-
~]# echo "hadoop:x:3000" >> /etc/group
-
~]# tail -1 /etc/group
-
hadoop:x:3000
3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。
-
~]# echo "hadoop:x:3000:3000:hadoop:/home/hadoop:/bin/bash" >> /etc/passwd
-
~]# tail -1 /etc/passwd
-
hadoop:x:3000:3000:hadoop:/home/hadoop:/bin/bash
4、復制/etc/skel目錄為/home/hadoop,要求修改hadoop目錄的屬組和其它用戶沒有任何訪問權限。
-
~]# cp -r /etc/skel /home/hadoop
-
~]# chmod -d 700 /home/hadoop
-
~]# ls -l /home
-
總用量 4
-
drwx——. 3 root root 74 10月 10 09:46 hadoop
-
drwx——. 14 roo roo 4096 10月 9 09:25 roo
-
drwx——. 3 root root 17 10月 9 16:20 tuser1
5、修改/home/hadoop目錄及其內部所有文件的屬主為hadoop,屬組為hadoop。
-
~]# chown -R hadoop:hadoop /home/hadoop
-
~]# ls -l /home
-
總用量 4
-
drwx——. 3 hadoop hadoop 74 10月 10 09:46 hadoop
-
drwx——. 14 roo roo 4096 10月 9 09:25 roo
-
drwx——. 3 root root 17 10月 9 16:20 tuser1
6、顯示/proc/meminfo文件中以大寫或小寫S開頭的行;用兩種方式;
(1)
-
~]# grep ^[S,s] /proc/meminfo
-
SwapCached: 0 kB
-
SwapTotal: 2097148 kB
-
SwapFree: 2097148 kB
-
Shmem: 10424 kB
-
Slab: 291280 kB
-
SReclaimable: 202508 kB
-
SUnreclaim: 88772 kB
(2)
-
[root@localhost ~]# cat /proc/meminfo | grep ^[S,s]
-
SwapCached: 0 kB
-
SwapTotal: 2097148 kB
-
SwapFree: 2097148 kB
-
Shmem: 10424 kB
-
Slab: 291236 kB
-
SReclaimable: 202516 kB
-
SUnreclaim: 88720 kB
7、顯示/etc/passwd文件中其默認shell為非/sbin/nologin的用戶;
-
~]# egrep -v /sbin/nologin /etc/passwd
-
root:x:0:0:root:/root:/bin/bash
-
sync:x:5:0:sync:/sbin:/bin/sync
-
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
-
halt:x:7:0:halt:/sbin:/sbin/halt
-
roo:x:1000:1000:root:/home/roo:/bin/bash
-
hadoop:x:3000:3000:hadoop:/home/hadoop:/bin/bash
-
~]# egrep -v /sbin/nologin /etc/passwd | cut -d: -f1
-
root
-
sync
-
shutdown
-
halt
-
roo
-
hadoop
8、顯示/etc/passwd文件中其默認shell為/bin/bash的用戶;
-
~]# grep /bin/bash /etc/passwd | cut -d: -f1
-
root
-
roo
-
hadoop
9、找出/etc/passwd文件中的一位數或兩位數;
-
~]# egrep -o "\<[[:digit:]]{1,2}>" /etc/passwd
10、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行;(注:CentOS6)
-
~]# egrep "^[[:space:]]+" /boot/grub/grub.conf
-
root (hd0,0)
-
kernel /vmlinuz-2.6.32-573.el6.x8664 ro root=/dev/mapper/vgcentos6-lvroot rdNOLUKS * * rdNOMD rdLVMLV=vgcentos6/lvswap crashkernel=128MCN.UTF-8
-
rdLVMLV=vgcentos6/lvroot KEYBOARDTYPE=pc KEYTABLE=us rdNODM rhgb quiet
-
initrd /initramfs-2.6.32-573.el6.x86_64.img
11、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行;
-
~]# egrep "^#[[:space:]]+[^[:space:]]+" /etc/rc.d/rc.sysinit
-
# /etc/rc.d/rc.sysinit – run once at boot time
-
# Taken in part from Miquel van Smoorenburg's bcheckrc.
-
# Check SELinux status
-
# Print a text banner.
-
…
12、打出netstat -tan命令執行結果中以‘LISTEN’,后或跟空白字符結尾的行;
-
~]# netstat -tan | egrep "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:631 0.0.0.0:* LISTEN
-
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
-
tcp6 0 0 :::22 :::* LISTEN
-
tcp6 0 0 ::1:631 :::* LISTEN
-
tcp6 0 0 ::1:25 :::* LISTEN
13、添加用戶bash, testbash, basher, nologin (此一個用戶的shell為/sbin/nologin),而后找出當前系統上其用戶名和默認shell相同的用戶的信息
-
~]# egrep "^(\<[a-z]>).\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
-
bash:x:3001:3001::/home/bash:/bin/bash
-
nologin:x:3004:3004::/home/nologin:/sbin/nologin
原創文章,作者:shiyekun,如若轉載,請注明出處:http://www.www58058.com/50583