• shell 脚本——第一节课 bash的基本特性


    shell 程序在学校都是单行命令的形式执行,缺乏逻辑关系

    区别:使用shell实现Linux的批量管理,而不是去开发应用程序。

    Shell(python、perl

    1.bash的基本特性

       ctrl + i

       上键

        history

    2.IO重定向与管道符

    3.编程基础   

    编程原理

    程序:执行某个功能的一段代码

    程序 = 指令 + 数据 + (逻辑关系)

             命令   变量

    4.Grep和正则表达式

           Linux三剑客

           Pattern“模式”

    语句的逻辑关系

    If

    For * -- 放入for循环的列表

    While – 循环条件为True

    Until – 循环条件为False

               (不要进入死循环)

    Case -- *编写Linux的程序启动脚本*

     

    Break

    Continue

     

    Exit

    Read – input()

    Echo--print()

    变量*

    Linux三剑客

    Sed stream edit d?

            两种模式的切换

     

    Awk 报告生成器

            是一个独立的编程语言

    函数

    数组

    字符串

     

    Wc -l /etc/inittab I cut -d`` -fl

    Line =`wc -l /etc/inittab l cut d` ` -fl`

    Echo $Line

    第一节课 bash的基本特性·

    1、 命令历史

    作用:查看之前使用的命令

    关于命令历史的文件:

    每个用户家目录下的.bash_history

    在关机的时候会自动写入一次(history -r 将内存中的命令历史写入文件)

    关于命令历史的变量(环境变量)

         Env //查看环境变量

           Set //查看更详细的环境变量参数

        HISTSIZE =1000  //记录1000个历史命令

        HISTCONTROL = ignoredups

        

       HISTFILE=/root/.bash_history

       HISTFILESIZE = 1000

     History的常见操作

          

                 查看命令历史

                  !#    #表示数值,执行#行命令

            !string 匹配最近一次的字符串

            !!     上一条命令

            *!$*   上一条命令的最后一个参数

                  Ls /etc

             Ls !$

    History的常见选项:

           

          

          History # 显示最近#行的命令

     

     

    2. 命令补全

        Tab

        作用1.提示2.自动补全

        扩展:制表符 \t 四个空格键

     

    3. 目录补全

        Tab

        作用1.提示2.自动补全

     

    4. 命令展开-date命令

        {}

        Linux的目录需要遵循什么规则? --FHS目录规则

     

    命令行扩展

     

          属性1 属性2

          a         1

          b         2

          mkdir -pv /var/{a,b}-{1,2}

                date 基于date命令来创建目录

           %F CCYY-mm-dd

           %H hh

           %M MM

           %S ss

           %T hh:MM:ss

           %D mm/DD/YY

     练习:通过for语句循环创建一个月的日志文件;.log 2019-08-6.http.log

    touch ‘date +%F’.http.log

     

     

            练习:编写脚本,每天02:20备份/etc/目录中所有文件,名称为当天日期;且保存文件为压缩文件;

    Crontab -- 20 2 * * * /root/xxx.sh

    Vim xxx.sh

      #!/bin/bash

      #

      tar cjvf /var/’date +%F’.xz /etc/

      Chmod +x xxx.sh

     

      补充:

        clock / hwclock 常看硬件时钟 (如果同步系统时钟与硬件时钟)

        cal 日历

     5.命令的执行状态

     

    6.命令的快捷键

     

    7.alias别名

     

     

     

    1、 文件通配符

              【文件通配符不是正则表达式】

        ? 任意单个字符

        *  任意长度的任意字符

        [] 指定范围内的任意一个字符

        ^ 1、以什么开头

        2、[^]指定范围以外的任意一个字符

          [^0-9A-Za-z]

          [0-9][a-z] [A-Z] [a-zA-Z]

        指定字符类:

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    A10 React+AntDesign 组件、父子组件通信、defaultProps、propTypes
    A09 React+AntDesign 模块封装,可供所有组件使用(以对todolist的小优化为例)
    A08 React+AntDesign todolist小项目(下)
    A07 React+AntDesign todolist小项目(上)
    A06 React+AntDesign 表单详解
    A05 React+AntDesign 事件对象、键盘事件、表单事件、类似vue的数据双向绑定
    A04 React+AntDesign 方法、事件、获取数据、改变数据、改变this指向
    A03 React+AntDesign 初识、目录结构、数据绑定、属性绑定、引入图片、循环数组
    泛型学习
    PowerDesigner16.5汉化破解版安装教程(含安装文件、汉化包、破解文件)
  • 原文地址:https://www.cnblogs.com/zwl123456/p/11328077.html
Copyright © 2020-2023  润新知