20150827-Y1506401-19+benz2015+正则表达式
一、作業(yè)(練習(xí))內(nèi)容:
1、總結(jié)本此課程中所涉及命令的使用方法及相關(guān)示例展示;
chmod:修改文件權(quán)限
示例:
chmod go=rwx /usr/local/nginx/conf/nginx.conf
chmod a-x /usr/local/nginx/conf/nginx.conf
chmod 777 /usr/local/nginx/conf/nginx.conf
chown:修改文件屬主、屬組
示例:
chown centos:centos /usr/local/nginx/conf/nginx.conf
chgrp:修改文件屬組(chown可以滿足修改要求)
umask:遮罩碼
新建目錄權(quán)限為777-umask
新建文件權(quán)限為666-umask(若某個(gè)用戶創(chuàng)建的文件通過(guò)算法得出的結(jié)果有執(zhí)行權(quán)限,此時(shí)會(huì)自動(dòng)讓權(quán)限+1,默認(rèn)創(chuàng)建的文件無(wú)執(zhí)行權(quán)限)
查看umask碼,直接使用umask,root默認(rèn)umask為0022
linux文本處理三劍客:
grep:文本過(guò)濾
sed:文本編輯器(行)
awk:文本報(bào)告生成器
2、總結(jié)基本正則表達(dá)式及擴(kuò)展正則表達(dá)式
正則表達(dá)式分為基本正則表達(dá)式和擴(kuò)展正則表達(dá)式,使用過(guò)程中大部分是一樣的
元字符:字符不代表其字面意義,而用于表達(dá)通配或控制功能。正則表達(dá)式在匹配過(guò)程中采用的是貪婪模式,即盡可能多的匹配內(nèi)容
基本正則表達(dá)式
常用元字符:
.:匹配任意單個(gè)字符
[]:匹配指定范圍內(nèi)的任意字符
[^]:匹配指定范圍內(nèi)的任意字符
.* :任意長(zhǎng)度的任意字符
次數(shù)匹配:
用于堯指定其次數(shù)的字符的后面
* :任意次數(shù)
\? :0或1次
\+ :1或多次
\{m\} :精確限制為m次
\{m,n\} :m≤次數(shù)≤n
\{0,n\} :?次數(shù)≤n
\{m,\} :m≤次數(shù)
位置錨定:
^ :行首錨定,用于模式的最左側(cè)
$ :行尾錨定,用于模式的最右側(cè)
\< 或 \b :詞首錨定,用于單詞的模式左側(cè)
\> 或 \b :詞尾錨定,用于單詞的模式右側(cè)
^$ :空白行
分組:
分組的小括號(hào)中的模式匹配到的內(nèi)容,會(huì)在執(zhí)行過(guò)程中被正則表達(dá)式引擎記錄下來(lái),并保存內(nèi)置變量中,這些變量分別是\1 \2 ……
后向引用:
使用變量引用前面的分組括號(hào)中的模式所匹配的字符
3、顯示/etc/passwd文件中以bash結(jié)尾的行
#?grep?bash$?/etc/passwd root:x:0:0:root:/root:/bin/bash centos:x:500:500::/home/centos:/bin/bash redhat:x:501:501::/home/redhat:/bin/bash4、顯示/etc/passwd文件中的兩位數(shù)或三位數(shù)
# grep --color=auto '\<[0-9]\{2,3\}\>' /etc/passwd
5、顯示`netstat -tan`命令結(jié)果中以‘LISTEN’后跟0個(gè)、1個(gè)或者多個(gè)空白字符結(jié)尾的行
# netstat -tan | grep 'LISTEN[[:space:]]*$'
6、添加用戶bash、testbash、basher以及nologin用戶(nologin用戶的shell為/sbin/nologin);而后找出/etc/passwd文件中用戶名與其shell名相同的行
grep '^\b\([[:alnum:]].*\)\b.*\1$' /etc/passwd
7、顯示當(dāng)前系統(tǒng)上root、centos或者user1用戶的默認(rèn)shell和UID (請(qǐng)事先創(chuàng)建這些用戶,若不存在)
cat /etc/passwd | grep '^\(\broot\b\|\bcentos\b\|\buser1\b\)'| cut -d: -f1,3,7
8、找出/etc/rc.d/init.d/functions文件中某單詞(單詞中間可以存在下劃線)后面跟著一組小括號(hào)的行
cat /etc/rc.d/init.d/functions | grep '[[:alpha:]]\+\>()'
9、使用echo輸出一個(gè)路徑,而后egrep找出其路徑基名;進(jìn)一步的使用egrep取出其目錄名
echo /usr/local/tomcat/conf/server.xml | egrep -o '[^/]+/?$'
echo /usr/local/tomcat/conf/server.xml | egrep -o '.*/'
10、找出ifconfig命令執(zhí)行結(jié)果中1-255之間的數(shù)字
暫無(wú)
轉(zhuǎn)載于:https://blog.51cto.com/benz2015/1690364
總結(jié)
以上是生活随笔為你收集整理的20150827-Y1506401-19+benz2015+正则表达式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3.为网页插入图片
- 下一篇: [Unity3d]定义自己的鼠标