zoukankan      html  css  js  c++  java
  • 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:]

  • 相关阅读:
    GPON和820.1p学习及资料(zt)
    modelsim(3)
    JTAG 学习 -SVF格式
    看来人工智能不可阻挡,将和网络与计算机一样服务于各行各业!
    【管理心得之二十六】职场中的“武功”
    【管理心得之二十五】组织中的骂名 ----------墙头草
    【管理心得之二十四】成功乃失败之母
    【管理心得之二十三】道是道,非常道。名可名,非常名。
    【管理心得之二十二】小人物 仰视 大授权
    【管理心得之二十一】管得少就是管得好
  • 原文地址:https://www.cnblogs.com/liuyuanzzz/p/11310378.html
Copyright © 2011-2022 走看看