-E:顯示行結束符$ -n:對顯示出的每一行進行編號 -A:顯示全部控制符 -b:非空行編號 -s:壓縮連續的空行成一行
more [OPTIONS...] FILE... -d: 顯示翻頁及退出提示
查看時有用的命令包括: /文本 搜索 文本 n/N 跳到下一個 或 上一個匹配
-c # 指定獲取前#字節 -n # 指定獲取前#行 -# 同上
-c # 指定獲取後#字節 -n # 指定獲取後#行 -# 同上 -f 跟蹤顯示文件fd新追加的內容,經常使用日誌監控 至關於 --follow=descriptor -F 跟蹤文件名,至關於--follow=name --retry
-d DELIMITER: 指明分隔符,默認tab -f FILEDS: #: 第#個字段 #,#[,#]:離散的多個字段,例如1,3,6 #-#:連續的多個字段, 例如1-6 混合使用:1-3,7 -c 按字符切割 --output-delimiter=STRING指定輸出分隔符
cut -d: -f1 /etc/passwd cat /etc/passwd | cut -d: -f7 cut -c2-5 /usr/share/dict/words
paste [OPTION]... [FILE]... -d 分隔符:指定分隔符,默認用TAB -s : 全部行合成一行顯示
paste f1 f2 paste -s f1 f2
可用於統計文件的行總數、單詞總數、字節總數和字符總數
能夠對文件或STDIN中的數據統計 nginx
wc story.txt 39 237 1901 story.txt 行數 字數 字節數
-l 只計數行數 -w 只計數單詞總數 -c 只計數字節總數 -m 只計數字符總數 -L 顯示文件中最長行的長度
sort [options] file(s)
-r 執行反方向(由上至下)整理 -R 隨機排序 -n 執行按數字大小整理 -f 選項忽略(fold)字符串中的字符大小寫 -u 選項(獨特,unique)刪除輸出中的重複行 -t c 選項使用c作爲字段界定符 -k # 選項按照使用c字符分隔的 # 列來整理可以使用屢次
uniq [OPTION]... [FILE]... -c: 顯示每行重複出現的次數 -d: 僅顯示重複過的行 -u: 僅顯示未曾重複的行
sort userlist.txt | uniq -c
diff foo.conf foo2.conf 5c5 < use_widgets = no --- > use_widgets = yes
diff 命令的輸出被保存在一種叫作「補丁」的文件中 使用 -u 選項來輸出「統一的(unified)」diff格式文件,最適用於補丁文件 patch 複製在其它文件中進行的改變(要謹慎使用) 適用 -b 選項來自動備份改變了的文件 diff -u foo.conf foo2.conf > foo.patch patch -b foo.conf foo.patch
grep [OPTIONS] PATTERN [FILE...] grep root /etc/passwd grep "$USER" /etc/passwd grep '$USER' /etc/passwd grep `whoami` /etc/passwd
--color=auto: 對匹配到的文本着色顯示 -m # 匹配#次後中止 -v 顯示不被pattern匹配到的行 -i 忽略字符大小寫 -n 顯示匹配的行號 -c 統計匹配的行數 -o 僅顯示匹配到的字符串 -q 靜默模式,不輸出任何信息 -A # after, 後#行 -B # before, 前#行 -C # context, 先後各#行 -e 實現多個選項間的邏輯or關係 grep –e ‘cat ’ -e ‘dog’ file -w 匹配整個單詞 -E 使用ERE -F 至關於fgrep,不支持正則表達式 -f file 根據模式文件處理
基本正則表達式:BRE,grep,vim 擴展正則表達式:ERE,grep -E, egrep,nginx
採用不一樣算法,檢查處理正則表達式的軟件模塊 PCRE(Perl Compatible Regular Expressions)
. 匹配任意單個字符 [] 匹配指定範圍內的任意單個字符,示例:[wang] [0-9] [a-z] [a-zA-Z] [^] 匹配指定範圍外的任意單個字符 [:alnum:] 字母和數字 [:alpha:] 表明任何英文大小寫字符,亦即 A-Z, a-z [:lower:] 小寫字母 [:upper:] 大寫字母 [:blank:] 空白字符(空格和製表符) [:space:] 水平和垂直的空白字符(比[:blank:]包含的範圍廣) [:cntrl:] 不可打印的控制字符(退格、刪除、警鈴...) [:digit:] 十進制數字 [:xdigit:]十六進制數字 [:graph:] 可打印的非空白字符 [:print:] 可打印字符 [:punct:] 標點符號
* 匹配前面的字符任意次,包括0次(貪婪模式:儘量長的匹配) .* 任意長度的任意字符 \? 匹配其前面的字符0或1次 \+ 匹配其前面的字符至少1次 \{n\} 匹配前面的字符n次 \{m,n\} 匹配前面的字符至少m次,至多n次 \{,n\} 匹配前面的字符至多n次 \{n,\} 匹配前面的字符至少n次
^ 行首錨定,用於模式的最左側 $ 行尾錨定,用於模式的最右側 ^PATTERN$ 用於模式匹配整行 ^$ 空行 ^[[:space:]]*$ 空白行 \< 或 \b 詞首錨定,用於單詞模式的左側 \> 或 \b 詞尾錨定,用於單詞模式的右側 \<PATTERN\> 匹配整個單詞
示例: \(string1\(string2\)\) \1 :string1\(string2\) \2 :string2
示例:a\|b a或b C\|cat C或cat \(C\|c\)at Cat或cat
. 任意單個字符 [] 指定範圍的字符 [^] 不在指定範圍的字符
* 匹配前面字符任意次 ? 0或1次 + 1次或屢次 {m} 匹配m次 {m,n} 至少m,至多n次
^ 行首 $ 行尾 \<, \b 語首 \>, \b 語尾
()
a|b a或b C|cat C或cat (C|c)at Cat或cat