• day11 grep正则匹配


    ps aus | trep nginx     # 查看所有正在运行的nginx任务
    
    别名路径:
        alias test_cmd='ls -l'
    PATH路径:
        临时修改:
            PATH=$PATH:/usr/local/nginx/sbin
            export PATH
            
                将ngxin路径放入PATH中
            每次切换用户,都会读取该用户家目录中的/home/[user]/.bashrc文件,所以,如果把命令写到这个文件中,那么这个用户就可以执行它
            
        永久修改:
            /etc/bashrc    # 在这里面修改,可以作为全局变量,只要开启shell就会执行这个文件
            /etc/profile   # 在这里面修改,可以作为全局变量,只要登录就会加载这个文件
            
            
        export [变量] 使[变量]可以作用于该程序的所有子程序
        
    通配符:
        ; 接受过个命令,不管命令结果,依次接受
        $? 取上一次命令成功的结果,如果是0表示执行成功,非0,表示执行事变
        : 执行结果永远为真
        ? 表示任意一个字符
    
    正则表达式:
        grep 命令 + 正则表达式:
            -n 显示行号
            -q 主要用来判断这条任务有没有成功,可用来验证文件中是否包含内容
            -l 显示路径
            -rl 递归着去文件中查找子文件,并显示文件名
            -A 2 匹配行的后两行
            -B 2 匹配行的前两行
            -C 1 匹配行的前后一行
            -i 忽略大小写
            -o 只显示匹配的内容
            -v 取反
            -w 过滤单词,可以找到用空格或其它符号分开的单词
            
            
    正则表达式:
        grep普通的查找,如果不行,就换egrep扩展正则
            ^ 行首,如: '^hello'
            $ 行尾,如: 'hello$'
            . 除了换行符以外的一个字符
            * 左面字符出现零次到无穷次
            grep -E '(ab)*' test.txt   查找多个或另个 ab 连续的,没有也算
            grep -E 'ab(ab)*' test.txt  至少出现一个
            ? 左面字符出现零次或一次
            + 左面字符出现一次到无穷次
            {} 左面字符出现花括号中的次数
            {3,} 左面字符出现花括号中3到*次的次数
            .* 随意字符
            [0-9] 任意数字, [a-z] 左右小写字母, [A-Z] 所有大写字母, [a-Z] 所有字母, [^0-9] 除了0-9
            | 或者
            x{m} x出现m次
            x{m,} x出现m次至多次(至少m次)
            x{m,n} x出现m次至n次
            'compan(y|ies)'
            -v 非
            
            
    shell script
        unset x   取消变量x
        PS1  这个变量可以修改浅慢的 root那啥的,就是那个输入命令的,前面的那个
        [ ] 可以比较大多数东西
        ((  ))  数字之间的比较
        
        
        

    ================================================================

    作业二:grep作业(正则表达式及字符处理)

    目标文件/etc/passwd,使用grep命令或egrep

    1.显示出所有含有root的行:

    [root@bogon ~]# egrep root /etc/passwd

    2.输出任何包含bash的所有行,还要输出紧接着这行的上下各两行的内容:

    [root@bogon ~]# egrep -C 2 bash /etc/passwd

     

     

    3.  显示出有多少行含有nologin

    [root@bogon ~]# egrep -c nologin /etc/passwd

     

    4.显示出那些行含有root,并将行号一块输出。

    [root@bogon ~]# egrep -n root /etc/passwd

     

    6.新建用户

    abominable

    abominate

    anomie

    atomize

    编写正则表达式,将他们匹配出来

    [root@bogon sbin]# useradd abominable

    [root@bogon sbin]# useradd abominate

    [root@bogon sbin]# useradd anomie

    [root@bogon sbin]# useradd atomize

    [root@bogon sbin]# egrep '^a(b|n|t)omi(nable|nate|e|ze)' /etc/passwd

     

    7.建四个用户

    Alex213sb

    Wpq2222b

    yH438PIG

    egon666

    egon

     

    过滤出用户名组成是字母+数字+字母的行

    8.显示出/etc目录下所有包含root的文件名

    9. 过滤掉/etc/ssh/sshd_config内所有注释和所有空行

    [root@bogon sbin]# useradd Alex213sb

    [root@bogon sbin]# useradd Wpq2222b

    [root@bogon sbin]# useradd yH438PIG

    [root@bogon sbin]# useradd egon666

    [root@bogon sbin]# useradd egon

     

    8.显示出/etc目录下所有包含root的文件名

    [root@bogon sbin]# egrep -rl 'root' /etc/

     

    9. 过滤掉/etc/ssh/sshd_config内所有注释和所有空行

    [root@bogon sbin]# grep -v '#' /etc/ssh/sshd_config | grep -v '^$'

     

    作业三:

    linux下源码安装python,并设置PATH

    wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz -P /root/Downloads/

     

    解压

    [root@bogon Downloads]# cd /root/Downloads/

    [root@bogon Downloads]# tar -xzvf Python-3.6.1.tgz

     

    安装

    [root@bogon Downloads]# cd Python-3.6.1/

    [root@bogon Python-3.6.1]# mkdir /usr/local/python3.6

    [root@bogon Python-3.6.1]# ./configure --prefix=/usr/local/python3.6

     

    [root@bogon Python-3.6.1]# make && make install

     

    Installing collected packages: setuptools, pip

    Successfully installed pip-9.0.1 setuptools-28.8.0

    [root@bogon Python-3.6.1]# cd /usr/local/python3.6/

     

    [root@bogon python3.6]# cd bin

    加入环境变量

    [root@bogon bin]# vim /etc/bashrc

    windows下安装python,并设置PATH

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    02-Maven安装配置
    01-Maven功能特点
    安装Jenkins服务
    Python操作Saltstack
    基于Python自动上传包到nexus仓库
    避免代码merge后无法构建发布(GItlabCI + Jenkins)
    SonarQube-Centos环境设置为系统服务
    SonarQube配置LDAP认证集成
    Centos7 搭建Go语言编译环境
    OpenShift-EFK日志管理
  • 原文地址:https://www.cnblogs.com/alwaysInMe/p/6939480.html
Copyright © 2020-2023  润新知