zoukankan      html  css  js  c++  java
  • bash的基本特性

    1、命令历史
        作用:查看之前使用的命令
        关于命令历史的文件
          每个用户家目录下面的.bash_history
          在关机的时候,会自动写入一次(history -r 将内存中的命令历史写入文件)
        关于命令历史的变量(环境变量)
          env //查看环境变量
          set //查看详细的环境变量参数
          HISIZE=1000 数量
          HISCONTROL = ignoredups
        history的常见操作
          查看历史命令
          !!上一条命令
          *!$*上一条命令的最后的一个参数
              ls /etc
              ls !$
              ESC +
          常见的选项
          -a
          -d
          -c
          history # 显示最近#行的命令
    2、命令补全
        TAB
          1、提示2、自动补全
        扩展:制表符 四个空格键
    3、目录补全
        TAB
        1、提示2、自动补全
    4、命令展开-date命令
        {}
        Linux的目录需要遵循什么规则? --FHS目录规则
        date 基于date命令创建目录
            %F CCYY-mm-dd
            %H hh
            %M MM
            %S ss

            练习:通过for语句循环创建一个月的日志文件:.log 2019-08-6.http.log
              for i in {1..30};do
                touch `date +%F-%m-%$i.http.log
              done
        tar
            压缩工具
            【压缩只能对文件进行压缩,不能对目录进行压缩】
            gzip
            bzip2
            xz
    zcat //查看压缩文件且不解压
    tar的常见参数:
    tar 归档工具【可以对目录进行操作】
    -j bzip2
    -J xz
    -z gzip
    -c create
    -x extract //可以不用指定解压的工具
    -f 指定文件名
    -v 显示详细信息verbose
    -t 不解压查看内容和zcat一样
    tar cjvf 2018-08.http.log.bz2 2018-08-*.http.log
    tar xvf 2018-08.http.log.bz2 -C abc

    练习:编写脚本,每天02:20备份/etc/目录中所有文件,名称为当前日期;且保存文件为压缩文件;
    crontab -e --20 2 * * * /root/xx.sh
    vim xx.sh
    #!/bin/bash
    #
    tar cJvd /var/`date +%F`.xz /etc/
    clock
    hwclock
    5、命令的执行状态
    在Linux中,每一条命令执行后都会有两个结果:
    命令本身反回的内容
    其次,命令执行的结果状态
    $?变量,就是用来存放命令执行状态的变量;
    0表示成功状态(和Python正好相反)
    1-255表示失败状态
    6、命令的快捷键
    ctrl + I
    ctrl + C
    ctrl + U //删除光标前的字符
    ctrl + K //删除光标后的字符
    ctrl + A
    ctrl + E
    ctrl + W //以空格为分隔符,去删除文件
    ctrl + R //进入一个交互界面,搜索最近一次使用的命令
    7、alias别名
    系统启动时读取一些特殊文件的顺序;

    alias cdnet="cd /etc/sysconfig/network-scripts" //这种定义alias只能在当前shell生效
    /etc/profile:定义环境变量(所有用户) --EXPORT HISTCONTROL =
    /etc/bashrc:定义本地本量--alias(所有用户)
    ~/.bash_profile:定义环境变量(指定用户)
    ~/.bashrc:定义本地变量--alias(指定用户)

    sources ~/.bashrc
    8、文件通配符 -- globbing
    【文件通配符不是正则表达式】
    ? 任意单个字符
    * 任意长度的任意字符
    [] 指定范围内的任意一个字符
    ^ 1、以什么开头
    2、[^]指定范围以外的任意一个字符
    [^0-9A-Za-z]
    [0-9][a-z][A-Z][a-zA-Z]
    指定字符类:
    符号
    字符标识
    [:digit:]
    任意数字, 相当于0-9
    [:lower]
    任意小写字母
    [upper:]
    任意大写字母
    [alpha:]
    任意大小写字母
    [:alnum:]
    任意数字或字母
    [:blank:]|
    水平空白字符
    [:space:]
    水平或垂直空白字符
    [punct:]
    标点符号
    [print:]
    可打印字符
    [:cntrl:]
    控制(非打印)字符
    [:graph:]
    图形字符
    [xdigit:]
    十六进制字符

  • 相关阅读:
    第三篇:数据仓库系统的实现与使用(含OLAP重点讲解)
    Django框架ORM单表删除表记录_模型层
    Django创建模型_模型层
    Django框架ORM单表添加表记录_模型层
    Django框架打印orm转换过程中的sql_模型层
    Django框架创建数据库表时setting文件配置_模型层
    UCRT: VC 2015 Universal CRT, by Microsoft
    vs2015部署---下一代VC运行时库系统:the Universal CRT
    VS2015开发的C++应用如何不依赖Visual C++ 2015 redistributable?
    C++11并发之std::thread
  • 原文地址:https://www.cnblogs.com/DevonL/p/11351882.html
Copyright © 2011-2022 走看看