shell_oneday_历史命令相关

1.历史命令

  1、1作用:查之前使用命令

  1、2关于命令历史的文件

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

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

  1、3变量(环境变量):

    Evn  //查看环境变量

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

    HISTSIZE = 1000    数量

    HISTCONTROL = ignoredups

      Ignoredups 忽略重复的历史命令连续且相同

      Ignorespace 忽略空白开头的历史命令,“键入空格开头则不会被记录”

      Ignoreboth  两者都生效 

    例:HISTFILE = /root/.bash_history

           HISTFILESIZE = 1000

   1、4History的常见操作:

      1、4、1 查看命令历史

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

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

        !! 上一条命令

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

         例:Ls /etc

              Ls !$

              ESC+.

       1、4、2 常见的选项:

         常见命令:

          history -d 【编号】//删除某条历史命令

          history 【数量】//显示最近展示的命令历史

         常见参数:

          -a //将缓冲区历史手动添加到文件.bash_history中,重启依旧存在

          -c //清空缓存区中的历史命令缓存

         常用方式:

          !# //运行第#条命令

          !! //运行上一条命令(同上键)

          !string //运行string最近一行的命令

          !$ //上一条命令的最后一部分内容(同‘ESC+.’)

2、命令补全

  tab:制表符(\t)

3、目录补全

  tab:提示、自动补全

4、命令展开  -- date

  Linux的目录需要遵循FHS目录规则

       

  4、1Date   基于date命令来创建目录文件

 

      %F 输出年月日(CCYY-mm-dd)

 

      +%T hh:MMss

 

      +%D mm/dd/yy

 

      %H hh

 

      %M MM

 

      %S ss

 

  练习1:通过for语句循环创建一个月的日志文件;.log 2019-08-6.http.log

 

      For I in {1..31};do Touch `date +%F`.http.log;done

 

  练习2:编辑脚本,每天02:20备份/etc/目录中所有文件,名称为当天日期;且保存文件为  压缩文件

 

      Crontab –20 2 *** /root/xx.sh

 

      Vim xxx.sh

 

      #!/bin/bash

 

      Tar cJvf /var/`date +%F`.xz /etc/

 

      Chmod +x xxx.sh

 

    补充:

 

      Clock / hwclock 常看硬件时钟(如何同步系统时钟与硬件时钟)

 

    Cal   日历

    clock、hwclock

    

 

  4、2压缩工具:(压缩只能对文件进行操作,不能对目录)

 

    Tar  归档工具(可以对目录进行操作)

 

    -z Gzip

 

    -j Bzip2

 

    -J Xz

 

    -c create

 

     Zcat  查看压缩文件且不解压

 

    -x extract 可以不用指定解压工具

 

    -f  指定文件名

 

    -v 显示详细信息

 

    -t 不解压查看内容

 

    例:

    

5、命令的执行状态

  在linux中,每一条命令执行后会有两个结果:

      命令本身放回的内容

      命令执行的结果状态

  $?b变量,就是用来存放命令执行状态的变量:

      0 表示成功状态

      1 -255 表示失败状态

6、命令的快捷键

  ctrl + l  

   ctrl + c

   ctrl + u  //删除光标前的字符

   ctrl + k  //删除光标后的字符

   ctrl + a

   ctrl + e

   ctrl + w  //以空格为分隔符,去删除文件

   ctrl + r  //进入一个交互界面,搜索最近一次使用的命令(要输入string

 

7、Alias别名

 

  系统启动时读取一些特殊文件的顺序

 

   

 

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

 

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

 

  上面两个为当前使用,下面为开机以后还可以用

 

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

 

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

 

  Sources/etc/profile 或者 ./etc/profile     输出,调用

8、文件通配符  --globbing

 

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

 

  ? 任意单个字符

 

  * 任意长度的任意字符

 

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

 

  ^ 以什么开头,

 

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

 

   

 

  [:punct]  特殊字符

 

  [:digit]   数字

 

  [:lower]   小写字母l

 

  [:space]   空白行

 

 

 

posted @ 2019-08-07 20:13  哎呦~  阅读(143)  评论(0编辑  收藏  举报