• 重定向与管道符


    1、重定向
       程序 = 指令(命令) + 数据(变量)
       在程序中,数据如何输入?又如何输出?
       数据输入:键盘--标准输入,但并不是唯一输入方式
              --stdin
              echo"123456" | passwd --stdin "username" 同一行输入密码和用户,不进入交互界面

              while line;do
                    循环体$line
              done < /etc/passwd

        数据输出:显示器--标准输出,但并不是唯一输出方式
              ls /etc > a.txt

        fd文件标识符 0-9
              0 1 2 被定义的标识符,剩下的可以自己手动来定义
              0---标准输出
              1---标准输入
              2---错误输入输出(标准错误)
        常见重定向符号
              1、标准输出
                >      覆盖重定向、非常危险(重定向后原数据会丢失)
               set -C   关闭覆盖重定向
                >|     强制重定向
                >>     追加重定向,不覆盖
              2、标准输入
                <      替换文件内容
                tr set1 [str2] < file.txt

                tr abc ABC < /etc/passwd > /etc/passwd.bak 把/etc/passwd文件下的abc替换为ABC,输出到passwd.bak中


                <<      将多行数据同时输入
                       cat>>a.txt<<EOF(只是一个标准,写什么都可以)
                       >1
                       >2
                       >3
                       >EOF(输入完毕之后,写自己定义的退出)

              3、错误输出
                2>
                扩展:不需要输出内容,只需要输出状态;
                   ls /etc > /dev/null
                   if[$? -eq 0];then
                       循环体
                   fi
                2>>
                &> &>> == 2&>1

     

    2、管道 -tee
         |(管道符)
            command1 | command2 | command3 | ... ...
            前一个命令的止盈结果交给后一个命令来执行
            【Linux思想:结合小功能,实现大大功能】
            free -m | grep "^mem" | cut -d' ' -f19
            free -m | grep "^mem" | awk'{print $3}'
         tee
            一路输入,两路输出
            tee /tmp/tee.out //没有文件会创建,默认如果文件内有内容,会被覆盖;

       练习:
         1、将/etc/passwd文件中的前5行内容转换为大写后保存至/tmp/passwd.out文件中
             head -5 /etc/passwd | tr [a-z] [A-Z] > /tmp/passwd.out

         2、将登陆至当前系统上用户信息汇总的后三位信息转换为大写后保存至/tmp/who.out文件中;
             who | tail -3 | cut -d' ' -f1 | tr [a-z] [A-Z] > /tmp/who.out

         tail 查看文件尾部多少行(默认10行)
              -n     tail -n 5 /etc/passwd == 简写 tail -5 /etc/passwd
              -f     实时查看文件更新内容
              tail -f /var/log/message
         head 查看文件头部多少行(默认10行)
             -n #    前#行,简写-#
             取10-20行 head -20 /etc/passwd | tail -10

  • 相关阅读:
    Delphi XE10编写的《海康摄像机SDK测试DEMO》
    Delphi XE10编写的《开放式公路收费系统》
    Delphi XE7 用indy开发微信公众平台所有功能,可刷阅读,可刷赞,可加推广(除微支付)
    Delphi XE7 用indy开发微信公众平台(9)- 高级群发接口
    Delphi XE7 用indy开发微信公众平台(8)- 自定义菜单
    Delphi XE7 用indy开发微信公众平台(7)- 用户管理
    Delphi XE7 用indy开发微信公众平台(6)- 被动回复用户消息
    Delphi XE7 用indy开发微信公众平台(5)- 接收事件推送
    Delphi XE7 用indy开发微信公众平台(4)- 接收普通消息
    Delphi XE7 用indy开发微信公众平台(3)- 验证消息真实性
  • 原文地址:https://www.cnblogs.com/4443056bdH/p/11317653.html
Copyright © 2020-2023  润新知