zoukankan      html  css  js  c++  java
  • Xshell学习第二课:重定向和管道符

    重定向和管道符

    1.重定向:

       程序等于指令加数据

       指令就是命令,数据就是变量

       在程序中,数据如何输入,如何输出?

       数据输入:键盘—标准输入,但是并不是唯一的输入方式

                 --stdin

                 --echo “123456” | passwd –stdin “username”---同一行直接输入密码而不进入交互式界面;

                 --功能添加用户 useradd.sh user.txt文本文档1000个用户

                   ./useradd.sh <user.txt

                 --while line;do

    循环体$lines

                   done < /etc/passwd

    数据输出:显示器---标准输出,但并不是唯一的输出方式

               Ls /etc/ > a.txt

    Fd  文件标识符 0-9 ---相当于给文件分类;

                   0   1    2

                    0----标准输出

                    1----标准输入

                    2----错误输入输出(标准错误)

    常见重定向符号:

    1、 标准输出

     >      覆盖重定向、非常危险,

    Set -C   去掉覆盖重定向的功能

    >|       强制重定向

    >>      追加重定向,不覆盖

    2、 标准输入

    <   tr 替换文件内容

      --tr set1 [set2] < file.txt

    <<  cat 将多行数据同时输入

    --cat >>a.txt<<EOF

    >1

    >2

    >3

    >EOF

    3、错误输出

                      2>.

                      扩展:不需要输出内容,只需要输出状态;

                   ----------ls /etc. > /dev/null 2> /dev/null

                              If [$? -eq 0];then

                                    

                              Fi

                       &> &>> == 2&>1

                             --ls /etc/ &> /dev/null

                      2>>

    2.管道 – tee

              Command1 | commend2 | commend3 | ……

              前一个命令的执行结果交给后一个命令来执行;

               【Linux思想:结合小功能实现大功能】

    管道符:

    定位

    定位行和列

    --free -m | grep “^Mem” | cut -d’ ’ -f19

    --free -m | grep “ ^Mem” | awk ‘{print $3}’

      --tee 一路输入,俩路输出

            --tee /tmp/tee.out

            如果没有文件,会创建,默认如果文件存在内容,会覆盖;

            在输入的时候,会先打印输出一遍,然后查看再输出一边

    练习:

    /etc/passwd文件中的前五行内容转换成大写保存在/tmp/passwd.out文件中

    将登录至当前系统上用户信息汇总的后三位信息转换为大写后保存至/tmp/who.out文件中

    who | tail -2 | cut -d‘ ’ -f1 | tr [[:lower:]] [[:upper:]] | tee /tmp/who.out

    --tail  查看文件尾部多少行(默认10行)

           -n    指定多少行

           -f     实时查看文件更新内容

    --head 查看文件头部多少行(默认10行)

           -n     前n行

    取10-20行:head – 20 /etc/passwd | tail -10

  • 相关阅读:
    哈希表详解
    简单字典实现(KV问题)
    【数据结构】——搜索二叉树的插入,查找和删除(递归&非递归)
    【数据结构】——堆及其应用
    初学者的迷茫
    【数据结构】顺序表和链表
    程序运行机理
    回调函数到底是怎么一回事呢?
    C语言中函数可变参数解析
    《剑指offer》数组中出现次数超过数组长度一半的数字
  • 原文地址:https://www.cnblogs.com/huangchuan/p/11317547.html
Copyright © 2011-2022 走看看