bash基本特性及基本命令 : 
    1.命令历史 : 
        history
            环境变量 :
                $HISTSIZE : 缓存中记录的命令历史条数上限
                $HISTFILE : 命令历史文件目录 : ~/.bash_hisroty
                $HISTFILESIZE : 命令历史文件中记录的命令历史条数上限
            -d offset : 删除某条命令
            -c : 清空缓存中的命令历史
            num : 显示最近的num条命令
            -a : 手动将缓存中的命令历史追加至命令文件中
            调用历史中的命令的快捷方式 :
                !! : 调用上一次调用的命令
                !num : 调用命令历史中第num条命令
                !str : 调用命令历史中,最近一次以str开头的命令
            调用上一次命令的最后一个参数 : 
                1,!$
                2,ESC + .
                3,ALT + .  -------可能不好用
            控制命令历史的记录方式 : 
                环境变量 : $HISTCONTROL
                                ignoredups : 忽略重复出现的命令历史,但指的是连续出现且完全相同的命令历史
                                ignorespace : 忽略以空白字符开头的命令历史
                                ignoreboth : 以上两种同时生效
                设置环境变量 : export HISTCONTROL = value
                    注 : 仅对当前shell会话有效,打开新的会话时,仍然采用默认参数
      -----------------------------------------------------------------------------------------------------------------------------------------
      2,命令补全
          bash执行命令类型 : 
              内部命令 : 内建与bash内部的命令
              外部命令 : bash会根据$PATH保存的路径依次查找该命令对应的可执行程序
          直接补全 : 当字符串对应的命令唯一时,TAB键可直接补全,如果用户给定的字符串对应的命令不唯一,两次TAB键可列出所有以该字符串开头的命令
      -----------------------------------------------------------------------------------------------------------------------------------------
      3,路径补全
          把用户给定的字符串作用路径开头,并在其指定的上级目录下搜索以指定字符串开头的文件,如果文件唯一,则TAB直接补全,如果不唯一,再次TAB,列出该目录下所有以指定字符串开头的文件
      -----------------------------------------------------------------------------------------------------------------------------------------
      目录管理类命令 :
          cd : change directory
          pwd : printing working directory
          ls : list
              绿色字体表有可执行权限
              蓝色表目录
              黑色表普通文件
          mkdir : 在指定路径下创建新的目录
              注 : 默认情况下,创建的目录为路径最右侧的那个目录,要求该目录前的所有目录都已经实现存在,否则无法创建
              -p :
                  1,在相同路径下,重复创建相同目录不会报错
                  2,如果要创建的目录的父目录不存在,bash会自动根据创建父目录以及目标目录
              -v : 显示被创建的目录的信息
              -m MODE  : 创建目录时,直接指定权限
          rmdir : 移除指定路径下的目录
              -p : 首先判断指定路径最右侧的目录是否为空,如果为空,则删除,然后继续判断删除该目录下的路径最右侧的目录是否为空,如果为空,则删除,循环往复以上过程,直至某目录不为空为止
              -v : 显示被删除的目录信息
            -----------------------------------------------------------------------------------------------------------------------------------------
            tree : 显示指定目录下的目录层级结构
                -d : 只显示目录即文件夹,不显示文件
                -L level : 最多显示的子目录的层级数
                -p PATTREN  : 只显示符合指定模式的目录
            -----------------------------------------------------------------------------------------------------------------------------------------
            4,命令行展开
                ~ : bash会自动将其展开为用户的主目录
                ~USERNAME : bash会自动将其展开为指定用户的主目录
                {} : 可承载一个以","分隔的列表,bash会自动将其和前面路径以及后面的路径结合,分别展开为多个路径
            -----------------------------------------------------------------------------------------------------------------------------------------
            5,命令的执行结果状态 
                只有两种 : 成功或失败,bash使用特殊变量$?保存最近一次命令的执行结果状态,0表示成功,1~255表示失败
                程序的执行结果 : 
                    程序的返回值
                    程序的执行结果状态
            -----------------------------------------------------------------------------------------------------------------------------------------
            文本查看类命令
                cat,tac : 将文件连接并显示
                more [OPTION] FILE....
                    -d : 显示翻页或退出提示信息
                less [OPTION] FILE...
                    注 : man内部查看帮助手册即是调用less命令,因此man命令中所有的快捷操作方式都适用于less
                head : 获取一个文件的前N行
                    -c # : 获取一个文件的前#个字符
                    -n # : 获取一个文件的前#行
                    -# : 默认就是获取一个文件的前#行
                tail : 获取一个文件的后#行或个字符
                    -c # : 获取一个文件的后#个字符
                    -n # : 获取一个文件的后#行
                    -# : 默认就是获取一个文件的后#行
                   -f : 获取一个文件的后十行,但并不立即退出,而是实时监控该文件,一旦该文件尾部附加内容,就会立即显示,使用^C结束对该文件的监控
           -----------------------------------------------------------------------------------------------------------------------------------------
           文件的时间戳管理工具
               文件组成 : data + metadata
               查看文件元数据 : stat
               时间戳 :
                   atime(access time) : 最近一次访问时间
                   mtime(modify time) : 最近一次文件内容被修改的时间
                   ctime(change time) : 最近一次文件的元数据被改变的时间 
         touch : 改变时间戳
             -a : atime only,只改变访问时间,默认修改为当前时间
             -m : modify time,只改变修改时间,默认修改为当前时间
             -t STAMP : 将时间戳修改为指定时间,而非当前时间
          -c : 如果文件不存在,则不创建文件