• 8.12 shell入门


    重定向和管道符:
    1.重定向 - tr
      程序=指令(命令)+数据(变量)

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

      数据输入: 键盘(标准输入)~~但并不是唯一输入方式
      --stdin
      echo "123456" | passwd --stdin "username"

      例如:功能添加用户 useradd.sh user.txt文本文档1000个用户
    ./useradd.sh a
    ...

    ./useradd.sh < user.txt

    while line:do
    循环体
    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 >> a.txt <<EOF
        >1
        >2
        >3
        >EOF
      3.错误输出
        2> 2>>
        扩展:不需要输出内容,只需要输出状态:
        ls /etc/ > /dev/null 2> /dev/null
        if [$? -eq 0];then
        循环体
        fi
        &> &>> == 2&>1
        ls /etc /&> /dev/null
    2.管道 - tee

    command1 | command2 | command3 |……

      前一个命令的执行结果交给后一个命令来执行
      [Linux思想:结合小功能实现大功能]
      free -m | grep "^M" | cut -d ' ' -f23

      tee 一路输入两路输出(输出一次,保存一次)
      tee /tmp/tee.out //如果没有文件,会创建,如果文件存在并有内容,会覆盖
      tail 查看文件尾部多少行(默认10行)
      -n tail -n 5 /etc/passwd
      -f 实时查看文件更新内容
      tail -f /var/log/message
      head查看文件头部多少行(默认10行)
      -n head -n 5 /etc/passwd
      取10行到20行:head -20 /etc/passwd |tail -10

    3.文本处理工具 - wc,cut,sort,uniq

      wc(word count)
      功能说明:计算字数。
      语  法:wc [-clw][--help][--version][文件...]
      补充说明:利用wc指令我们可以计算文件的Byte数、字数、或是列数,
      若不指定文件名称、或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
      参  数:
      -c或--bytes或--chars 只显示Bytes数。
      -l或--lines 只显示列数。
      -w或--words 只显示字数。
      --help 在线帮助。
      --version 显示版本信息。

      cut
      使用权限:所有使用者
      用法:cut -cnum1-num2 filename
      说明:用来做文件分割,显示每行从开头算起 num1 到 num2 的文字。
      局限性:   1、 -d指定分隔符不能同时指定多个
            2、不能做高级的格式化输出
      所以需要熟练掌握awk
      范例:
      shell>> cat example
      test2
      this is test1
      shell>> cut -c0-6 example ## print 开头算起前 6 个字元
      test2
      this i

      sort
      功能说明:将文本文件内容加以排序。
      语  法:
      sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
      补充说明:sort可针对文本文件的内容,以行为单位来排序。
      参  数:
      -b 忽略每行前面开始出的空格字符。
      -c 检查文件是否已经按照顺序排序。
      -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
      -f 排序时,将小写字母视为大写字母。
      -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
      -m 将几个排序好的文件进行合并。
      -M 将前面3个字母依照月份的缩写进行排序。
      -n 依照数值的大小排序。
      -o<输出文件> 将排序后的结果存入指定的文件。
      -r 以相反的顺序来排序。
      -t<分隔字符> 指定排序时所用的栏位分隔字符。
      +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
      --help 显示帮助。
      --version 显示版本信息。

      uniq
      功能说明:检查及删除文本文件中重复出现的行列。
      语  法:
      uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]
      补充说明:uniq可检查文本文件中重复出现的行列。
      参  数:
      -c或--count 在每列旁边显示该行重复出现的次数。
      -d或--repeated 仅显示重复出现的行列。
      -f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。
      -s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。
      -u或--unique 仅显示出一次的行列。
      -w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。
      --help 显示帮助。
      --version 显示版本信息。
      [输入文件] 指定已排序好的文本文件。
      [输出文件] 指定输出的文件。

         

  • 相关阅读:
    坑爹的VS2012
    View Properties [AX 2012]
    Understanding the RelationshipType Enumeration [AX 2012]
    《操作系统概念》学习笔记-第二章
    《操作系统概念》学习笔记-第一章
    操作系统云课堂笔记
    C#学习笔记
    github生成SSH公钥
    【笔记】第一次将网站部署到服务器上
    windows下postgresql安装失败解决方法:无法运行getlocales.exe
  • 原文地址:https://www.cnblogs.com/liuyuanzzz/p/11345503.html
Copyright © 2020-2023  润新知