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 �Cd /tmp/x*

1.5     文件权限

                   文件权限主要分为rwx三种,对文件和目录而言三种权限作用不同

                            对文件而言:

                                     r:读取文件信息

                                     w:更改文件内容

                                     x:将文件提交内核执行权限

                            对目录而言:

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

                                     w:创建删除此目录中的文件信息

                                     x:能否进入该目录的权限及ls�Cl该目录的权限

    

1.6用户权限,组权限及其他权限

                   useradd  用户添加命令   groupadd 用户添加命令   usermod用户属性修改命令

                   groupmod  组权限修改命令 userdel 用户删除命令   groupdel 组删除命令

useradd 用户添加命令:

                   格式:  useradd [options] LOGIN

                                                        -u  指明uid

                                                        -g      指明gid  需事先存在

                                                        -G  修改附加组,-a �CG为追加附加组

                                                        -D     设定默认添加用户设定

                                                        -m    强制创建家目录

                                                        -M    强制不让创建家目录

                                                        -r      指明添加用户为系统用户

 

         groupadd组添加命令:

                   格式:   groupadd [options] group

                                                                 -g   指明gid

                                                                 -h      显示帮组

                                                                 -p      设定组密码

                                                                 -r      创建系统组

 

         usermod  用户属性修改命令:

                   格式:   usermod [options] LOGIN

                                                                 -a�CG  追加附加组

                                                                 -c        修改注释信息

                                                                 -s        修改用户指定shell   

                                                                 -d        修改用户指定家目录

                                                                 -g        修改用户从属组

                                                                 -G       修改用户附加组

                                                                 -u        修改用户UID

                                                                 -L        锁定用户

                                                                 -U       解锁用户

                                                                 -l         修改登录名

 

         groupmod  用户组信息修改命令:

                   格式:   groupmod [options] GROUP

                                                                 -g      修改GID

                                                                 -h      显示帮助

                                                                 -p      设定组密码

                                                                 -n  修改组名字

 

         userdel�Cr  删除用户时强制删除其家目录

         groupdel   有用户从属于该组则不可以删除

 

         id可查看用户信息

         Id    �Cu仅显示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


  

            

你可能感兴趣的:(linux,正则表达式,权限管理)