Linux基礎知識(四)-正則表達式grep,egrep

1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。

[root@localhost ~]# cp -r /etc/skel /home/tuser1
drwxr-xr-x. 2 root root 59 Oct  8 17:53 /home/tuser1/
[root@localhost ~]# chmod -R 700 /home/tuser1
[root@localhost ~]# ll -d /home/tuser1/
drwx------. 2 root root 59 Oct  8 17:53 /home/tuser1/
[root@localhost ~]# chmod  go=  /home/tuser1
[root@localhost ~]# ll -d /home/tuser1/
drwx------. 2 root root 59 Oct  8 17:53 /home/tuser1/

2、編輯/etc/group文件,添加組hadoop。

可以使用vim進行編輯,添加一行 hadoop:x:3005:
或者使用>>追加的方式

[root@localhost ~]# echo "hadoop:x:3005:" >> /etc/group
[root@localhost ~]# tail -1 /etc/group
hadoop:x:3005:

3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。

可以使用vim編輯器編輯:

或者使用>>追加

[root@localhost ~]# echo "hadoop:x:3005:3005::/home/hadoop:/bin/bash" >> /etc/passwd
[root@localhost ~]# tail -1 /etc/passwd
hadoop:x:3005:3005::/home/hadoop:/bin/bash

4、復制/etc/skel目錄為/home/hadoop,要求修改hadoop目錄的屬組和其它用戶沒有任何訪問權限。

[root@localhost ~]# cp -r /etc/skel /home/hadoop
[root@localhost ~]# ls -a /home/hadoop
.  ..  .bash_logout  .bash_profile  .bashrc
[root@localhost ~]# chmod -R 700 /home/hadoop

5、修改/home/hadoop目錄及其內部所有文件的屬主為hadoop,屬組為hadoop。

[root@localhost ~]# chown -R hadoop:hadoop /home/hadoop
[root@localhost ~]# ls -ld /home/hadoop
drwx------. 2 hadoop hadoop 59 Oct  8 18:22 /home/hadoop

從題3到題5的過程結束后,在給hadoop賬戶一個密碼,hadoop賬戶
就可以登錄了,是一個手動添加賬戶的過程

[root@localhost ~]# echo "111111" | passwd --stdin hadoop

6、顯示/proc/meminfo文件中以大寫或小寫S開頭的行;用兩種方式;

[root@localhost ~]# grep -E "^[s|S]" /proc/meminfo
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:              7016 kB
Slab:              70112 kB
SReclaimable:      27504 kB
SUnreclaim:        42608 kB
###或者###
[root@localhost ~]# grep -E "^[s|S]" /proc/meminfo
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:              7016 kB
Slab:              70112 kB
SReclaimable:      27504 kB
SUnreclaim:        42608 kB

7、顯示/etc/passwd文件中其默認shell為非/sbin/nologin的用戶;

[root@localhost ~]# grep -v  "/sbin/nologin" /etc/passwd
##只顯示用戶名##
[root@localhost ~]# grep -v  "/sbin/nologin" /etc/passwd | cut -d: -f1

8、顯示/etc/passwd文件中其默認shell為/bin/bash的用戶;

[root@localhost ~]# grep  "/bin/bash" /etc/passwd
[root@localhost ~]# grep  "/bin/bash" /etc/passwd | cut -d: -f1

9、找出/etc/passwd文件中的一位數或兩位數;

[root@localhost ~]# grep -Eo "\<[0-9]{1,2}\>" /etc/passwd

10、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行;

[root@localhost ~]# grep -E "^[[:space:]]+" /boot/grub/grub.conf
 ##或者##
[root@localhost ~]# grep -E "^[[:space:]]{1,}" /boot/grub/grub.conf

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

[root@localhost ~]# grep -E "^#[[:space:]]+[^[:space:]]+" /etc/rc.d/rc.sysinit

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

[root@localhost ~]# netstat -tan | grep -E "LISTEN[[:space:]]*$"

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

[root@localhost ~]# useradd bash
[root@localhost ~]# useradd testbash
[root@localhost ~]# useradd basher
[root@localhost ~]# useradd -s /sbin/nologin nologin
[root@localhost ~]# egrep "^([^:]+).*\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
nobody:x:99:99:Nobody:/:/sbin/nologin
hadoop:x:3005:3005::/home/hadoop:/bin/bash
bash:x:3006:3006::/home/bash:/bin/bash
basher:x:3008:3008::/home/basher:/bin/bash
nologin:x:3009:3009::/home/nologin:/sbin/nologin

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

(0)
luoluoluoluo
上一篇 2016-10-17
下一篇 2016-10-17

相關推薦

  • class8 文本處理工具sed和vim編輯器

    一、處理文本的工具sed     Stream EDitor,  行編輯器     sed是linux上一款比較重要的流編輯器。     特點:一次處理一行內容,處理完成后,把緩沖區的內容送往屏幕。這樣不斷重復,直到文件末尾。 &…

    Linux干貨 2016-08-11
  • 15磁盤管理

    在系統中,常見的硬盤接口有分兩類:并行的和串行的 并行: IDE: 133MB/s SCSI: 640MB/s 串行: SATA: 6Gbps SAS: 6Gbps USB: 480MB/s 存儲設備的設備文件命名方式大致為:/dev/DEV_FILE IDE: /dev/hd#  #–>0,1,2,3 SCSI,SATA,SAS…

    Linux干貨 2016-12-02
  • linux 學習筆記

    第一周

    Linux干貨 2018-03-16
  • N22-妙手-第十周博客作業

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情)     (1) POST階段         加電自檢,確保每個設備能正常工作     (2) BIOS  &nb…

    Linux干貨 2016-12-05
  • bash之運算、測試、if語句及for循環語句

      一、邏輯運算         布爾運算:真、假         與運算:                 真 && 真 = 真       …

    Linux干貨 2015-05-25
  • Linux文件查找工具之find “大寶劍”

    一、文件查找工具常用軟件 locate:     locate命令其實是find -name的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個數據庫/var/lib/locatedb,這個數據庫中含有本地所有文件信息。Linux系統自動創建這個數據庫,并且每天自動更新一次,所以使用locate命令…

    Linux干貨 2016-03-12

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-10-20 19:35

    很棒,看的出來真的是在很用心的完成作業,繼續保持。

欧美性久久久久