1.特殊符号:

' '     单引号   
       单引号的内容     写什么就是什么,不会被当成特殊字符.
       单引号实例:
      [root@oldboyedu-sh01 ~]# echo '$123'

      $123


" "    双引号
       双引号里面的内容会被解析
       双引号实例:
      [root@oldboyedu-sh01 ~]# echo "$123"

      23
            ## $1 被当成了变量,而在单引号中不会出现这种问题

` `  (键盘中 1 的右边),称为  反引号 
     反引号会让引号内的内容优先执行
     反引号 实例:
     [root@oldboyedu-sh01 ~]# ls -l `ls`

    -rw-r--r--. 1 root root 0 Apr 9 11:14 2

    -rw-------. 1 root root 1162 Mar 22 12:05 anaconda-ks.cfg

    -rw-r--r--. 1 root root 21736 Mar 22 12:05 install.log

    -rw-r--r--. 1 root root 5890 Mar 22 12:04 install.log.syslog

    -rw-r--r--. 1 root root 242 Apr 9 10:02 oldboy.txt


!    感叹号
    find排除
    find chenleilei/ -type f ! -name "2" -name "*"
      #排除多个请看下面的实例

    感叹号为取反的意思  (find 命令中 ! 只能排除一个文件或者文件夹,但可以在后面接
    egrep -v  来排除多个)
    感叹号实例:
    [root@oldboyedu-sh01 ~]# find chenleilei/ -type f -name "*" | egrep -v "3|2|1"
    chenleilei/7
   chenleilei/8
    chenleilei/9
   chenleilei/5
   chenleilei/4
   chenleilei/6

 ^符号  以XX开头

[root@chenleilei ~]# grep ^7 3.txt

743q9hf9g87rfg23


& &    并且   (一个命令执行成功后再执行下一个命令)

例子:
ifdown eth0 && ifup eth0



[]    代表的是中括号中的任意一个
      例子:[root@chenleilei
~]# ls [1,2,3].txt 

              1.txt 2.txt 3.txt 

*     任意一个或者多个字符,或匹配所有

例子:   [root@chenleilei ~]# ls *.txt

1.txt
2.txt 3.txt

    任意一个单个字符
      例子:[root@chenleilei ~]# ls ?.txt 
              1.txt 2.txt 3.txt 

>      覆盖输出重定向
        echo  '123'  >1.txt 

>>   追加输出重定向
        echo  '123'  >1.txt 

<   输入重定向
     cat >1.txt < eof
    1111111
     eof        输入重定向

<<   追加输入重定向
        cat >1.txt<<eof
        1111111
        eof

[-]  代表一个范围  如  [a-zA-z]
     例子: [0-9]  代表括号内得0到9得任意字符会被匹配

 [^]   非得意思如 [^abc]  -- 只要不是abc
其他都行  排除得意思

{ }  生成序列   
    例子:  touch  {1..10}.txt

.      当前目录

..     上一级目录


基础正则:
{..}    查找或删除文件时指定多个文件类型   (查询)
        如: ls {*.txt,*.jpg}

          [root@oldboyedu-sh01 chenleilei]# ls {*.txt,*.jpg}

          1.jpg 1.txt


{..}     echo 总 它是指定 一个数列 和数列间得间隔  (生成数列)
       [root@oldboyedu-sh01 chenleilei]# echo {1..10..3}

       1 4 7 10


{..}     同时1.{,.bak}  也可以进行备份            (备份)
       [root@oldboyedu-sh01 chenleilei]# cp 1.txt{,.bak}

       [root@oldboyedu-sh01 chenleilei]# ls

         1 10 1.jpg 1.txt 1.txt.bak 2 3 4 5 6 7 8 9


^    以什么开头
      [root@oldboyedu-sh01 chenleilei]# ls 99*.txt

      9992ef9.txt 9999999999.txt


   
^$    表示为 空行
     [root@oldboyedu-sh01 ~]# grep --color=auto -n '^$' oldboy.txt

     3:

     8:



扩展实例:
统计一个文件中 每个字符使用得次数
[root@oldboyedu-sh01 ~]# grep -o '[0-9]' oldboy.txt |sort |uniq -c
[root@oldboyedu-sh01 ~]# grep -o '[0-9]' oldboy.txt | sort | uniq -c

      8 0

      1 1

      6 4

      1 5

      2 8

      2 9


linux通配符与基础正则的更多相关文章

  1. Linux通配符与基础正则表达式、扩展正则表达式

    在Linux命令行操作或者SHELL编程中总是容易混淆一些特殊字符的使用,比如元字符‘*’号,作为通配符匹配文件名时表示0个到无穷多个任意字符.而作为正则表达式匹配字符串时,表示重复0个到无穷多个的前 ...

  2. linux通配符,grep和 egrep区别

    其实主要是正则表达式中的一些特殊语法.在网上找的几篇文章,截取相关部分贴在了下面,方便以后翻阅. 参考:http://hi.baidu.com/sei_zhouyu/item/c18e1a950d2e ...

  3. 第一阶段·Linux运维基础 第3章·文件属性、正则表达式、文件权限

    01-文件属性内容介绍 02- inodeyublock讲解 03-访问oldboyfile的寻宝过程 04-inode与block小结 05-磁盘空间不足案例详解 06-Linux文件类型及拓展名 ...

  4. linux 脚本编写基础(一)

    1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在 ...

  5. Linux shell入门基础(六)

    六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...

  6. 鸟哥Linux私房菜基础学习篇学习笔记3

    鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...

  7. Linux系统优化及基础命令

    1.Linux系统优化及基础命令 2. vim编辑器 vim 操作命令 在命令模式下操作 pageup 往上翻页(重要指数****)pagedown 往下翻页(重要指数****)H 移动到屏幕首行gg ...

  8. 鸟哥Linux私房菜基础学习篇学习笔记2

    鸟哥Linux私房菜基础学习篇学习笔记2 第九章 文件与文件系统的压缩打包: Linux下的扩展名没有什么特殊的意义,仅为了方便记忆. 压缩文件的扩展名一般为: *.tar, *.tar.gz, *. ...

  9. Linux shell脚本基础学习详细介绍(完整版)一

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...

随机推荐

  1. Azure RBAC管理ASM资源

    上一篇文章介绍了Azure基于ARM的RBAC,给不同的用户分配不同的权限. 但目前在国内使用的大部分用户还是以ASM的资源为主.比如:VM.Storage.Network.WebAPP.SQL Az ...

  2. QtCreator开启-O编译优化的方式

    首先,编译优化必须是在Release模式下进行,保证程序没有任何bug的条件下进行执行.编译优化能极大提升程序的运行效率,级别越高速度越快,但是对代码健壮性要求也越高! 选择编译release模式,在 ...

  3. Sql server big data如何批量update数据

    原因: 要一次性update 2千万条数据,虽然update sql很简单,但是由于一次性修改太多的数据,造成数据库log满了,就会报error: [ErrorCode: 9002, SQL Stat ...

  4. Js基础之函数

    定义函数:我们使用function标签来定义函数 使用函数:JavaScript函数定义完毕是不能自动执行的,需要我们调用或者事件触发,比如点击事件,鼠标事件,键盘事件等. 下面我们以点击事件为例,调 ...

  5. 蓝桥杯 算法训练 ALGO-117 友好数

    算法训练 友好数   时间限制:1.0s   内存限制:256.0MB 问题描述 有两个整数,如果每个整数的约数和(除了它本身以外)等于对方,我们就称这对数是友好的.例如: 9的约数和有:1+3=4 ...

  6. shell脚本 - 快速到达目录

    服务器中存放很多工程目录,通过ssh登录,需要手动敲命令,很麻烦,可以建立自动登录脚本 1.在服务器登录是默认的目录中建立脚本文件 vi drivers.sh #建立登录脚本 cd data/work ...

  7. mysql高可用集群——MHA架构

    目录1.下载2.搭建mha 2.1 系统配置 2.2 架构 2.3 添加ssh公钥信任 2.4 安装mha节点 2.5 manager配置文件 2.6 检查 2.7 启动manager进程 2.8 碰 ...

  8. java 基础知识学习

    1:  JDK VS  JRE JDK: java开发工具包,提供编译和运行环境,将java编译成字节码文件,即.class文件.JDK有三个版本: j2SE,  J2EE,  j2me jre: 运 ...

  9. 基于opencv+ffmpeg的镜头分割

    镜头分割常常被用于视频智能剪辑.视频关键帧提取等场景. 本文给出一种解决镜头分割问题的思路,可分为两个步骤: 1.根据镜头分割算法对视频进行分割标记 核心在于镜头分割算法,这里简单描述一种算法思路:r ...

  10. DDD学习笔录——提炼问题域之知识提炼与协作

    提炼问题域的意义 理解一个复杂问题域以便创建简单且有用的模型需要深入详尽的知识以及深刻的见解,这些只能通过与从内到外理解该领域的人协作得到.对模型的设计进行连续实验和探究正是DDD的能力所能实现的.只 ...