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

    一、命令历史 

        作用:查之前使用的命令 

        关于命令历史的文件

          每个用户家目录下面的.bash_history在关机的时候,会自动写入一次(history -r 将内存 中的命令历史写入文件)

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

          env   //查看环境变量

          set    //常看更详细的环境变量参数

          HISTSIZE = 1000   数量

          HISTCONTROL = ignoredups    忽略重复的命令

          

        history的常见操作

          查看命令历史

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

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

          !!  上一条命令

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

                ls  /etc

                ls !$

                Esc+.

          常见的选项:

          -a 

          -d

          -c

          history #  最近#行的命令

    二、命令补全

        tab 

         1.提示  2.自动补全

          扩展:制表符      四个空格

    三、目录补全

        tab

         1.提示  2.自动补全

    四、命令展开--data命令

        {}

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

     属性1  属性2
     a    1
     b    2

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

        date 基于date命令来创建目录

                date +%F-%H:%M:%S     2019-08-06-22:29:08
                %F  CCYY-MM-dd
                %T   hh:MM:ss
                %D  mm/dd/YY
                %H  hh
                %M  MM
                %S   ss
                %Y   CCYY

            tar
                    压缩工具    
                    gzip
                    bzip
                    xz
                    zcat  //查看压缩文件且不解压
                    【压缩 只能对文件进行压缩,而不能对目录进行操作】
            tar的常见参数:
                    tar归档工具【可以对目录进行操作】
                    -j  bzip2
                    -J  xz
                    -z  gzip
                    -c  create
                    -x  extract  //可以不用知道解压的工具
                    -f   指定文件名
                    -v  显示详细信息
                    -t  不解压查看内容 和 zcat 一样

      # 练习:编写脚本,每天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  日历 

    五、命令的执行状态

        在Linux中,每一条命令执行后都会有俩个结果:1)命令本身放回的内容

                               2)其次,命令执行的结果状态

        $?  变量,就是用来存放命令执行状态的变量:0  表示成功状态(与Python正好相反)

                              1~255  表示失败状态

    六、命令的快捷键

                ctrl + l
                ctrl + c
                ctrl + u   //删除光标前的字符
                ctrl + k   //删除光标后的字符
                ctrl + a
                ctrl + e
                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

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

        ?  任意单个字符

        *  任意长度的任意字符

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

            [0-9A-Za-z]

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

        指定字符类:

        

        

       [:alnum:]      匹配任意一个字母或数字
      [:alpha:]       匹配任意一个字母
      [:digit:]         匹配任意一个数字
      [:lower:]       匹配任意一个小写字母
      [:upper:]       匹配任意一个大写字母

        一般常用的匹配:

    模式                     匹配对象
      *                    所有文件
      p*                  文件名以“p”开头的文件
      r*.txt               以”r” 开头,中间有零个或任意多个字符,并以”.txt” 结尾的文件
      Data???                   以“Data”开头,其后紧接着 3 个字符的文件
      [abc]*                     文件名以”a”,”b”, 或”c” 开头的文件
      BACKUP.[0-9][0-9][0-9]      以”BACKUP.” 开头,并紧接着 3 个数字的文件
      [[:upper:]]*            以大写字母开头的文件
      [![:digit:]]*            不以数字开头的文件
      *[[:lower:]123]       文件名以小写字母结尾,或以“1”,“2”,或“3”结尾的文件

     

      

     

  • 相关阅读:
    poj 3590 The shuffle Problem——DP+置换
    poj 3128 Leonardo's Notebook——思路(置换)
    bzoj 1004 [HNOI2008]Cards && poj 2409 Let it Bead ——置换群
    bzoj 1119 [POI2009]SLO && bzoj 1697 [Usaco2007 Feb]Cow Sorting牛排序——思路(置换)
    bzoj 3944 Sum —— 杜教筛
    bzoj 1367 [ Baltic 2004 ] sequence —— 左偏树
    bzoj 2093 [ Poi 2010 ] Frog —— 滑动窗口 + 倍增
    bzoj 2276 [ Poi 2011 ] Temperature —— 单调队列
    bzoj 2069 [ POI 2004 ] ZAW —— 多起点最短路 + 二进制划分
    NOIP2007普及 守望者的逃离
  • 原文地址:https://www.cnblogs.com/cnxy168/p/11311612.html
Copyright © 2011-2022 走看看