zoukankan      html  css  js  c++  java
  • Linux--shell的基本特性--01

    1、bash的基本特性:   

    a) 命令展开:date命令—— 基于date命令创建命令

      查看系统时钟:date

      查看硬件时钟: clock 、hwclock (常常同步系统时钟与硬件时钟)

      cal 查看日历

    dade的使用及参数:

      date +%F  :改变date输出的格式为 2019-08-05  

      date +%F-%H-%M-%S 输出为:2019-08-05-14-29-15 =年-月-日-时-分-秒

      %F = CCYY-mm-dd

      %H = hh

      %M = MM

      %S = ss

      %T = hh:MM:ss

      %D = mm/dd/YY

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

     # 或者touch `date +%F`.http.log
    
    for i in {1..30};do
    
      touch `date +%Y-%m-$i`.http.log;
    
    done

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

     { } :扩展  例如 cp /etc/inittab /etc/inittab.bak == cp /etc/{etc/inittab,/etc/inittab.bak}

    b) tar:归档工具—可以对目录进行操作

    压缩工具:gzip、bzip2、xz   压缩只能对文件进行操作,不能对目录操作

    zcat  查看压缩文件且不解压

    tar的常见参数:

      -j 对应压缩工具bzip2

      -J 对应压缩工具 xz

      -z 对应压缩工具 gzip

      -c  压缩

      -x  解压(可以不用指定解压的工具)

      -f  指定文件名

      -v  显示详细信息

      -C  指定解压的目录

      -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  ----  020 2 * * *  bash /root/xxx.sh
    
    vim xxx.sh
    
    #!/bin/bash
    
    #
    
    tar  cJvf /var/`date +%F`.xz  /etc

    c) 命令历史:

    作用:查看之间使用的命令

    关于命令历史的文件:.bash_history  — 在root里,专门存放命令历史,在关机的时候会自动写入一次(可以利用history -a的命令将内存中的命令存入.bash_history中)

    关于命令历史的变量(环境变量):PATH是环境变量的一种

    ---环境变量如何查看:env

    ---查看更详细的环境变量:set

      history的常见操作:

        1、感叹号+编号(!n):查看命令历史

        2、感叹号+字符串(!String):匹配最近一次的字符串

        3、感叹号+感叹号(!!):上一条命令

        4、感叹号+$(!$):上一条命令的最后一个参数 快捷键ESC+.的功能相同

      常见选项:

        -a:添加

        -d:删除

        -c:清空

        #:显示最近#行的命令

    d) 命令补全:tab键   在开发环境中 代表四个空格

    1. 提示
    2. 自动补全

    e) 目录补全:tab键

    1. 提示
    2. 自动补全

    f) 命令的执行状态

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

           命令本身放回的内容

           其次,命令执行的结果状态

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

           0 表示成功状态(和python相反)

           1~255 表示失败状态

    g) 命令的快捷键

      ctrl + l 清屏

      ctrl +c 结束进程

      ctrl +u 删除光标前的字符

      ctrl +k 删除光标后的字符

      ctrl +a 光标跳到头

      ctrl +e 光标跳到尾

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

      ctrl +r 搜索最近一次进入交互界面使用的命令(要输入字符串)

    h) alias别名

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

        alias cdnet=”cd /etc/sysconfig/network-scripts/”   只能在当前shell执行

      全局配置文件

        /etc/profile 定义环境变量(所有用户)最先读取这个文件

        /etc/bashrc 定义本地变量,一般用来设置本地变量(所有用户)

      个人配置文件(在用户的家目录下写入的)

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

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

      sources /etc/profile  或者 . /etc/profile   使文件生效

    i)  文件通配符 globbing

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

      ?任意单个字符

      * 任意长度的任意字符

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

      ^     [^ ]指定范围以外的任意一个字符    [^0-9A-Za-z]

    指定字符类: 调用的时候在加一个 [ ]

           [:alnum:] 字母+数字

           [:alpha:] 字母

           [:upper:] 大写字母

           [:lower:] 小写字母

           [:digit:] 数字

           [:punct:] 表示特殊字符

           [:space:] 空格    ^[[:space:]]*$ 有空格键的空行

  • 相关阅读:
    oracle的commit
    struts2 Action 接收参数的三种方法
    git -速查表
    Windows 手动创建 服务
    Linux 上 安装 composer
    Class文件解析
    Java 从数据库中查找信息导入Excel表格中
    将Java Web项目部署到远程主机上
    Java8 map和reduce
    group By 和 Union 、 Union all的用法
  • 原文地址:https://www.cnblogs.com/gxnihao/p/11344971.html
Copyright © 2011-2022 走看看