• 8.6 bash介绍


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


    1、bash基本特性
    ctrl + l
    上键
    history
    2、IO重定向与管道符
    3、编程基础
    编程原理
    程序:执行某个功能的一段代码
    程序 = 指令(命令) + 数据(变量) + (逻辑关系)
    4、grep和正则表达式!!!!!
    linux三剑客
    Pattern模式
    -------------------------------------------

    语句的逻辑关系
    if

    for * -- 放入for循环的列表
    while --循环条件为true(不要进入死循环)
    until --满足判断条件为false进入循环(不要进入死循环)

    case --编写Linux的程序启动脚本

    break
    continue

    exit (指定程序返回值)

    read(输入)
    echo(输出)

    变量

    -----------------------------------

    linux三剑客

    sed 流编辑器
    两种模式的切换

    awk 报告生成器
    独立的编程语言

    函数
    一段固定功能的代码块
    数组
    列表、元组、字典
    字符串
    字符串的处理
    (先排序再去重)重复:必须连续且相同的数据;

    1.base的基本特性
    命令历史
    作用:查看之前使用的命令

    关于命令历史的文件
    每个用户家目录下的.bash_history
    在关机的时候会自动写入一次(history -r 将内存中的命令历史写入文件)
    关于命令历史的变量(环境变量)
    env 查看环境变量
    set 查看更详细的环境变量参数
    ignoredups 忽略重复的历史命令
    ignorespace 忽略空白开头的历史命令,键入空格开头则不会被记录
    ignoreboth 两者都生效

    history的常见操作
    history 查看命令历史
    !+ 编号
    !string 匹配最近一次的字符串
    !! 上一条命令
    !$ 上一条命令的最后一个参数
    ls /etc
    ls !$
    ESC +.
    常见的选项:
    -a
    -d
    -c
    history # 显示最近#行的命令
    命令补全
    tab 制表符,代表4个空格
    1、提示
    2、自动补全
    目录补全
    tab
    1、提示
    2、自动补全

    命令展开-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
    %M 分MM
    %S 秒ss
    %T 显示时间的格式xx:xx:xx
    %Y 年
    %y 年的最后两个数字
    练习:通过for语句循环创建一个月的日志文件; .log 2019-08-06.http.log
    touch `date + %F`.http.log
    at
    crontab

    tar 归档命令,可以对目录进行操作(压缩与解压缩)
    [压缩只能对文件进行操作,而不能对目录进行操作]
    gzip
    bzip2
    xz
    zcat //查看压缩文件且不解压
    tar的常见参数:
    -z gzip
    -j bzip2
    -J xz
    -c create(压缩)
    -x extract(解压)//可以不用指定解压的工具
    -f 指定文件名
    -v verbose显示详细信息
    vim xxx.sh
    #!/bin/bash
    #
    tar cJvf /var/`date + %F`.xz /etc/
    chmod + x xxx.sh
    clock
    /clock /hwclock 查看硬件时钟(如果同步系统时钟与硬件时钟)
    cal 日历
    hwclock
    命令的执行状态
    在linux中,每一条命令执行后都会有两个结果:
    命令本身放回的内容
    其次,命令执行的结果状态
    $? 变量,就是用来存放命令执行状态的变量;
    0表示成功状态
    1-255表示失败状态
    [$? -eq 0] && exit 0 ||exit 1
    命令的快捷键
    ctrl l
    ctrl c
    ctrl u //删除光标前的字符
    ctrl k //删除光标后的字符
    ctrl a
    ctrl e
    ctrl a
    ctrl w //以空格为分隔符,去删除文件
    ctrl r //进入一个交互界面,搜索最近一次使用的命令(要输入string)

    alias别名
    系统启动时读取一些特殊文件的顺序;
    alias cdnet=“cd /etc/sysconfig/network-scripts” //这种方式定义alias只能在当前shell生效;

    /etc/profile 定义环境变量(所有用户)
    /etc/bashrc 定义本地变量--alias(所有用户)

    ~/.bash_profile 定义环境变量(指定用户)
    ~/.bashrc 定义本地变量--alias(指定用户)

    sources /etc/profile 或者 ./etc/profile

    文件通配符 --globbing

    (文件通配符不是正则表达式)
    ? * [] ^
    ? 任意单个字符
    * 任意长度的任意字符
    [] 任意范围内的一个字符
    ^ 1.以什么开头 2.[^]指定范围以外的任意一个字符

    指定字符类
    [:alnum:]子母加数字
    [:alpha:]
    [:cntrl:],
    [:digit:]数字
    [:graph:]
    [:lower:]
    [:print:]
    [:punct:]特殊字符
    [:space:]空格 ^*[[:space:]]*$ //空白行
    [:upper:]大写
    [:xdigit:]

  • 相关阅读:
    2.12 使用@DataProvider
    2.11 webdriver中使用 FileUtils ()
    Xcode8 添加PCH文件
    The app icon set "AppIcon" has an unassigned child告警
    Launch Image
    iOS App图标和启动画面尺寸
    iPhone屏幕尺寸、分辨率及适配
    Xcode下载失败 使用已购项目页面再试一次
    could not find developer disk image
    NSDate与 NSString 、long long类型的相互转化
  • 原文地址:https://www.cnblogs.com/liuyuanzzz/p/11310378.html
Copyright © 2020-2023  润新知