• Linux的特殊符号 | 三剑客grep


    内容:

    #1.linux的特殊符号
      1.1 通配符 * {}
      1.2 特殊符号
    
    #2.正则表达式
      2.1 什么是正则
      2.2 作用
      2.3 分类
      2.4 正则表达式与通配符的区别
      2.5 基础正则表达式
      
    #3.应用例子
      3.1 linux如何让一个服务/脚本开机自启动?
      3.2 磁盘空间不足 no space left on device
      3.3 文件的删除原理(条件)
    
    
    #4.搬运学习原博客 | 及补充博客链接
    

    #1.linux的特殊符号

    1.1 通配符 * {}

    1.1.1 含义

    方便查找文件 通配符是用来找文件名字的。
    

    1.1.2 *

    通过find 命令找以 .sh 结尾的文件,使用*替代文件名字。

    查找文件名中,包含有samba字节的文件。

    1.1.3 {}

    {} 用来生成序列

    echo {a..z}{A..Z} | 与 echo {a..z} {A..Z}

    生成按规则序列{开始..结束..间隔}

    备份一个文件的时候使用


    1.2 特殊符号

    1.2.1 特殊符号

    >  标准输出重定向,先把内容清空,再向文件里放其他东西
    
    >> 标准追加重定向 向文件内加内容
    
    <  标准输入    xargs
    
    << 追加输入    cat>/clsn.txt<<EOF 追加多行
    
    .  当前目录/linux下面的隐藏文件
    
    .. 当前用户的上一级目录
    
    ~  当前用户的家目录
    
    /  根 路径的分割符号
    
    \  临时取消别名
    
    |  管道
    
    ! 
    
      1) vim中强制
    
      2) 取反 find awk
    
      3) 表示使用你用过的命令 使用历史命令
    
    
    #   注释
    
    $   取出变量里的内容
    
    && 并且 前一个命令运行成功,然后再运行后面的命令
      ifdown eth0 && ifup eth0
    
    
    || 或者 前一个命令运行是否成功,都会运行后面的命令
    
    ;  分开多条命令 在同一行里面放入多个命令。
      ls; pwd; hostname
    

    1.2.2 单引号、双引号、不加引号

    ' '
    吃啥吐啥

    " "
    把双引号里面的特殊符号进行解析

    不加引号

    ` `
    反引号 先运行,把结果留下 与$()作用相同


    #2.正则表达式

    2.1 什么是正则

    特殊符号表示文字 文本

    ^ 开头

    [0-9] 数字

    2.2 作用

    提高效率 省事

    2.3 分类

    2.3.1 基础正则表达式

    ^ ^ . * .* [0-9] [^0-9]

    2.3.2 扩展正则表达式

    | () + {} ?

    2.4 正则表达式与通配符的区别

    1、通配符是用来找文件的。

    2、正则表达式用来的文件中找内容、文本。

    2.5 基础正则表达式

    2.5.1 环境准备

    2.5.2 找以M开头的行 ^

    2.5.3 以 com. 结尾的行结尾的行 $【注意,文件结尾不能有空格,否则搜索不到

    2.5.4 显示空行,并且加上行号

    -n 显示行号

    ^$ 表示开头和结尾中间没有东西,即空行

    2.5.5 表示任意一个字符 . (点)

    点表示任意一个字符,most. 表示点的位置是什么都可以。

    2.5.6 找到以点结尾的行

    \ 转意符号,把特殊含义的的去掉特殊含义。

    .$ 表示以点结尾。

    2.5.7 * 前一个文本连续出现了0次或1次以上

    连续出现了0次就是没出现
    -o 显示grep找到的过程

    2.5.8 正则表达式的贪婪性

    有多少要多少,尽可能多的匹配。

    2.5.9 .* 表示所有

    2.5.10 [abc] 中括号表示一个整体

    相当于一个符号,表示a或者b或者c。

    2.5.11 找以 x y z 开头的,并且以 a b c 结尾的行

    ^[xyz]
    以 x y z 开头的

    .*
    中间是什么都可以

    [abc]$
    以 a b c 结尾的行

    表达式:"^[xyz].*[abc]$"

    2.5.12 [^abc] 排除a或排除b或排除c

    2.5.13 grep -v 排除与[^abc]

    grep -v 排除行

    [^abc] 字符或文字


    #3.应用例子

    3.1 linux如何让一个服务/脚本开机自启动?

    1)chkconfig

    2)/etc/rc.local【待研究


    3.2 磁盘空间不足 no space left on device

    1)block满了 500G 3*200G视频

      df -h
    
      du -sh /*
    
      du -sh /* |grep G【***待研究***】
    

    2)block满了 文件没有被彻底删除 硬链接数为0,进程调用数不为零

    检查:lsof|grep delete【待研究


    3.3 文件的删除原理(条件)

    1、硬链接数为0

    2、进程调用数为0

    日志

    /var/log/messages

    /var/log/secure

    rsyslog

    3、inode满了

    创建一个文件要占用一个inode和至少一个block

    大量的小文件【待研究


    #4.搬运学习原博客 | 及补充博客链接

    https://www.cnblogs.com/clsn/p/7568248.html

  • 相关阅读:
    gRPC错误码 http状态码 provide your APIs in both gRPC and RESTful style at the same time
    rust
    lz4 1
    剖析美团内部所采用的网站压力测试方案
    【NOIP2002提高组T4】矩形覆盖-DFS剪枝
    【NOIP2002提高组T4】矩形覆盖-DFS剪枝
    【POJ2777】Count Color-线段树区间更新
    【POJ2777】Count Color-线段树区间更新
    【NOIP2005提高组T3】篝火晚会-置换群
    【NOIP2005提高组T3】篝火晚会-置换群
  • 原文地址:https://www.cnblogs.com/yachengmuCC/p/16206572.html
Copyright © 2020-2023  润新知