您的位置:首页 > 运维架构 > Shell

bash的基本特性

2020-07-14 05:37 302 查看

1.命令历史

   作用:查之前使用的命令
   关于命令历史的文件
      每个用户家目录下面的-->.bash_history
      在关机的时候,会自动写入一次(history -r 将内存中的命令历史写入文件)
   关于命令历史的变量(环境变量)
      env //查看环境变量
      set //查看更详细的环境变量参数
      HISTSIZE=1000    存入命令的数量
      HISTCONTROL=ignoredups  忽略重复的历史命令,连续且相同才叫重复
                  ignorespace  忽略空白开头的历史命令,键入空格开头则不会被记录
                  ignoreboth   两者都生效
             HISTFILESIZE=1000
             HISTFILE=/root/.bash_history    history的常见操作
      查看命令历史---!#  #表示数值,执行#行命令
      !string ---匹配最近一次的字符串
      !!----上一条命令
      !$----上一条命令的最后一个参数(非常重要的命令)
      常见的选项:
        -a  将缓冲区历史手动添加到文件中,重启依然存在
        -d [编号]  删除某条历史命令
        -c  清空缓存区的历史命令
        history #  显示最近#行的命令

2.命令补全

   tab键
      作用:1.提示   2.自动补全
   在开发语言里,tab键叫做制表符--\t,代表4个空格

3.目录补全

   tab键
      作用:1.提示   2.自动补全

4.命令展开——date命令

   {}---展开命令,支持一个‘,’作为分隔符0
   Linux的目录需要遵循什么规则?
      FHS目录规则,不是约定俗成,就是一个规定    date  基于date命令来创建目录
      %F CCYY-mm-dd 年月日
      %T hh:mm:ss  时分秒
      %D mm/dd/YY  月/日/年
      %H hh 小时
      %M MM 分钟
      %S ss 秒
      练习:通过for语句,循环创建一个月的日志文件;.log --> 2019-08-06.log
      for i in {1..30};do
         touch `date +%Y-%m-$i`.http.log
      done
      如果把命令写在一行中,需要用;分隔每条语句
   tar -- 本身不是压缩工具。是归档工具(压缩与解压缩)
      压缩工具--> bzip2/gzip/xz
      -j --> bzip2
      -J --> xz
      -z --> gzip
      zcat  //查看压缩文件且不解压
      -c create 压缩
      -x extract  解压
      解压时可以不用指定解压工具
      -f 指定文件名
      -v verbose  显示详细信息,可写可不写
      -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  日历

5.命令的执行状态

   在Linux中,每一条命令执行后都会有两个结果
      命令本身放回的内容
      其次,命令执行的结果状态
   $?  变量,就是用来存放命令执行状态的变量
      0  表示成功状态(和Python正好相反)
      1-255  表示失败状态

6.命令的快捷键

   ctrl + l --> 清屏
   ctrl + c --> 终止当前命令
   ctrl + u --> 删除光标前的字符
   ctrl + k --> 删除光标后的字符
   ctrl + a --> 跳转到光标头
   ctrl + e --> 跳转到光标尾
   ctrl + w --> 以空格为分隔符,去删除文件
   ctrl + r --> 进入一个交互界面,搜索最近一次使用的命令(要输入字符串string)

7.alias别名

   系统启动时读取一些特殊文件的顺序
   alias
   alias cdnet="cd /etc/sysconfig/network-scrptes" --> 这种方式定义alias只能在当前shell生效     /etc/profile --> 定义环境变量(所有用户)--EXPORT HISTCONTROL=xxx(导入)
   /etc/bashec --> 定义本地变量--alias(所有用户)
   ~/.bash_profile --> 定义环境变量(指定用户)
   ~/.bashrc --> 定义本地变量--alias(指定用户)
   sources /etc/profile 或者 ./etc/profile 使文件生效

8.文件通配符

   文件通配符不是正则表达式
   五种常见的通配符 ? * [] ^ 指定字符类
   ? --> 任意单个字符
   * --> 任意长度的任意字符
   [] --> 指定范围内的任意一个字符
   ^ 1.以什么开头
       2.[^] 指定范围以外的任意一个字符[^0-9A-Za-z]
   指定字符类
      [:alnum:],[:alpha:],[:cntrl:],[:digit:],[:graph:],[:lower:],[:print:],[:punct:],[:space:],[:upper:],and [:xdigit:]

转载于:https://www.cnblogs.com/xsnblog/p/11345549.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: