• shell_2


    1、重定向
     程序 =指令 +数据
                命令    变量
     在程序中,数据如何输入?又如何输出?
     数据输入:键盘 -- 标准输入,但其并不是唯一的输入方式;
      --stdin
      echo "123456" | passwf --srdin "username"
      例如:功能添加用户 txt文本文档1000个用户
       ./useradd.sh a
       ./useradd.sh b
       .......
       ./useradd.sh < user.txt
    #切记以列的方式处理
      while line;do
       循环体 $line
      done < /etc/passwd
     
     数据输出:显示器 --标准输出,但是并不是唯一输出的方式
      ls /etc/ > a.txt
     
     fd文件标识符 0-9-- 相当与给文件分类;
      0     1     2
      0 --标准输出
      1 --标准输入
      2 --错误输入输出(标准错误)
     常见重定向符号
      1、标准输出
      > 覆盖重定向、非常危险
      set+C 增加覆盖重定向功能
      set -C 关闭覆盖重定向功能
      >| 强制重定向
      >>  追加重定向
       不覆盖
      2、标准输入
      <  a<b #把b的内容交给a输入
      <  tr  替换文件内容
       tr set1 [set2] < file.txt
      << 将多行数据同时输出
      用法: cat >>a.txt<<EOF
       >1
       >2
       >3
       >EOF #结束语
      3、错误输出
      2>  2>>
      扩展:不需要输出内容,只需要输出状态;
       ls /etc/ > /dev/null
       if [ $? -eq 0 ];then
        循环体
      
       fi
      ls 阿斯顿  >/dev/null 2>/dev/null  
      /dev/null(黑洞文件) 来什么吃什么(删除)
      /dev/zero 吹泡泡
      &> &>> == 2&>1
       ls /etc/ &> /dec/null
      2>>
      

    2、管道 -tee
     command1 | command2 | command3 | ... ...
     前一个命令的执行结果交给后一个命令来执行;
      【Linux思想:结合小功能实现大思想】
     free -m | grep "^Mem" | cut -d' '  -f19
      free -m | grep "^Mem" | awk '{print $3}'
     find  【范围】  -name
     tee 一路输入,两路输出
      tee /tmp/tee.out
      如果没有文件,会创建,默认如果文件存在有内容,会覆盖;
     练习:
     将/etc/passwd文件
      head -5 /etc/passwd | tr [a-z] [A-Z] > /tmp/passwd.out
      tr 替换
      cut 剪切 cut -d' '  -f19
        
    3、文本处理工具 - wc,cut,sort, uniq
  • 相关阅读:
    每日一题_191101
    阿基米德三角形(交互式学件)
    2018四川高考数学(全国卷3)理科21题以泰勒公式为命题背景(同时深挖去年高考题)和它的另类解法的瞎谈
    给老谢画的图(平面几何中的动点与最值问题)
    2018四川高考文科21题
    数学解题的思维过程
    Qt Creator 模块QtSql
    QT Creator快捷键不能用
    QT 随机数
    C++ 4 种具有更 为准确语义的新强制转换类型
  • 原文地址:https://www.cnblogs.com/wangzhehui/p/11345526.html
Copyright © 2020-2023  润新知