侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Linux中的特殊符号与正则表达式

linux  /  管理员 发布于 7年前   217

第1章 linux的特殊符号

1.1 通配符 * {}

1.1.1 含义

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

1.1.2  *

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

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

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

[root@znix 20170118]# find -type f -name "*oldboy*"[root@znix 20170118]# ls -l *oldboy*

1.1.3  {}

{} 用来生成序列

[root@znix 20170118]# echo oldboy{1..3}.txtoldboy1.txt oldboy2.txt oldboy3.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 oldboy.txt{,.bak}[root@znix ~]# ll oldboy*-rw-r--r-- 3 root root 241 Aug 30 11:40 oldboy.txt-rw-r--r-- 1 root root 241 Aug 31 09:38 oldboy.txt.bak

1.2 特殊符号

1.2.1 特殊符号

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

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

<  标准输入    xargs

<< 追加输入    cat>/oldboy.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 ~]# oldboy.txtI am oldboy teacher!$I teach linux.$$I like badminton ball ,billiard ball and chinese chess!$my blog is http://oldboy.blog.51cto.com$$our site is http://www.etiantian.org$$my qq num is 49000448.$$not 4900000448.$my god ,i am not oldbey,but OLDBOY!$

2.5.2 找以m开头的行 ^

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

[root@znix ~]# grep "^m" oldboy.txtmy blog is http://oldboy.blog.51cto.commy qq num is 49000448.my god ,i am not oldbey,but OLDBOY!

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

m$ 表示以m结尾。

[root@znix ~]# grep "m$" oldboy.txtmy blog is http://oldboy.blog.51cto.com

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

-n 显示行号

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

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

3:

6:

8:

10:

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

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

[root@znix ~]# grep "oldb.y" oldboy.txtI am oldboy teacher!my blog is http://oldboy.blog.51cto.commy god ,i am not oldbey,but OLDBOY!

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

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

2.5.6 找到以点结尾的行

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

\.$ 表示以点结尾。

[root@znix ~]# grep '\.$' oldboy.txtI teach linux.my qq num is 49000448.not 4900000448.

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

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

-o 显示grep找到的过程

[root@znix ~]# grep "0*" oldboy.txtI am oldboy teacher!I teach linux.I like badminton ball ,billiard ball and chinese chess!my blog is http://oldboy.blog.51cto.comour site is http://www.etiantian.orgmy qq num is 49000448.not 4900000448.my god ,i am not oldbey,but OLDBOY![root@znix ~]# grep -o "0*" oldboy.txt00000000

2.5.8 正则表达式的贪婪性

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

2.5.9 .* 表示所有

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

[root@znix ~]# grep -o ".*" oldboy.txt I am oldboy teacher!I teach linux.I like badminton ball ,billiard ball and chinese chess!my blog is http://oldboy.blog.51cto.comour site is http://www.etiantian.orgmy qq num is 49000448.not 4900000448.my god ,i am not oldbey,but OLDBOY!

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

[root@znix ~]# grep "^.*m" oldboy.txtI am oldboy teacher!I like badminton ball ,billiard ball and chinese chess!my blog is http://oldboy.blog.51cto.commy qq num is 49000448.my god ,i am not oldbey,but OLDBOY!

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

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

[root@znix ~]# grep "[0-9]" oldboy.txt[root@znix ~]# grep "[A-Z]" oldboy.txt[root@znix ~]# grep "[a-z]" oldboy.txt

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

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

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

.*       表是什么都可以

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

[mg]$ m  或g 结尾

[root@znix ~]# grep "^[mno].*[mg]$" oldboy.txtmy blog is http://oldboy.blog.51cto.comour site is http://www.etiantian.org

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

[^abc]  表示找排除a或排除b或排除c之外的其他字符[root@znix ~]# grep "[^abc]" oldboy.txtI am oldboy teacher!I teach linux.I like badminton ball ,billiard ball and chinese chess!my blog is http://oldboy.blog.51cto.comour site is http://www.etiantian.orgmy qq num is 49000448.not 4900000448.my god ,i am not oldbey,but OLDBOY!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.locallrwxrwxrwx. 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/securersyslog

3、inode满了

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

大量的小文件

总结

以上所述是小编给大家介绍的Linux中的特殊符号与正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!


  • 上一条:
    Linux中的Syslog命令
    下一条:
    Linux下服务器重启的脚本命令
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在Linux系统中使用Iptables实现流量转发功能流程步骤(0个评论)
    • vim学习笔记-入门级需要了解的一些快捷键(0个评论)
    • 在centos7系统中实现分区并格式化挂载一块硬盘到/data目录流程步骤(0个评论)
    • 在Linux系统种查看某一个进程所占用的内存命令(0个评论)
    • Linux中grep命令中的10种高级用法浅析(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2017-07
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-03
    • 2022-04
    • 2022-08
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-06
    • 2023-07
    • 2023-10
    • 2023-12
    • 2024-01
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客