【转】linux的特殊符号与正则表达式

第1章 linux的特殊符号

1.1 通配符 * {}

1.1.1 含义

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

1.1.2  *

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

find /clsn -type f -name "*.sh" -mtime +7 -size +100k -size -10M

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

[root@znix 20170118]# find -type f -name "*clsn*"

[root@znix 20170118]# ls -l *clsn*

1.1.3  {}

{} 用来生成序列

[root@znix 20170118]# echo clsn{1..3}.txt

clsn1.txt clsn2.txt clsn3.txt

[root@znix 20170118]# echo {a,c,d,f}

a c d f

echo {a..z} {A..Z} 中间需要有空格,表示两个无关的序列

[root@znix 20170118]# echo {a..z} {A..Z}

a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

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

[root@znix ~]# echo {1..10..3}

1 4 7 10

备份一个文件的时候使用

[root@znix ~]# cp clsn.txt{,.bak}

[root@znix ~]# ll clsn*

-rw-r--r-- 3 root root 241 Aug 30 11:40 clsn.txt

-rw-r--r-- 1 root root 241 Aug 31 09:38 clsn.txt.bak

1.2 特殊符号

1.2.1 特殊符号

>  标准输出重定向,先把内容清空,再向文件里放其他东西

>> 标准追加重定向 向文件内加内容

<  标准输入    xargs

<< 追加输入    cat>/clsn.txt<<EOF 追加多行

.  当前目录/linux下面的隐藏文件

.. 当前用户的上一级目录

~  当前用户的家目录

/  根 路径的分割符号

\  临时取消别名

|  管道

!

1) vim中强制

2) 取反 find awk

3) 表示使用你用过的命令 使用历史命令

!可以看历史命令   history 命令

!ls   ===== history |grep ls

[root@znix ~]# history

#   注释

$   取出变量里的内容

&& 并且 前一个命令运行成功,然后再运行后面的命令

ifdown eth0 && ifup eth0

;   分开多条命令 在同一行里面放入多个命令。

ls; pwd; hostname

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

' '

吃啥吐啥

[root@znix ~]# echo '$LANG $(pwd) `hostname` {1..3}'

$LANG $(pwd) `hostname` {1..3}

" "

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

[root@znix ~]# echo  "$LANG $(pwd) `hostname` {1..3}"

en_US.UTF-8 /root znix {1..3}

不加引号

[root@znix ~]# echo  $LANG $(pwd) `hostname` {1..3}

en_US.UTF-8 /root znix 1 2 3

`  `

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

[root@znix ~]# du -sh    `find -type d`

764K    .

第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 环境准备

cat -A 在每一行最后加上一个$符号。

[root@znix ~]# clsn.txt

I am clsn teacher!$

I teach linux.$

$

I like badminton ball ,billiard ball and chinese chess!$

my blog is http://clsn.blog.51cto.com$

$

our site is http://www.etiantian.org$

$

my qq num is 49000448.$

$

not 4900000448.$

my god ,i am not oldbey,but clsn!$

2.5.2 找以m开头的行 ^

^m 表示以m开头,^表示以什么开头。

[root@znix ~]# grep "^m" clsn.txt

my blog is http://clsn.blog.51cto.com

my qq num is 49000448.

my god ,i am not oldbey,but clsn!

2.5.3 以m结尾的行结尾的行 $

m$ 表示以m结尾。

[root@znix ~]# grep "m$" clsn.txt

my blog is http://clsn.blog.51cto.com

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

-n 显示行号

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

[root@znix ~]# grep -n "^$" clsn.txt

3:

6:

8:

10:

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

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

[root@znix ~]# grep "oldb.y" clsn.txt

I am clsn teacher!

my blog is http://clsn.blog.51cto.com

my god ,i am not oldbey,but clsn!

grep -o 显示grep/egrep执行的过程(每一次找到的东西)。

[root@znix ~]# grep -o "." clsn.txt

[root@znix ~]# grep -o "oldb.y" clsn.txt

clsn

clsn

oldbey

2.5.6 找到以点结尾的行

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

\.$ 表示以点结尾。

[root@znix ~]# grep '\.$' clsn.txt

I teach linux.

my qq num is 49000448.

not 4900000448.

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

连续出现了0次就是没出现

-o 显示grep找到的过程

[root@znix ~]# grep "0*" clsn.txt

I am clsn teacher!

I teach linux.

I like badminton ball ,billiard ball and chinese chess!

my blog is http://clsn.blog.51cto.com

our site is http://www.etiantian.org

my qq num is 49000448.

not 4900000448.

my god ,i am not oldbey,but clsn!

[root@znix ~]# grep -o "0*" clsn.txt

000

00000

2.5.8 正则表达式的贪婪性

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

2.5.9 .* 表示所有

显示所有的内容,一次找到。

[root@znix ~]# grep -o ".*" clsn.txt

I am clsn teacher!

I teach linux.

I like badminton ball ,billiard ball and chinese chess!

my blog is http://clsn.blog.51cto.com

our site is http://www.etiantian.org

my qq num is 49000448.

not 4900000448.

my god ,i am not oldbey,but clsn!

表示所有.*  连续出现的时候会表现贪婪性。

[root@znix ~]# grep "^.*m" clsn.txt

I am clsn teacher!

I like badminton ball ,billiard ball and chinese chess!

my blog is http://clsn.blog.51cto.com

my qq num is 49000448.

my god ,i am not oldbey,but clsn!

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

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

[root@znix ~]# grep  "[0-9]" clsn.txt

[root@znix ~]# grep  "[A-Z]" clsn.txt

[root@znix ~]# grep  "[a-z]" clsn.txt

找到文本中的大写和小写字母。

[root@znix ~]# grep  "[a-zA-Z]" clsn.txt

2.5.11 找以 m或n或o开头的 并且以  m或g 结尾的行

.*       表是什么都可以

^[mno] m 或n或o开头的

[mg]$ m  或g 结尾

[root@znix ~]# grep "^[mno].*[mg]$" clsn.txt

my blog is http://clsn.blog.51cto.com

our site is http://www.etiantian.org

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

[^abc]   表示找排除a或排除b或排除c之外的其他字符

[root@znix ~]# grep "[^abc]" clsn.txt

I am clsn teacher!

I teach linux.

I like badminton ball ,billiard ball and chinese chess!

my blog is http://clsn.blog.51cto.com

our site is http://www.etiantian.org

my qq num is 49000448.

not 4900000448.

my god ,i am not oldbey,but clsn!

2.5.13 grep -v 排除与[^abc]

grep -v  排除行

[^abc]   字符或文字

第3章 昨日回顾(删除文件、开机自启动)

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

1)chkconfig

2)/etc/rc.local

3.1.1 被chkconfig管理 需要什么条件

1)必须放在/etc/init.d/

2)这个脚本要有执行权限

3)加上chkconfig要求的内容

# chkconfig: 2345 99 99

4)chkconfig --add 把脚本添加到开机自启动

5)检查

3.2 /etc/rc.local

[root@znix ~]# ls -l /etc/rc3.d/ |grep rc.local

lrwxrwxrwx. 1 root root 11 Aug 10 18:36 S99local -> ../rc.local

3.3 磁盘空间不足 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.4 文件的删除原理(条件)

1、硬链接数为0

2、进程调用数为0

日志

/var/log/messages

/var/log/secure

rsyslog

3、inode满了

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

大量的小文件

【转】linux的特殊符号与正则表达式的更多相关文章

  1. linux的特殊符号与正则表达式

    第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2  * 通过find 命令找以 .sh 结尾的文件,使用*替代文件名字. ...

  2. Linux之特殊符号与正则表达式

    Linux中常用的特殊符号 '' 所见即所得,吃啥吐啥 "" 特殊符号会被解析运行 `` ==== $() 先运行里面的命令 把结果留下 > 重定向符号 先清空文件的内容 然 ...

  3. linux 中特殊符号用法详解

    # 井号 (comments)#管理员  $普通用户 脚本中 #!/bin/bash   #!/bin/sh井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被执行 ...

  4. (转)linux 中特殊符号用法详解

    linux 中特殊符号用法详解 原文:https://www.cnblogs.com/lidabo/p/4323979.html # 井号 (comments)#管理员  $普通用户 脚本中 #!/b ...

  5. linux的文件处理(匹配 正则表达式 egrep awk sed)和系统、核心数据备份

    文件处理 1.处理方式 匹配 正则表达式 egrep awk sed 2.文件中的处理字符 \n  新行符 换行 \t  制表符 tab键 缺省8个空格 \b  退格符 backspace键 退格键 ...

  6. LINUX中,find结合grep正则表达式,快速查找代码文件。

    ###目的###LINUX中,find结合grep正则表达式快速查找代码. 例如经常有需求:查找当前目录下所有.h文件中,"public开头,中间任意字符,以VideoFrameReceiv ...

  7. [转帖]Linux教程(13)- Linux中的通配符和正则表达式

    Linux教程(13)- Linux中的通配符和正则表达式 2018-08-22 06:16:44 钱婷婷 阅读数 39更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文 ...

  8. 文件类型分类:头文件dirent.h中定义的文件类型与linux内文件符号对应关系

    头文件 dirent.h 定义了文件类型: enum{    DT_UNKNOWN = 0,         //未知类型    DT_FIFO = 1,            //first in, ...

  9. linux符号与正则表达式

    特殊符号    >    或者1>   标准输出重定向 先把文件的内容清空  再放入新的内容 >> 或   2>>  追加重定向  把内容放入文件的最后一行 1   ...

随机推荐

  1. LOJ #2802. 「CCC 2018」平衡树(整除分块 + dp)

    题面 LOJ #2802. 「CCC 2018」平衡树 题面有点难看...请认真阅读理解题意. 转化后就是,给你一个数 \(N\) ,每次选择一个 \(k \in [2, N]\) 将 \(N\) 变 ...

  2. Hdoj 1009.FatMouse' Trade 题解

    Problem Description FatMouse prepared M pounds of cat food, ready to trade with the cats guarding th ...

  3. HTML 浏览器对象 讲解

    Window对象 Ø  属性 •    Document:文档对象 •    Event:事件对象 •    History:历史记录对象 •    Location:位置对象 •    Name:w ...

  4. [luogu4513]小白逛公园

    题目描述 在小新家附近有一条"公园路",路的一边从南到北依次排着n个公园,小白早就看花了眼,自己也不清楚该去哪些公园玩了. 一开始,小白就根据公园的风景给每个公园打了分-.-.小新 ...

  5. [hgoi#2019/2/17t1]million

    题目描述 面对格鲁的入侵,小黄人们要组建一支队伍,来抵御进攻,现在有编号为1 至n 的小黄人,任命编号为n 的队长,由其挑选队员,当然编号不是随便编的,每一个编号里都包含一个小黄人的个人信息,现在队长 ...

  6. Android 手势&触摸事件

    在刚开始学Android的时候,就觉得Google的文档不咋样,在研究手势时,更加的感觉Google的文档写得实在是太差了.很多常量,属性和方法,居然连个描述都没有. 没有描述也就罢了,但是OnGes ...

  7. 转载:Windows下stdlib.h与glut.h中exit()函数重复定义的解决方案

    最近用到 OpenGL的第三方库Glut,碰到了exit()这个函数在stdlib.h与glut.h两个头文件中重复定义的情况,解决方案如下: 打开glut.h,找到exit()函数定义的地方(144 ...

  8. 洛谷P4112 最短不公共子串

    题意: 下面,给两个小写字母串A,B,请你计算: (1) A的一个最短的子串,它不是B的子串 (2) A的一个最短的子串,它不是B的子序列 (3) A的一个最短的子序列,它不是B的子串 (4) A的一 ...

  9. php 开启 opcache 之后 require、include 还会每次都重新加载文件吗?

    当前目录有以下两个文件 index.php <?php var_dump(require 'A.php'); A.php <?php return 123; 接着运行: php -S 0. ...

  10. python中的os模块

    os模块 os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小…… 另 ...