zoukankan      html  css  js  c++  java
  • Linux用户组管理及用户权限1

    bash的基础特性:
        globbing:文件名通配(整体文件名匹配,而非部分)
            匹配模式:元字符
                *:匹配任意长度的任意字符
                    例:pa* 以pa开头的都符合
                        *pa* 包含pa的都符合
                        *pa    以pa结尾的都符合
                        *p*a* 里边有p,有a不在一起的都符合

                ?:匹配任意单个字符
                    pa?
                        pa 不符合
                        paa 符合
                        passwd 不符合
                    ??pa
                    p?a
                    p?a?

                []:匹配指定范围内的任意单个字符
                    有几种特殊格式:
                        [a-z],[A-Z] 注意:在这儿不区分大小写的
                        [0-9] 表示任意单个数字
                        [a-z0-9] 表示数字,或英文字母都可以
                        [abcxyz] 在前边字母中任意一个字母

                        [[:upper:]]    表示所有大写字母
                        [[:lower:]] 表示所有小写字母
                        [[:alpha:]] 表示所有字母
                        [[:digit:]] 表示所有数字
                        [[:alnum:]]    表示所有的字母和数字
                        [[:space:]] 表示所有空白字符
                        [[:punct:]] 表示所有标点符号

                            例:表示pa后边有两位数字 pa[0-9][0-9]
                                表示200-299 2[0-9][0-9]

                [^]:匹配指定范围外的任意单个字符
                    [^[:upper:]] 非大写字符之外的单个字符
                    [^0-9] 非数字之外的单个字符
                    [^[:alnum:]] 非所有字母和数字外的单个字符

    IO重定向及管道
        程序:指令+数据
            程序:必须要有IO,每个程序必定有输入输出的地方

            可用于输入的设备:文件
                例如:键盘设备、文件系统上的常规文件、网卡等
            可用于输出的设备:文件
                显示器、文件系统上的常规文件、网卡等

            程序的数据流有三种:
                输入的数据流:<--标准输入(stdin),键盘
                输出的数据流:-->标准输出(stdout),显示器
                错误输出流:  -->错误输出(stderr),显示器

            生成的文件有与之对应的fd:file descriptor,文件描述符
                标准输入:0
                标准输出:1
                错误输出:2

        IO重定向:
            输出重写向:>
                特性:覆盖输出
            输出重定向:>>
                特性:追加输出

            # set -C
                禁止覆盖输出重写向已存在的文件
                此时可使用强制覆盖输出:>|
            # set +C
                关闭"set -C"的功能
              # cat /etc/issue > /tmp/issue.out
            可以看到上边不让覆盖已存在的文件
              # cat /etc/issue >| /tmp/issue.out
            如果想要强行覆盖已存在的文件,可以用“>|”

            错误输出流重定向:2>,2>>
            合并正常输出流和错误输出流:
                第一种:&>
                        &>>
                第二种:COMMAND > /PATH/to/somefile 2>&1
                        COMMAND >> /PATH/to/somefile 2>&1

                特殊设备: /dev/null
                    放到这个文件里边的数据都会被丢弃,如果我们不需要数据流的时候可以放到这个里边
                    比如有时候我们只需要命令的状态结果,而非数据时就可以用到这个特殊设备


            输入重定向:<
                tr命令:
                    tr 命令用于转换或删除文件中的字符。
                    tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
                    tr [OPTION]... SET1 [SET2]
                        把输入的数据当中的字符,凡是在SET1定义范围内出现的,通通对位转换为SET2出现的字符

                    参数说明:
                         -c, --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
                        -d, --delete:删除指令字符
                        -s, --squeeze-repeats:缩减连续重复的字符成指定的单个字符
                         -t, --truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等

                    用法1:
                        tr SET1 SET2 < /PATH/form/somefile
                    用法2:
                        tr -d SET1 < /PATH/form/somefile
                    注意:不修改原文件

                Here Document:<<        
                    cat << EOF
                    cat > /PATH/to/somefile << EOF

        管道:|
            连接程序,实现将前一个命令的输出直接定向后一个程序当作输入
            COMMAND1 | COMMAND2 | COMMAND3 ……

            tee命令:
                把前一个命令的结果既保存一份到文件中,又把结果输出到显示器中
                COMMAND | tee /PATH/to/somefile

        练习1:把/etc/passwd文件的前6行的小写输出为大写
            # head -6 /etc/passwd | tr 'a-z' 'A-Z'

  • 相关阅读:
    创建或者连接管道+++检查管道空间是否够写入本消息++++删除管道
    从instr中截取第一个delimiter之前的内容放到outstr中,返回第一个delimiter之后的位置
    把数字按网络顺序或主机顺序存放到字符串中++++把字符串按网络顺序转换成数字++++把字符串按主机顺序转换成数字
    压缩空格的函数以及BCD码与ASCII相互转换函数
    判断文件是否存在
    把指定长度字符串转换成数字
    找到特定串在源字符串中的位置
    FTP命令详解
    docker 学习路线
    云原生技术的了解
  • 原文地址:https://www.cnblogs.com/jianchen013/p/11752611.html
Copyright © 2011-2022 走看看