• 鸟书shell 学习笔记(一) shell专注于概念和命令


    变量

      variableName=value
    1. 等号左右不能有空格
    2. 变量内容有空格须要用"或者'括起来,可是 v="hello $name" $保持原有功能,单引號则不行,v="hello '$name'"纯文本
    3. 可用转义符将特殊字符转成普通文本 `命令`,$(命令) ,在文本中提供命令运行信息
    4. 变量累加, name=xiaoyi ; name=$name:'welcome to hz'
    5. 子进程可以继承父进程的环境变量可是不可以继承父进程的自己定义变量,export 变量名;将自己定义变量变成环境变量

    从键盘读入数据:
        read -p '提示语' -t num v # num 时间,v 变量名
    数组的申明和使用:
        v[1]='hello';v[2]='xiao'
        echo ${v[1]}


    路径与命令的查找顺序

    1. 以相对/绝对路径运行命令,如/bin/ls
    2. 由alias找到该命令来运行
    3. 由bash内置的命令运行
    4. 通过$PATH这个变量的顺序找到第一个命令来运行


    读取shell配置文件的命令
    source 或者就是一个点 . ,    因为.bashrc仅仅能在登陆的时候才会被读,假设中途改动了想马上生效的话,我们就须要调用source命令读取当前改动的对应配置文件
    eg: source ~/.bashrc equals . ~/.bashrc 


    管道命令

    场景: 当数据须要经过几次处理之后才干到我们想要的格式的时候
    管道之后第一个数据一定是能够接受standard input的命令

    选取命令:cut,grep 
    • cut
             cut 按行为单位切出来 cut -d '切割字符' -f fields ,主要是用于行数据的切割显示
             cut -c 字符范围
             eg:
                echo $PATH | cut -d ':' -f 5 //选取path中以:切割的第五个路径
    • grep
    grep 将一行信息中我们想要的数据分析出来
    grep [-acinv] [--color=auto] '查找字符串' filename
    -a 将binary文件以 text的方式查找数据
    -c 统计匹配到的数据个数
    -i 忽略大写和小写
    -n 输出行号
    -v 输出没有匹配内容的那一行
             grep能够结合正则表达使用

    排序与统计命令 sort ,wc ,uniq
    • sort 
      sort [-fbMnrtuk] [file or stdin]
      -f 忽略大写和小写
      -b 忽略最前面的空格
      -M 以月份的名字排序
      -n 使用纯数字排序
      -r 反向排序
      -u 同样的数据项仅出现一项
      -t 分隔符
      -k 以以那个区间进行排序
      eg:
           cat /etc/passwd | sort -t ':' -k 1 //对以: 切割的第一列排序

    • wc  统计字, 行或者字符数
      wc [-lwm]
      -l 行数
      -w 字数
      -m 字符数 
      eg:
           cat /etc/profile | wc -lwm
    • uniq 反复的数据竟出现一次就可以
      uniq [-ic]
      -i 忽略大写和小写
      -c 进行计数
      eg:
           last | cut -d ' ' -f1  | grep '^xiaoyi'  | uniq -c

    字符转换指令 tr, col, join, paste, expand 
    • tr : tr [-ds] set1
      -d 删除信息其中的set1字段
      -s  替换掉反复的字符
      eg : 小写换大写 last | tr 'a-z' 'A-Z'


    find ./ -name "*.java" | xargs wc -l
    find grep 讲的比較好的链接: http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html

    特殊符号:



  • 相关阅读:
    使用正向proxy 连调部署在k8s 中的spring cloud 中的rest服务
    goflow golang 的基于flow的编程库
    gvm golang 的多版本工具
    jvm-profiler 学习试用
    httpdiff http 请求diff 工具
    tengine lua 模块docker 镜像集成
    tengine 支持dubbo 的docker镜像
    openresty ngx.location.capture http2 问题
    systemd 使用rc.local 说明
    revel golang的全栈开发框架
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4556900.html
Copyright © 2020-2023  润新知