嗯,这是第二天,吧

wc

  word count 统计文本文件中的字符个数
  -l 查看行数
  -w 查看字符个数
  -c 查看文件大小(字节)

 

cut

  用来分割文件内容
  -d 指定分隔符,delimiter
  -f 指定提取那一列
  -f2 输出第二列
  -f1,3 输出第一列和第三列
  -f1-3 输出第一列到第三列
  --output-delimited=’xx' 替换分割符
  局限性:-d不能指定多个分隔符,不能做高级的格式化输出

 

sort

  -n 按数字大小排序
  -r 逆序
  -f 忽略大小写
  -t -k 指定分隔符以及指定按照哪一列进行排序
  -u  去重复

 

uniq

  去重复,连续且且相同的字符才是重复
  建议,先排序,后去重
  -c 统计重复次数
  sort filename|uniq -c   查看重复次数
 

编程介绍

  早期编程:
    驱动 硬件默认时不能使用的
    不用的厂商硬件设备之间需要进行指令沟通,我们需要驱动程序进行来进行“翻译”
    更趋近与硬件工程师,要学习“汇编语言”;而“汇编语言”被厂商所限制,CC++的底层就是汇编语言
  现在编程:
    基于高级语言以及超高级语言,更好的让程序员更够的实现编程功能;
  编程语言的分类:
    高级语言、超高级语言需要*翻译*成计算机可读的语言(二进制指令)
    解释型 -- 逐行翻译,逐行执行 shell python JAVA perl
    编译型 -- 一次编译,全部执行 C语言 C++ C# java
    面向对象 -- 侧重于数据的编程语言
    面向过程 -- 侧重于指令
  编程语言的执行方式:
    顺序执行
    循环执行--for while until
    选择执行--分支结构 if case

 

shell脚本语言介绍

    有点:调用os(操作系统)的命令行,来实现所有功能
    缺点:没有库调用(区分python)
  shell脚本包括:

    1、*命令* 2、变量(全局变量、局部变量、本地变量)3、逻辑关系
  shell的第一句话(必须写)
    #!/bin/bash 定义脚本解释器
    /etc/shells -- 查看当前系统支持的shell程序
    echo $SHELL --查看当前回话的shell程序
    /etc/passwd -- 指定了用户默认支持的shell程序

shell的执行

  1、bash命令来执行脚本
    -n 查看shell脚本的逻辑错误
    -x 逐行显示执行的脚本程序
  2、授权chmod u+x filename.sh
    使用全路径执行脚本即可

 

变量

  是一段未命名的内存空间
  环境变量
  局部变量 declare命令 -- 定义变量类型
  本地变量 local 在函数中使用

  变量类型:
    数值型:
      整形 int
      浮点型 float
      布尔型 0 1   (true false)
    字符串:
      1、普通字符及字符串
      2、数组
  编程语言的分类:
    强类型语言 -- 数值必须被定义,才能进行处理或运算
    弱类型语言 -- 编程语言可以自动识别变量类型
  多态 -- 一个数据具有多个属性,而最后使用的属性取决于和他进行运算的数据

传参

  $? 上一条命令的执行状态
  $1 ... ${10}命令后面传入脚本的数据,以空格为分隔符
  $# 统计传参数量${$#}
  $*表示所有传参
  $@表示所有传参

定义变量的格式

  NAME=VALUE
  通过declare 定义变量类型
  declare -i 整数
  declare -a 数组

test文件测试、条件判断

  在脚本中,我们需要进行语句分支(判断)
  判断就是使用test命令来实现;
  使用格式
    1、test [ option ] file
    2、[ 条件语句 ]
  常见的test选项:
    比较选项:
      -eq 等于
      -ne 不等于
      -gt 大于
      -ge 大于等于
      -lt 小于
      -le 小于等于
    判断选项:
      -e 文件是否存在
      -f 是否是文件
      -d 是否是目录
      -L 是否是链接
      -r -w -x
    关联选项:
      -o 或
      -a 且
      !非
    字符串判断
      = 判断两边的字符是否相同
      != 不等于
      -z 判断字符串是否存在
      -n 存在为假,不存在为真

逻辑运算

  与 &&
  或 ||
  非 != 

算术运算

  let 1+1
  expr 1*1
  $[$1+10] 
  $(($1/$2))
  + - * / % **

shell_Day03的更多相关文章

随机推荐

  1. 【CTO变形记】有序定无序—为什么越努力,越无力

      前言:我们用自己构建的认知结构来理解和映射这个世界,通过外界的反馈来调整现有的认知.但面对的现实越来越复杂,以及面对更多的未知且陌生的情况时,我们常常试图去"修整"接受到的信息 ...

  2. mysql-01数据库基本简介

    1.数据库的概念 DB:数据库(database):存储数据的"仓库".它保存了一系列有组织的数据. DBMS:数据库管理系统(Database Management System ...

  3. 学习Java Day8

    今天学习了for循环,与C语言几乎无差异: 也学习了while和do while循环 今天学习了for循环,与C语言几乎无差异: 也学习了while和do while循环

  4. C++练习2 强制类型转换

    const可以把有关的数据定义为常量. const类型可以修饰:对象,指针,引用 使用const_cast为强制类型转换,将常量强制转换非常量. 1 #include <iostream> ...

  5. centos7中配置vnc服务多用户

    我用的本地yum源. 注意: 在配置root用户时,设置vnc密码.vncpasswd 添加普通用户时,要先在root用户下添加普通用户(如:vnc1,vnc2) useradd vnc1 passw ...

  6. brew基本操作指南

    brew安装: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)&q ...

  7. jenkins简单安装及配置(Windows环境

    jenkins简单安装及配置(Windows环境) jenkins是一款跨平台的持续集成和持续交付.基于Java开发的开源软件,提供任务构建.持续集成监控的功能,可以使开发测试人员更方便的构建软件项目 ...

  8. Git基础操作及协作流程

    一整套流程帮你实践整个 Git 操作基础流程. 来源:https://docs.microsoft.com/zh-cn/learn/paths/intro-to-vc-git/ Git 介绍 配置 G ...

  9. cximage总括功能讲解

    CxImage的功能 Constructors  构造函数 Initialization  初始化 File 文件操作,主要是编解码 Generic 图像基本变化 DSP 图像处理操作 Paintin ...

  10. mysql的七种基本关联查询方式

    -- 内连接 SELECT last_name , department_name FROM employees e JOIN departments d ON e.department_id = d ...