Linux基础学习——glob通配符及IO重定向

glob通配符及IO重定向

回顾: bash基础特性:命令补全、路径补全、命令引用 文件或目录的复制、移动、删除

bash的基础特性:globbing:文件名通配

      匹配模式:元字符
         *:匹配任意长度的任意字符
                 pa*,*pa*,*pa,*p*a*
                     pa,paa,passwd
         ?:匹配任意单个字符
             pa?,??pa,p?a,p?a?
                 pa,paa
         []:匹配指定范围内的任意单个字符
             有几种特殊格式
                 【a-z】,【A-Z】,【0-9】,【a-z0-9】
                 [[:upper:]]:所有大写字母
                 [[:lower:]]:所有小写字母
                 [[:alpha:]]:所有字母
                 [[:digit:]]:所有数字
                 [[:alnum:]]:所有字母和数字
                 [[:space:]]:空白字符
                 [[:punct:]]:所有标点符号
 
         [^]:匹配指定范围外的任意单个字符
                 [^[:upper:]]
     练习1:显示/var目录下所有以1开头,以一个小写字母结尾,且中间出现一位任意字符的文件或目录:
             ls -d /var/1?[[:lower:]]
     练习2:显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录
             ls -d /etc/[0-9]*[^0-9]

IO重定向及管道

程序:指令+数据

可用于输入的设备:文件 键盘设备、文件系统上的常规文件、网卡等

可用于输出的设备:文件 显示器,文件系统上的常规文件、网卡等

程序的数据流有三种:

输入的数据流: <--标准输入(stdin),键盘;

输出的数据流: -->标准输出(stdout), 显示器;

错误输出流: -->错误输出(stderr),显示器


     
     fd:file descriptor ,文件描述符
         标准输入:0
         标准输出:1
         错误输出:2
 
 IO重定向:
     输出重定向: >
         特性:覆盖输出
     输出重定向: >>
         特性:追加输出
 
     #set -C
         禁止覆盖输出重定向至已存在的文件
         此时可使用强制覆盖输出:>
     #set +C
         关闭上述特性
 
     错误输出流重定向:2>,2>>
 
     合并正常输出流和错误输出流:
         &>,&>>
         COMMAND > /path/to/somefile 2&>1
         COMMAND >> /path/to/somefile 2&>1
 
     输入重定向:<
     
     tr命令:
         tr [OPTION]... SET1 [SET2]
             把输入的数据当中的字符,凡是在SET1定义范围内出现的,通通对位转换为SET2 出现的字符
         用法1:
             tr SET1 SET2 < /path/from/somefile
         用法2:
             tr -d SET1 < /path/from/somefile 删除
 
         注意:不修改源文件
 
     Here Document: <<
         cat << EOF
         cat > /path/to/somefile << EOF
 
     管道:连接程序,实现将前一个命令的输出直接定向后一个程序当做输入
         COMMAND1 | COMMAND2 | COMMAND3 ...
 
         tee命令:
             COMMAND | tee /PATH/TO/somefile   输出并给定向后一个程序
     
     练习1:吧/etc/passwd文件的前六行的信息转换为大写字符后输出:
         head -n 6 /etc/passwd | tr 'a-z' 'A-Z'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值