8-27 linux 學習(權限管理,正則表達式)

    

8-27 Study

1.  學習命令總結:(word寫的,格式可能上傳時出了點問題)

1.1cut:針對字符串切片操作    sort:排序操作      uniq:去重操作

cut命令:

         格式:cutOPTION... [FILE]...

                                     -b:只查找位

                                     -c:只查找字節

                                     -d:設定間隔符

                                     -f:設定選擇顯示文件項

                                               單文件#;

                            遊離多文件##

                            連續多文件#-#

                                      -n: 不分割複合字符串

sort命令:

         格式:sort[OPTION]... [FILE]...

                                     -b:忽略空白行

                                     -d:只排列字符串空白行

                                     -f:忽略大小寫

                                     -g:根據文件值來排序

                                     -i:只排序字符串,不包括空白行

                                     -n:根據字符串數值大小比較

                                     -R:根據hash值排序

                                     -r:逆序       

uniq命令:

         格式:uniq[OPTION]... [INPUT [OUTPUT]]

                                     -c:統計行數

                                     -d:只打印輸出重複行,每行只輸出一次

                                     -D:

                                     -i:忽略大小寫

                                     -s:跳過多少字符進行比較

                                     -u:只顯示出現一次的行

例子:

         列出當前系統上所有已經登錄的用戶,多次出現的只顯示一次:

            wKioL1XlSLuQR7BoAAA9fswVswQ405.jpg

         取出當前shell中被使用最多的shell,並顯示取用次數:

        wKioL1XlSQKBaAUSAABeWe9Elt4175.jpg

      /etc/passwd中第三個字符段中數值最大的後10個用戶信息全部改爲大寫後保存至/tmp/test/newpasswd中:

        wKiom1XlRxKRsHW1AAIFRp4wUtI167.jpg

        

1.2alias命令別名:

    

    由於易用性考慮命令執行最好默認帶上一些參數,alias可設置命令別名實現此功能,alias查看全部命令別名,unalias 取消命令別名:

       截圖如下:

                   alias顯示全部命令別名:

        wKiom1XlR5uTlkrVAADvYh-6xQM237.jpg

                    alias設定命令別名:

                wKioL1XlSdex9jWSAAB6CEyMjJc841.jpg

                    

            取消命令別名:

                wKiom1XlR-7xV-_VAADenHiT3ds349.jpg

1.3bash支持三種引用模式:

                            強引用:’’     強引用中出現的字符只會原意出現

                            弱引用:”” “”           弱引用中出現變量名會引用其實際值

                            命令引用:`COMMAND`   $(COMMAND) 調用命令產生結果

1.4文件通配符:

                            ?:表示任意一個字符

                            *:表示任意數量任意字符

                            []表示範圍

                            [^]:表示範圍取反

                            [:upper:]全部大寫字符  [:lower:]全部小寫字符  [:digit:]全部數字字符

                            [:alpha:]全部字母字符  [:alnum:]數字字母字符  [:punct:]符號字符

                            [:space:]空白字符

 

查找目錄一定要加ls –d /tmp/x*

1.5     文件權限

                   文件權限主要分爲rwx三種,對文件和目錄而言三種權限作用不同

                            對文件而言:

                                     r:讀取文件信息

                                     w:更改文件內容

                                     x:將文件提交內核執行權限

                            對目錄而言:

                                     r:讀取目錄下的文件及子目錄信息,不可以使用ls -l

                                     w:創建刪除此目錄中的文件信息

                                     x:能否進入該目錄的權限及ls–l該目錄的權限

    

1.6用戶權限,組權限及其他權限

                   useradd  用戶添加命令   groupadd 用戶添加命令   usermod用戶屬性修改命令

                   groupmod  組權限修改命令 userdel 用戶刪除命令   groupdel 組刪除命令

useradd 用戶添加命令:

                   格式:  useradd [options] LOGIN

                                                        -u  指明uid

                                                        -g      指明gid  需事先存在

                                                        -G  修改附加組,-a –G爲追加附加組

                                                        -D     設定默認添加用戶設定

                                                        -m    強制創建家目錄

                                                        -M    強制不讓創建家目錄

                                                        -r      指明添加用戶爲系統用戶

 

         groupadd組添加命令:

                   格式:   groupadd [options] group

                                                                 -g   指明gid

                                                                 -h      顯示幫組

                                                                 -p      設定組密碼

                                                                 -r      創建系統組

 

         usermod  用戶屬性修改命令:

                   格式:   usermod [options] LOGIN

                                                                 -a–G  追加附加組

                                                                 -c        修改註釋信息

                                                                 -s        修改用戶指定shell   

                                                                 -d        修改用戶指定家目錄

                                                                 -g        修改用戶從屬組

                                                                 -G       修改用戶附加組

                                                                 -u        修改用戶UID

                                                                 -L        鎖定用戶

                                                                 -U       解鎖用戶

                                                                 -l         修改登錄名

 

         groupmod  用戶組信息修改命令:

                   格式:   groupmod [options] GROUP

                                                                 -g      修改GID

                                                                 -h      顯示幫助

                                                                 -p      設定組密碼

                                                                 -n  修改組名字

 

         userdel–r  刪除用戶時強制刪除其家目錄

         groupdel   有用戶從屬於該組則不可以刪除

 

         id可查看用戶信息

         Id    –u僅顯示UID

                   -g僅顯示GID

                   -G顯示groups

                   -n 顯示名字而非id

 

         例子:創建用戶slackware,其id2002,基本組爲distro,附加組爲peguin

            wKioL1XlSmiR2lqlAADdREQaric023.jpg

        修改slackware默認shell/bin/tcsh

            wKiom1XlSG7x09ohAACgasXSpSI109.jpg

        爲其新增附加組admins

        wKioL1XlSrWhJc6XAACnvDptXgw080.jpg

     slackware添加密碼,密碼最短使用時間3天,最長180天,警告時間爲3

        wKiom1XlSMziu-xQAABtzt7QePY883.jpg

    使用非交互式命令添加用戶openstack並添加密碼

        wKioL1XlSvvhjo3ZAACVv7KHo_o200.jpg

1.7chown  修改用戶權限命令

         chown主要用於修改文件rwx權限

                   格式: chown[OPTION]... [OWNER][:[GROUP]] FILE...

                                               -R     迭代修改

                                                        --reference設定文件權限參考

chown [-R][--reference] [USER][:GROUP] FILE

                                                        更改[屬主]屬組

                                                        :GROUP只改屬組

                  

         chown修改權限注意不要讓文件擁有x權限,這是一件爲危險的事

        

         chmod--reference=/tmp/test/new /tmp/test/fstab

                      參考項           按參考項修改屬性

 

            [root@localhost test]# chmod u=rwx,go=rw fstab

            [root@localhost test]# ll -d fstab

            -rwxrw-rw-. 1 root root 501 Aug 10 06:30 fstab

            [root@localhost test]# chmod u-w,g-w,o-w fstab

            [root@localhost test]# ll -d fstab

            -r-xr--r--. 1 root root 501 Aug 10 06:30 fstab

            [root@localhost test]# chmod a+w fstab

            [root@localhost test]# ll -d fstab

            -rwxrw-rw-. 1 root root 501 Aug 10 06:30 fstab

            [root@localhost test]# chmod -x fstab

            [root@localhost test]# ll -d fstab

            -rw-rw-rw-. 1 root root 501 Aug 10 06:30 fstab

            [root@localhost test]# ls -l

            total 8

            -rw-rw-rw-. 1 root root 501 Aug 10 06:30 fstab

            -rw-r--r--. 1 root root 501 Aug 10 06:40 new        ///顯示原文件屬性信息

            [root@localhosttest]# chmod --reference=/tmp/test/new /tmp/test/fstab  //按參考文件修改屬性

            [root@localhost test]# ls -l

            total 8

            -rw-r--r--. 1 root root 501 Aug 10 06:30 fstab

            -rw-r--r--. 1 root root 501 Aug 10 06:40 new

1.8umask 遮罩碼

umask遮罩碼:

         文件:666-umask

                   注意:如果減的結果存在執行權限(umask中存在x權限),則讓對應用戶權限+1

         目錄:777-umask

                  

umask NUMBER  設置遮罩碼  只對當前shell有效

 

 

1.9:正則表達式與擴展正則表達式:

         正則表達式:

                   字數匹配:

                            .任意單個字符

                            []匹配範圍內的任意一個字符

                            [^]匹配範圍外的任意一個字符

                  

次數匹配:

                            *任意個*之前的字符

                            \{m,n\}:之前字符至少出現m次,至多出現n

                            \?:出現0次或1

                            \+:至少出現1

                           

                   位置錨定:

                            ^行首錨定

                            $行尾錨定

                            \<單詞詞首錨定  \b也可以

                            \>單詞詞尾錨定     \b也可以

                           

                            \(\)分組:

分組模式中匹配到的具體字符可以被grep記憶,(保存於內置變量中,可以被/1,/2,/3引用)

                            例: grep “\(a.b\).*\1”:可以查找amb helloamb  不能查找amb hello anb

 

擴展正則表達式:

         擴張正則表達式與正則表達式不同點:

                   次數匹配:

                            ?表01

                            +1或多次

                            {m}精確匹配m  即擴張正則表達式不需要轉義了

                           

                   分組()也不需要轉義

                   支持或者  a|b abc|Cba  abc或者Cba


2.作業:

顯示/etc/passwd文件中以bash結尾的行

        

        wKioL1XlTDnS8XiAAACrghwzxS8109.jpg

     

顯示/etc/passwd文件中的兩位數或三位數    

        wKioL1XlTDnQBxlrAABIafpcI-4945.jpg

    

顯示`netstat -tan`命令結果中以‘LISTEN’後跟0個、1個或者多個空白字符結尾的行

wKiom1XlShrAtixIAADdNkWmWGg404.jpg

添加用戶bashtestbashbasher以及nologin用戶(nologin用戶的shell/sbin/nologin);而後找出/etc/passwd文件中用戶名與其shell名相同的行


wKioL1XlTDqBv5Q2AADXjS12dMc304.jpg

顯示當前系統上rootcentos或者user1用戶的默認shellUID (請事先創建這些用戶,若不存在)


wKiom1XlShqxE1HnAAB6p27eXiA259.jpg

找出/etc/rc.d/init.d/functions文件中某單詞(單詞中間可以存在下劃線)後面跟着一組小括號的行

wKioL1XlTOCCOCoyAADnxNMLJsc959.jpg

使用echo輸出一個路徑,而後egrep找出其路徑基名;進一步的使用egrep取出其目錄名



wKiom1XlSsCx2r0DAABNvIM4eNU878.jpg

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


wKioL1XlTOKgec3rAADnq1vA42s744.jpg

問題:

    找出ifconfig命令執行結果中1-255之間的數字採取如下方式爲什麼取不出127.192等三位數

wKioL1XlTOODTGzzAADOjKClKXA403.jpg

    使用echo輸出一個路徑,取出其路徑名:未完成,還得理下思路

wKiom1XlSsTS-HHiAABiphbGu3Y195.jpg


  

            

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章