1、做業(練習)內容:linux
一、總結本此課程中所涉及命令的使用方法及相關示例展現;nginx
chmod:修改文件權限正則表達式
示例:算法
chmod go=rwx /usr/local/nginx/conf/nginx.confshell
chmod a-x /usr/local/nginx/conf/nginx.confcentos
chmod 777 /usr/local/nginx/conf/nginx.conf
tomcat
chown:修改文件屬主、屬組bash
示例:編輯器
chown centos:centos /usr/local/nginx/conf/nginx.confide
chgrp:修改文件屬組(chown能夠知足修改要求)
umask:遮罩碼
新建目錄權限爲777-umask
新建文件權限爲666-umask(若某個用戶建立的文件經過算法得出的結果有執行權限,此時會自動讓權限+1,默認建立的文件無執行權限)
查看umask碼,直接使用umask,root默認umask爲0022
linux文本處理三劍客:
grep:文本過濾
sed:文本編輯器(行)
awk:文本報告生成器
二、總結基本正則表達式及擴展正則表達式
正則表達式分爲基本正則表達式和擴展正則表達式,使用過程當中大部分是同樣的
元字符:字符不表明其字面意義,而用於表達通配或控制功能。正則表達式在匹配過程當中採用的是貪婪模式,即儘量多的匹配內容
基本正則表達式
經常使用元字符:
.:匹配任意單個字符
[]:匹配指定範圍內的任意字符
[^]:匹配指定範圍內的任意字符
.* :任意長度的任意字符
次數匹配:
用於堯指定其次數的字符的後面
* :任意次數
\? :0或1次
\+ :1或屢次
\{m\} :精確限制爲m次
\{m,n\} :m≤次數≤n
\{0,n\} : 次數≤n
\{m,\} :m≤次數
位置錨定:
^ :行首錨定,用於模式的最左側
$ :行尾錨定,用於模式的最右側
\< 或 \b :詞首錨定,用於單詞的模式左側
\> 或 \b :詞尾錨定,用於單詞的模式右側
^$ :空白行
分組:
分組的小括號中的模式匹配到的內容,會在執行過程當中被正則表達式引擎記錄下來,並保存內置變量中,這些變量分別是\1 \2 ……
後向引用:
使用變量引用前面的分組括號中的模式所匹配的字符
三、顯示/etc/passwd文件中以bash結尾的行
# 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/bash
四、顯示/etc/passwd文件中的兩位數或三位數
# grep --color=auto '\<[0-9]\{2,3\}\>' /etc/passwd
五、顯示`netstat -tan`命令結果中以‘LISTEN’後跟0個、1個或者多個空白字符結尾的行
# netstat -tan | grep 'LISTEN[[:space:]]*$'
六、添加用戶bash、testbash、basher以及nologin用戶(nologin用戶的shell爲/sbin/nologin);然後找出/etc/passwd文件中用戶名與其shell名相同的行
grep '^\b\([[:alnum:]].*\)\b.*\1$' /etc/passwd
七、顯示當前系統上root、centos或者user1用戶的默認shell和UID (請事先建立這些用戶,若不存在)
cat /etc/passwd | grep '^\(\broot\b\|\bcentos\b\|\buser1\b\)'| cut -d: -f1,3,7
八、找出/etc/rc.d/init.d/functions文件中某單詞(單詞中間能夠存在下劃線)後面跟着一組小括號的行
cat /etc/rc.d/init.d/functions | grep '[[:alpha:]]\+\>()'
九、使用echo輸出一個路徑,然後egrep找出其路徑基名;進一步的使用egrep取出其目錄名
echo /usr/local/tomcat/conf/server.xml | egrep -o '[^/]+/?$'
echo /usr/local/tomcat/conf/server.xml | egrep -o '.*/'
十、找出ifconfig命令執行結果中1-255之間的數字
暫無