系统符号
  • 基础符号

    • $

      • 取出变量中的内容

      • 取出指定列的信息(awk)

        awk '{print $3}' /old.txt
        取出第三列的信息
        
      • 表示用户命令提示符号

      • 表示一行的结尾

    • !

      • 表示取反或者排除
      • 命令行中表示取出最近命令
      • 用于表示强制操作处理
        • vim底行模式强制保存退出:!wq
    • |

      • 前一个命令执行结果交给后面命令处理
      • xargs配合使用:将信息进行分组显示
  • 引号符号系列

    • '':sed和awk要使用单引号

      • 所见即所得
    • ""

      • 对特殊信息会做解析
    • ``或$():

      • 先执行里面的内容然后交给前面的命令,并且执行的结果如果是多行交给前面的命令变成了一行
    • 没有引号:

      • 和双引号功能类似
      • 但是可以直接识别通配符信息
      echo {00..5}.txt
      输出5个txtecho "{00..5}.txt"
      输出原样
      
  • 定向符号系列

    • >:标准输出重定向符号

      • 2>:错误输出重定向符号(只输出错误的)
    • >>:标准输出追加重定向符号

      • 2>>:错误输出追加重定向符号
    • <:标准输入重定向符号

      tr < xargs <
      
      • <<:标准输入追加重定向符号

        cat >> /old.txt <<EOF
        xxx
        xxx
        EOF
        
      • 如何将正确和错误的信息都可以放进去(都是追加)

        echo old >> /var/1.log 2>> /var/1.log或
        echo old &>> /var/1.log或
        echo old >> /var/1.log 2>&1
        
  • 路径信息系列

    • ../:上一级目录
    • ./:当前路径
    • ~:返回到家目录
    • -:两个目录之间进行快速切换
  • 逻辑符号

    • &&:与逻辑符号,前一个命令执行成功了才执行后面的命令

    • ||

      • 如果前面命令执行失败就执行后面的命令。
      • 如果前面命令执行成功就不执行后面的命令
    • ;:不管前面执行是否成功都执行后面的命令(所有命令都执行)

    • &&\:可以将要执行的命令重新一行开始写

通配符号:根据文件名称进行匹配
  • *:模糊匹配所有内容

    • 在grep命令里使用的是正则符号:匹配前一个字符出现了0次或多次
  • {}

    • 生成序列信息(生成一行序列)

      echo {1..10}
      echo {01..10}
      echo {a..z}
      
    • 生成连续序列

      echo {1..10..2}
      1 3 5 7 9
      
    • 生成不连续序列

      echo {www,bbs,ccc}
      www bbs ccc
      
    • 生成组合序列

      echo {a..c}{01..03}
      a01 a02 a03 b01 b02 b03 c01 c02 c03echo A{01..03}
      A01 A02 A03
      
    • 快速备份文件数据

      echo old.txt{,.bak}
      old.txt old.txt.bakcp old.txt{,.bak}等价于cp old.txt old.txt.bak
      
    • 快速还原

      mv /old/1.txt{.bak,}等价于mv /old/1.txt.bak /old/1.txt
      
正则符号:进行内容进行匹配
  • 用处

    • 利用正则符号匹配文件内容信息

    • 正则符号经常出现在各种开发与研制

    • 正则符号经常被三剑客命令使用

  • 分类

    • 基础正则符号:base
    • 扩展正则符号:extended
基础符号
  • ^:匹配以什么开头的

    匹配当前路径下的目录
    ll | grep "^d"
    
  • $:以什么结尾的信息

    匹配以/结尾的
    ll -F | grep "/$"-F 目录后面有一个/
    
  • 不匹配空行

    grep -v "^$"
    ^$:匹配空行
    -v:取反
    
  • .:匹配任意一个字符且只有一个字符

    grep -o '.' 1.txt-o:显示匹配过程
    发现每次匹配的都是一个字符一个字符匹配且如果行为空的话不匹配。会对文件所有内容都进行匹配
    
  • *:匹配前一个字符出现了0次或多次

    grep -o '01*' 1.txt会对文件所有内容都进行匹配
    先匹配1 然后匹配1
    
  • .*:匹配任意所有信息

    #这匹配的是以mm开头mm结尾中间没内容的行。就是一行的内容为mm
    grep "^mm$" 1.txt#这匹配的是以mm开头,mm结尾但中间有内容
    grep "^mm.*mm$" 1.txt
    
  • 贪婪匹配问题:指定具体的匹配信息

  • 转义符号:\

    grep "\.$" 1.txt匹配以.结尾的行
    
    • 将有特殊意义的符号,转义成普通信息进行识别

    • 将没有意义的信息转为有特殊意义的信息

      \n:换行符号
      \t:制表符号
      
  • 括号符号:[]:匹配多个信息。括号里面的的每个字符都是独立的

    grep "oldb[oe]y" 1.txt
    匹配oldboy和oldbey的信息。grep "^[a-Z]" 1.txt
    
    • 括号中的排除:^

      grep "^[^a-Z]" 1.txt匹配不以a-Z开头的行,不包含空行
      
扩展符号:默认grep、sed不能直接识别。grep需要加-E,sed需要加-r
  • +:匹配前一个字符一次或多次

    grep -E "0+" 1.txt
    
  • |:并且符号,用于匹配多个信息

    grep -E "oldboy|blog" 1.txt
    匹配oldboy或blog信息的数据
    
  • (): 指定信息进行整体匹配;进行后项引用前项使用

    • 批量创建用户

      echo oldboy{01..10} | xargs -n1 | sed -r 's#(.*)#useradd \1#g' | bashehco oldboy{01..10}:一行输出oldboy01到oldboy10
      |xargs -1:将每一块变成一列一列
      |sed -r 's#(.*)#useradd \1#g':
      -r:识别高级正则符号
      s:substitute替换
      #要修改的内容#修改后的内容#:修改规则
      (.*):一行的所有内容作为一个整体,也就是前项
      useradd \1:
      useradd:创建用户命令
      \1:调用前项,也就是(.*)匹配的内容
      |bash:执行命令 useradd .*
      
    • 批量创建并且修改密码

      seq -w 10 | sed -r 's#(.*)#useradd oldboy\1#g';echo 123456 | passwd --stdin oldboy\1 | bashseq -w 10:
      01
      02
      ...
      10|sed -r 's#(.*)#useradd oldboy\1#g':
      useradd oldboy01
      useradd oldboy02
      ...
      useradd oldboy10#要修改的内容#修改后的内容#:修改规则
      (.*):一行的所有内容作为一个整体,也就是前项
      useradd \1:
      useradd:创建用户命令
      \1:调用前项,也就是(.*)匹配的内容
      ;:不管前面命令是否执行成功都执行后面的命令
      echo 123456 | pwsswd --stdin oldboy01:免交互设置密码
      |bash:执行命令 useradd .*
      
  • {}:指定字符连续匹配的次数

    x{n,m}:x字符至少出现n次,最多匹配m次
    grep -E "0{2,3}" 1.txt
    如果有连续的3个0,就会只匹配三个0
    如果有连续的5个0,就会先匹配3个在匹配2个。五个都会匹配出来x{n,}:最少匹配n次,最多不限制x{n}:指定匹配n次
    
  • ?:匹配前一个字符出现0次或1次

    ifconfig | grep "([0-9]+\.?){4}" -0
    [0-9]出现了多次 .出现0次或一次。 这个整体匹配4次
    

Linux系统符号详解(所有用到的符号)相关推荐

  1. linux系统安全详解

    linux系统安全详解 http://www.2cto.com/Article/201207/142181.html一,BIOS安全(硬件上的安全) 1,最基本最简单的安全配置,保障计算机硬件配置等不 ...

  2. Linux系统 logrotate 详解

    对于 Linux 系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分 Nginx日志之类的 CRON 脚本,大家似乎遗忘了 Logrotate,争相 ...

  3. Linux系统proc详解

    原文链接:https://www.cnblogs.com/liushui-sky/p/9354536.html 目录 一.        进程目录中的常见文件介绍 1.1 cmdline 1.2.cw ...

  4. Linux系统DNS详解(BIND)

    一.Linux运维实战之DNS基础     DNS服务作为网络的一种基础架构,在网络中有举足轻重的地位.它担负着整个网络用户计算机的名称解析工作.没有正确的名称解析,服务器就无法识别各客户机.我们在日 ...

  5. linux系统输入指令,详解linux系统输入输出管理和vim的常用功能

    ####系统中输入输出的管理#### 1.理解系统的输入输出重定向 输入重定向是指把文件导入到命令中,而输出重定向则是把原本要输出到屏幕的数据信息写入到指定文件中. 2.管理输入输出的符号 ##输出重 ...

  6. Linux系统根目录详解

    /  根目录 包含了几乎所的文件目录.相当于中央系统.进入的最简单方法是:cd / /boot  引导程序,内核等存放的目录 这个目录,包括了在引导过程中所必需的文件.在最开始的启动阶段,通过引导程序 ...

  7. Linux系统mknod详解

    简介 mknod用于创建一个指定文件名的文件系统节点,把所有的设备都当做文件来处理 语法格式 mknod[选项][文件名称] [文件类型] [主设备号] [次设备号] 参数详解 参数 详解 -Z 设置 ...

  8. Linux系统分区详解

    安装linux系统时 一般会分配三个区 分区 作用 /boot 系统的启动分区 /swap 交换分区 / 系统文件根目录,Linux顶级目录 简单介绍一下三个分区 /boot 引导分区,存放引导文件和 ...

  9. 常用的Linux系统工具详解,包括tmux,Nethogs,john,IOTop,IPtraf,iftop,HTop,NMON,MultiTail,Fail2ban,nmap,Httperf等

    前言 无论是,软件开发,还是运维,都离不开使用Linux服务器.除了常用的远程连接工具,如果您还知道,并会使用tmux,Nethogs,john,IOTop,IPtraf,iftop,HTop,NMO ...

  10. VM虚拟机里安装Linux系统教程详解

    很多企业在做数据抓取的时候往往需要多台服务器同时运行,在降低成本的同时还能方便操控服务器就显得尤为重要. 这篇文章介绍了在VMware虚拟机里安装Linux操作系统的方法,文中通过示例代码介绍的非常详 ...

最新文章

  1. SAP SD基础知识之免费订单
  2. .net数据库操作类2
  3. 判断点在直线的哪一侧_点与线、线与线、距离这些一锅煮,你能否顺利消化
  4. 机器学习之手把手实现第1部分:支持向量机的原理和实现
  5. Extjs DateField onchange
  6. 【我的物联网成长记2】设备如何进行选型?
  7. (2) OpenSSL命令
  8. Openresty支持HTTP2
  9. github上传代码_如何更新GitHub上的代码?
  10. HDU3364 Lanterns
  11. 梦三花重金修改服务器,3月6日一梦江湖游戏更新公告
  12. mmgrid cols表头列隐藏
  13. 100天精通Python丨基础知识篇 —— 02、Python和Pycharm(语言特点、学习方法、工具安装)
  14. SAP QM 取消UD方法
  15. 车载网络测试 - 车载以太网 - Tester和DUT的IP、MAC、Logical addr设置
  16. 常见编码介绍。一个字符在不同编码中分别占几个字节(新手向)
  17. linux下查看磁盘空间
  18. 关于“分节符(下一页)”和“分节符(奇数页)”的问题
  19. 如何把pdf转换成ppt格式呢?
  20. java c 速度_Java和C#运行速度对比:Java比C#快约3倍

热门文章

  1. Nordic DFU 使用教程
  2. 法国国际广播电台官方网站
  3. c中的stderr、stdout、stdin差别
  4. Http get方式发送请求
  5. 【Java 环境搭建】(二)Maven
  6. 常见硬盘IOPS参考值
  7. Struts2【开发Action】
  8. 参加猿代码超算实习生计划靠谱吗?
  9. ziRail 0.71 for Maya2018-2020,maya拓扑的神兵利器
  10. 《C语言到底能干什么》1.5 在窗口上写上“Hello World”(高手莫看)