首页 > 其他 > 详细

1.bash的基本特性

时间:2019-08-13 19:47:22      阅读:60      评论:0      收藏:0      [点我收藏+]

1.命令历史

    作用:查询之前使用的命令

    关于命令历史的文件

      每个用户家目录下面的.bash_history

      在关机的时候,会自动写入一次(history -r 将内存中的命令历史写入文件)

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

      env //查看环境变量

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

      HISTSIZE=1000 记录数量

      HISTCONTRAL=ignoredups

      技术分享图片

      HISTFILE=/root/.bash_history

      HISTFLESIZE=1000

    history的常见操作

      查看命令历史:

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

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

        !!:上一条命令

        !$:上一条命令的最后一个参数(同“ESC+.”)

      常见的选项:

        -a 添加

        -d 删除

        -c 清空

        history # 显示最近#行的命令

2.命令补全

    tab

    扩展:制表符 \t 四个空格键

      1、提示 2、自动补全

3.目录补全

    tab

      1、提示 2、自动补全

4.命令展开date命令

    {}

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

    属性1  属性2

    A 1

    B 2

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

    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.http.log

      touch`date +%F`.http.log

      for i in{1..30};do

      touch `date +%Y-%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 -- 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.命令行的执行状态

 技术分享图片

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-scriptes”  //这种方式定义的alias只能在当前shell生效

    /etc/profile  定义环境变量(所有用户) --EXPORT HISTCONTROL=XXX

    /etc/bashrc  定义本地变量--alias (所有用户)

    ~/.bash_profile  定义环境变量(指定用户)

    ~/.bashrc  定义本地变量--alias (指定用户)

 

    sources /etc/profile 或者 . /etc/profile

8.文件通配符 --globbing

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

    ?  任意单个字符

    *  任意长度的任意字符

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

    [^]指定范围以外的任意一个字符

         [^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:] 十六进制字符

      ^[[:space:]]*$   --有空格键的空行(正则表达式)

      【调用这些字符类型时再加一个[]号】

 

9.练习

技术分享图片

1.bash的基本特性

原文:https://www.cnblogs.com/Rubyonly/p/11347229.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!