1. 程式人生 > >通配符 特殊符號與正則表達式

通配符 特殊符號與正則表達式

清空 命令執行過程 登錄 === 2個 刪除 文件中 oldboyedu 配置

課前:磁盤空間不足系列:
原因 排查過程 解決
1.block df -h; du -sh /data/* 具體的文件或目錄 確認之後刪除
2.block(硬連接數為0 進程調用數不為0) lsof|grep delete 重啟對應的服務
3.inode df -i; 找出系統中大於1M的目錄 刪除大量小文件
時間:
Mtime Modify time 修改時間
Ctime Change time 文件屬性變化時間
atime Access time 訪問時間(cat)
Stat/etc/hosts 三種時間同時查看
第1章 通配符與特殊符號
1.1 特殊符號
引號系列:‘’所見即所得
“”解析裏面的特殊符號
``反引號 優先執行裏面的內容$()===
不加引號跟雙引號類似 會執行{}裏面的內容
重定向符號:> 標準輸出重定向 先把文件內容清空追加

>標準輸出追加重定向
2> 標準錯誤輸出重定向
2>>標準錯誤輸出追加重定向
<標準輸入重定向 xargs tr下使用

<<標準輸入追加重定向 與cat配合追加多行內容 cat>>oldboy.txt<<EOF oldboyedu.com EOF
2>&1把錯誤的內容和正確的內容記錄到文件中 echo oldboy >/tmp/log 2>&1
位置系列
~ 家目錄
.當前目錄
..上一級目錄
-cd- 上一級所在位置 su – 切換用戶
&& and||
Ifdown eth0 關閉eth0

1.1.1 $ ! ; 的區別

註釋 root用戶的命令提示符

$ Awk取出某一列 普通用戶的命令的提示符
!ls 找出最近一次以ls開頭的命令並執行

!! 運行上一次的命令
; 在同一行中分割多條命令
1.2 通配符

  • 所有 以…..結尾 以……開頭
    {} 生成序列
    1.2.1 #找出以.conf結尾的文件
    find / -type f -name ".conf"
    1.2.2 #找出系統中文件名包含ifconfig (文件名中有ifconfig就行)
    [root@oldboyedu50-lnb ~]# find / -type f -name "
    ifconfig*" 找出系統中文件名包含ifconfig
    /usr/sbin/pifconfig
    /usr/share/man/de/man8/ifconfig.8.gz
    /usr/share/man/pt/man8/ifconfig.8.gz
    /usr/share/man/fr/man8/ifconfig.8.gz
    /sbin/ifconfig

[root@oldboyedu50-lnb ~]# find / -type f |grep ifconfig 找出系統中文件名包含ifconfig
/usr/sbin/pifconfig
/usr/share/man/man8/pifconfig.8.gz
/usr/share/man/man8/ifconfig.8.gz
/usr/share/man/fr/man8/ifconfig.8.gz
/sbin/ifconfig
1.2.3 #{} 生成序列
[root@oldboyedu50-lnb ~]# echo stu0{01..5} 生成stu001 .. stu005
Stu001 stu002 stu003 stu004 stu005
[root@oldboyedu50-lnb ~]# echo {1,5,100} 生成1 5 100
1 5 100
[root@oldboyedu50-lnb ~]# echo stu{01..10} 生成stu01..stu10
stu01 stu02 stu03 stu04 stu05 stu06 stu07 stu08 stu09 stu10
[root@oldboyedu50-lnb ~]# echo stu{01..10..2} 生成有規律的數
stu01 stu03 stu05 stu07 stu09
1.2.4 通過 {} 進行備份
[root@oldboyedu50-lnb ~]# cp oldboy.txt{,.bak}
[root@oldboyedu50-lnb ~]# echo oldboy.txt{,.bak}
oldboy.txt oldboy.txt.bak
[root@oldboyedu50-lnb ~]# echo A{,C}
A AC
[root@oldboyedu50-lnb ~]# echo A{B,C}
AB AC
1.2.5 小結:
1.特殊符號
2. {} 通配符 查找文件 大多數命令都可以使用
ls
.txt
第2章 正則表達式配合三劍客進行過濾
中文符號 ‘’ “” () 。 …… ¥ | {} 【】
英文符號 ‘‘ "" () .
^ $ | {} []
2.1.1 給grep egrep配置別名並永久生效
完成後重新登錄進行驗證
alias grep=‘grep --color‘
alias egrep=‘egrep --color‘

2.1.2 第1個符號 ^ 以....開頭的行
cat 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.com
our size is http://blog.oldboyedu.com
my qq is 49000448

not 4900000448.
my god ,i am not oldbey,but OLDBOY!
2.1.2.1 以....開頭的行 ^m
[root@oldboyedu50-lnb /oldboy]# grep ‘^m‘ oldboy.txt 找出文件中以m開頭的內容
my blog is http://oldboy.blog.51cto.com
my qq is 49000448
my god ,i am not oldbey,but OLDBOY!
cat -A 顯示文件中所有符號 每行結尾都會有個$
2.1.3 第2個符號 $ 以....結尾的行

[root@oldboyedu50-lnb /oldboy]# grep ‘ $‘ oldboy.txt 以空格結尾的行
my blog is http://oldboy.blog.51cto.com
our size is http://blog.oldboyedu.com
2.1.4 第三個符號 ^$ 顯示空行
[root@oldboyedu50 oldboy]# grep -n ‘^$‘ oldboy.txt 過濾出文件中的空行並顯示行號
3:
8:
11:
2.1.5 第4個符號 . 任意一個字符
[root@oldboyedu50-lnb /oldboy]# #grep ‘.‘ oldboy.txt 顯示所有字符
-o grep命令執行過程
[root@oldboyedu50-lnb /oldboy]# grep -o ‘.‘ oldboy.txt 顯示所有字符的過程

2.1.6 第5個符號\ 顯示文件中以.(點)結尾的行
[root@oldboyedu50-lnb /oldboy]# grep ‘.$‘ oldboy.txt 顯示文件中以.(點)結尾的行
I teach linux.
not 4900000448.
\n 表示回車 \t 按一次tab鍵的長度
[root@oldboyedu50-lnb /oldboy]# tr ‘\n‘ ‘\t‘ <oldboy.txt 將文件中的回車鍵替換為tab鍵
I am oldboy teacher! I teach linux. I like badminton ball ,billiard ball and chinese chess! my blog is http://oldboy.blog.51cto.com our size is http://blog.oldboyedu.com my qq is 49000448 not 4900000448. my god ,i am not oldbey,but OLDBOY! [root@oldboyedu50-lnb /oldboy]#
2.1.7 第6個符號 前一個字符連續出現了0次或0次以上
#顯示grep ‘0
‘ oldboy.txt 每次匹配了什麽 (執行過程)
[root@oldboyedu50 oldboy]# grep -o ‘0*‘ oldboy.txt
000
00000

#正則表達式-坑1-grep ‘0‘ 會把文件內容都顯示出來
#0
0次 沒有 grep ‘‘ 會把文件內容都顯示出來

0次以上 0 00000000000

2.1.8 第7個符號. 顯示所有
[root@oldboyedu50-lnb /oldboy]# grep ‘.
‘ 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.com
our size is http://blog.oldboyedu.com
my qq is 49000448

not 4900000448.
my god ,i am not oldbey,but OLDBOY!
正則表達式的貪婪性
替你尋找的文字符號 有多少吃多少 有多少匹配多少
正則中表示 連續出現或所有的時候
[root@oldboyedu50-lnb /oldboy]# grep ‘^.*o‘ oldboy.txt
I am oldboy teacher!
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our size is http://blog.oldboyedu.com
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
2.1.9 第8個符號 [ ]
grep ‘[a-z]‘ oldboy.txt 過濾出a-z
grep ‘[A-Z]‘ oldboy.txt
grep ‘[0-9]‘ oldboy.txt
grep ‘[a-zA-Z]‘ oldboy.txt
grep ‘[a-Z]‘ oldboy.txt 過濾出大小寫的a-z 只有在grep中可以使用
grep -i ‘[a-z]‘ oldboy.txt -i 不區分大小寫 ignore case

通配符 特殊符號與正則表達式