• Shell:笔记


    1.命令历史
     作用:查看之前使用的命令
     
     关于命令历史的文件
      每个家用户目录下面的.bash_history
      在关机的时候回自动写入一次(history -r将内存中的命令历史写入文件)
      echo "123456"|passwd --stdin "xls-1"为用户xls-1设置密码
     关于命令历史的变量(环境变量)
      env //查看环境变量
      set //查看更加详细的环境变量参数
      HISTSIZE=1000  数量
      
     history的常见操作:
      查看命令历史
      !#  #表示数值,执行#行的命令
      !string 匹配最近一次的字符串
      !! 上一条命令
      -d [编号] 删除某条历史命令
      !$ 上一条命令的最后的一个参数
       ls /etc
       ls !$
       和ESC+.是一样的
      常见的选项
      -a 将缓冲区历史手动添加到文件.bash_history中,重启后依然存在
      -d 删除某条历史命令
      -c 清空缓存区中的历史命令缓存
      history # 显示最近#行的命令
    2.命令补全
     tab
      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命令来创建目录  date +%F-%H-%M-%S输出时间并加上时分秒(-%m月,-%s)
      %F CCYY-mm-dd年月日
      %H hh
      %M MM
      %S ss
      %T hh:MM:ss时间时分秒
      %D mm/dd/YY月日年
      练习:通过for语句循环创建一个月的日志文件;.log 2019-08-6.http.log
      touch 'date + %F'.http.log
      for i in {1..30};do
       touch 'date +%Y-%m-$i'.http.log
      done

     Tar
      压缩工具
      【只能对文件进行操作,而不能对目录进行压缩】
      gzip
      hzip2
      xz
      Zcat //查看压缩文件且不解压
     tar的常见参数:
      tar归档工具【可以对目录进行操作】
      -j 有bzip2属性的
      -J xz
      -z gzip
      -c create建立压缩文档
      -x extract //解压,可以不用指定解压的工具
      -f 指定文件名,后面只能接档案名
      -v 显示详细信息
      -r:向压缩归档文件末尾追加文件
      -u:更新原压缩包中的文件
      -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、命令的执行状态
    在Linux中,每一条命令执行后都会有两个结果:
     命令本身放回的内容
     其次,命令执行的结果状态
    $? 变量,就是用来存放命令执行状态的变量;
     0 表示成功状态(和Python正好相反)
     1-255 表示失败状态
     [$? -eq 0] && exit 0 ||exit 1
    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
      【文件通配符不是正则表达式】
      ?  任意单个字符
      *  任意长度的任意字符
      [] 指定范围内的任意一个字符
      ^  1、以什么开头
         2、[^]指定范围以外的任意一个字符
                 [^0-9A-Za-z]
          [0-9][a-z][A-Z][a-zA-Z]
      指定字符类:
       [:alnum:],[:alpha:],[:cnyrl:],[:dight:],[:graph:],[:lower:],[:print:]
       [:punct:],[:space:],[:upper:],and[:xdigit:]
       ^*[[:space:]]*$
  • 相关阅读:
    线程范围内共享数据
    Swagger+ springfox +Spring mvc
    Nginx代理实现跨域
    实现AJAX跨域访问方式一
    Tomcat 调优及 JVM 参数优化
    REST接口设计规范
    IDEA里面添加lombok插件,编写简略风格Java代码
    intelliJ idea 使用技巧&方法
    IntelliJ IDEA 创建maven项目
    IntelliJ IDEA + Maven创建Java Web项目
  • 原文地址:https://www.cnblogs.com/why098/p/11311578.html
Copyright © 2020-2023  润新知