• 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

  • 相关阅读:
    将ip地址转成二进制数据,除基本输入输出不调用库函数实现
    将ip地址转成二进制数据
    一种合并链表方法实现 严蔚敏 数据结构
    阿里巴巴集团2014年校园招聘系统工程师北京笔试题
    显示模态模态对话框和非模态对话框
    MFC中利用CString和Format成员函数将数字格式化输出
    ObjectARX2012错误1 fatal error C1083: 无法打开包括文件:“arxHeaders.h”: No such file or directory; fatal error C1083: 无法打开包括文件:“map”: No such file or directory
    Metasploit 读书笔记-神器Meterpreter
    解决:kali linux 在vmware 虚拟机中使用bridge模式上网的问题
    metasploit 读书笔记-EXPLOITATION
  • 原文地址:https://www.cnblogs.com/huangchuan/p/11317547.html
Copyright © 2020-2023  润新知