Linux中的特殊符号与正则表达式
第1章linux的特殊符号
1.1通配符*{}
1.1.1含义
方便查找文件通配符是用来找文件名字的。
1.1.2 *
通过find命令找以.sh结尾的文件,使用*替代文件名字。
find/oldboy-typef-name"*.sh"-mtime+7-size+100k-size-10M
查找文件名中,包含有oldboy字节的文件。
[root@znix20170118]#find-typef-name"*oldboy*" [root@znix20170118]#ls-l*oldboy*
1.1.3 {}
{}用来生成序列
[root@znix20170118]#echooldboy{1..3}.txt oldboy1.txtoldboy2.txtoldboy3.txt [root@znix20170118]#echo{a,c,d,f}
acdf
echo{a..z}{A..Z}中间需要有空格,表示两个无关的序列
[root@znix20170118]#echo{a..z}{A..Z}
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
生成按规则序列{开始..结束..间隔}
[root@znix~]#echo{1..10..3}
14710
备份一个文件的时候使用
[root@znix~]#cpoldboy.txt{,.bak} [root@znix~]#lloldboy* -rw-r--r--3rootroot241Aug3011:40oldboy.txt -rw-r--r--1rootroot241Aug3109:38oldboy.txt.bak
1.2特殊符号
1.2.1特殊符号
> 标准输出重定向,先把内容清空,再向文件里放其他东西
>>标准追加重定向向文件内加内容
< 标准输入 xargs
<<追加输入 cat>/oldboy.txt< . 当前目录/linux下面的隐藏文件 ..当前用户的上一级目录 ~ 当前用户的家目录 / 根路径的分割符号 \ 临时取消别名 | 管道 ! 1)vim中强制 2)取反findawk 3)表示使用你用过的命令使用历史命令 !可以看历史命令 history命令 !ls =====history|grepls # 注释 $ 取出变量里的内容 &&并且前一个命令运行成功,然后再运行后面的命令 ; 分开多条命令在同一行里面放入多个命令。 1.2.2单引号、双引号、不加引号 '' 吃啥吐啥 "" 把双引号里面的特殊符号进行解析 不加引号 ` ` 反引号先运行,把结果留下与$()作用相同 764K . 第2章正则表达式 2.1什么是正则 特殊符号表示文字文本 ^ 开头 [0-9] 数字 2.2作用 提高效率省事 2.3分类 2.3.1基础正则表达式 2.3.2扩展正则表达式 | () + {} ? 2.4正则表达式与通配符的区别 1、通配符是用来找文件的。 2、正则表达式用来的文件中找内容、文本。 2.5基础正则表达式 2.5.1环境准备 cat-A在每一行最后加上一个$符号。 2.5.2找以m开头的行^ ^m表示以m开头,^表示以什么开头。 2.5.3以m结尾的行结尾的行$ m$表示以m结尾。 2.5.4显示空行,并且加上行号 -n显示行号 ^$表示开头和结尾中间没有东西,即空行 3: 6: 8: 10: 2.5.5表示任意一个字符.(点) 点表示任意一个字符,oldb.y表示点的位置是什么都可以。 grep-o显示grep/egrep执行的过程(每一次找到的东西)。 2.5.6找到以点结尾的行 \转意符号,把特殊含义的的去掉特殊含义。 \.$表示以点结尾。 2.5.7*前一个文本连续出现了0次或1次以上 连续出现了0次就是没出现 -o显示grep找到的过程 2.5.8正则表达式的贪婪性 有多少要多少,尽可能多的匹配。 2.5.9.*表示所有 显示所有的内容,一次找到。 表示所有.* 连续出现的时候会表现贪婪性。 2.5.10[abc]中括号表示一个整体 相当于一个符号,表示a或者b或者c。 找到文本中的大写和小写字母。 2.5.11找以m或n或o开头的并且以 m或g结尾的行 .* 表是什么都可以 ^[mno]m或n或o开头的 [mg]$m 或g结尾 2.5.12[^abc] 排除a或排除b或排除c 第3章昨日回顾(删除文件、开机自启动) 3.1linux如何让一个服务/脚本开机自启动? 1)chkconfig 2)/etc/rc.local 3.1.1被chkconfig管理需要什么条件 1)必须放在/etc/init.d/ 2)这个脚本要有执行权限 3)加上chkconfig要求的内容 #chkconfig:23459999 4)chkconfig--add把脚本添加到开机自启动 5)检查 3.2/etc/rc.local 3.3磁盘空间不足nospaceleftondevice 1)block满了500G3*200G视频 2)block满了文件没有被彻底删除硬链接数为0,进程调用数不为零 检查:lsof|grepdelete 3.4文件的删除原理(条件) 1、硬链接数为0 2、进程调用数为0 日志 3、inode满了 创建一个文件要占用一个inode和至少一个block 大量的小文件 总结 以上所述是小编给大家介绍的Linux中的特殊符号与正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
[root@znix~]#history
ifdowneth0&&ifupeth0
ls;pwd;hostname
[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/rootznix{1..3}
[root@znix~]#echo$LANG$(pwd)`hostname`{1..3}
en_US.UTF-8/rootznix123
[root@znix~]#du-sh`find-typed`
^$^$.*.*[0-9][^0-9]
[root@znix~]#oldboy.txt
Iamoldboyteacher!$
Iteachlinux.$
$
Ilikebadmintonball,billiardballandchinesechess!$
myblogishttp://oldboy.blog.51cto.com$
$
oursiteishttp://www.etiantian.org$
$
myqqnumis49000448.$
$
not4900000448.$
mygod,iamnotoldbey,butOLDBOY!$
[root@znix~]#grep"^m"oldboy.txt
myblogishttp://oldboy.blog.51cto.com
myqqnumis49000448.
mygod,iamnotoldbey,butOLDBOY!
[root@znix~]#grep"m$"oldboy.txt
myblogishttp://oldboy.blog.51cto.com
[root@znix~]#grep-n"^$"oldboy.txt
[root@znix~]#grep"oldb.y"oldboy.txt
Iamoldboyteacher!
myblogishttp://oldboy.blog.51cto.com
mygod,iamnotoldbey,butOLDBOY!
[root@znix~]#grep-o"."oldboy.txt
[root@znix~]#grep-o"oldb.y"oldboy.txt
oldboy
oldboy
oldbey
[root@znix~]#grep'\.$'oldboy.txt
Iteachlinux.
myqqnumis49000448.
not4900000448.
[root@znix~]#grep"0*"oldboy.txt
Iamoldboyteacher!
Iteachlinux.
Ilikebadmintonball,billiardballandchinesechess!
myblogishttp://oldboy.blog.51cto.com
oursiteishttp://www.etiantian.org
myqqnumis49000448.
not4900000448.
mygod,iamnotoldbey,butOLDBOY!
[root@znix~]#grep-o"0*"oldboy.txt
000
00000
[root@znix~]#grep-o".*"oldboy.txt
Iamoldboyteacher!
Iteachlinux.
Ilikebadmintonball,billiardballandchinesechess!
myblogishttp://oldboy.blog.51cto.com
oursiteishttp://www.etiantian.org
myqqnumis49000448.
not4900000448.
mygod,iamnotoldbey,butOLDBOY!
[root@znix~]#grep"^.*m"oldboy.txt
Iamoldboyteacher!
Ilikebadmintonball,billiardballandchinesechess!
myblogishttp://oldboy.blog.51cto.com
myqqnumis49000448.
mygod,iamnotoldbey,butOLDBOY!
[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
[root@znix~]#grep"^[mno].*[mg]$"oldboy.txt
myblogishttp://oldboy.blog.51cto.com
oursiteishttp://www.etiantian.org
[^abc]表示找排除a或排除b或排除c之外的其他字符
[root@znix~]#grep"[^abc]"oldboy.txt
Iamoldboyteacher!
Iteachlinux.
Ilikebadmintonball,billiardballandchinesechess!
myblogishttp://oldboy.blog.51cto.com
oursiteishttp://www.etiantian.org
myqqnumis49000448.
not4900000448.
mygod,iamnotoldbey,butOLDBOY!
2.5.13grep-v排除与[^abc]
grep-v排除行
[^abc]字符或文字
[root@znix~]#ls-l/etc/rc3.d/|greprc.local
lrwxrwxrwx.1rootroot11Aug1018:36S99local->../rc.local
df-h
du-sh/*
du-sh/*|grepG
/var/log/messages
/var/log/secure
rsyslog