1.ps axo user,ruser,group,rgroup,cmd
// ruser 表示程序發起的用戶,一般是指系統當前的用戶
// user 表示程序的所有者。
在大數情況下,兩個用戶都是系統當前的用戶, 之后當程序被賦予suid的時候,可能user會發生變化。
2. tr命令:
tr -d // 刪除
-c // 取補集 指定誰的補集, 并且一定要寫用哪個字符來替換它。
-s // 將重復的整合為一個
tr -c [[:alpha:]] "\n" 將所有的非字母都轉化為\n換行符。
tr -cs [[:alpha:]] "\n" 將所有的非字母都轉化為\n換行符, 并將重復\n換行符提取為1個。
3. 文本處理的三劍客:
grep : 過濾文本的
awk : 文本報告生成器 Linux上的實現gawk,文本報告生成器。
sed : 編輯文本的 e edit
這三種工具都支持正則表達式.
4. grep 分為3中 grep egrep fgrep
fgrep 不支持正則表達式, 平時簡單過濾文件可以使用這個命令, 這個命令的執行效率遠快于grep,egrep.
grep支持正則表達式
fgrep支持擴展的正則表達式
5. cat -A 文件名 // 除了要顯示文本內容,還要顯示一些隱藏符,如TAB符、換行符、等等。
-b // 不管空行
-n // 所有行
-ns // 將重復的空行轉化為一行
6. tac 文件名 最后一行變成第一行,第一行變成最后一行
rev 文件名 一行中從右向左輸出
7. logger “….” // 可用來生成/var/log/messages
8. tail -n0 -f /var/log/messages &, 釋放窗口, 并且可以觀察窗口的動態值, 但是產生的日志會顯示到屏幕上, 這樣是不利于命令的書寫, 但是它也不影響命令的書寫。
9. jobs 查看后臺程序
fg 后臺的進程號 將后臺的程序調到前臺
10. 操作系統man幫助其實調用的就是less命令。
11. less 和 man幫助。
可通過/或則是?來查詢關鍵單詞。
/從上到下的查找
?從下到上的查找
n 表示正向查找 N 表示逆向查找
12. head -10 || head -n 10 …顯示頭10行文件
13.cut -c 數字或則數字段 // 表示取那個字段或者是那幾個字段
14. paste 文件1 文件2
將文件1和文件2中的內容同行的放到一起。 并沒有改變文件1和文件2的內容。 只是得到一個輸出結果。
15. 文本數據統計: wc
wc -l 統計行數
wc -m 統計字符
wc -c 統計字節格式
16. sort 整理文本 排序
-r 執行反方向(由上至下)整理
-n 執行按數字大小整理, 如果不按數字大小, 就會按ancii碼去排序。以一個字符比較,而不是整體比較。
-f 選擇忽略字符串中的字符的大小寫
-u 選項(獨特,unique)刪除輸出中重復行
-t c 選項使用c做為字段界定符
-k X 選項按照使用c字符分割的X列來整理能夠使用多次
sort -t: -k 3 -n /etc/passwd
sort -t: -k 3 -n -r /etc/passwd
17. 提取一篇文檔中的單詞:
18. diff 余 patch工具結合使用, 可以差異性的別分數據
diff用來查看兩個文件的不同點
patch可以用來將將一個文件同步到另外一個文件上。
diff 文件1 文件2 // 比較兩個文件, 如果相同就沒有提示, 只比較文件內容, 而與文件名無關。
//如果兩個文件有差異, 可將差異部分提取出來。去同步一個文件。
diff -u f1 f11 > diff.log // 可將兩個文件的差異部分提取出來
patch -b f1 diff.log // 根據diff.log來同步f1文件
patch -b f11 diff.log // 更加diff.log來同步f22內容
-b 選項 會保留原文件的內容, 并保存為 xxx.org
patch 命令可以往文件中添加內容也可以將文件內容減少內容。
19. uniq: 從輸入中刪除重復的前后相接的行
uniq
-c 顯示每行重復出現額次數
-d 僅顯示重復過的行
-u 僅顯示不曾重復的行
cat /etc/rc.d/init.d/postfix | tr -sc "[[:alpha:]]" "\n" | tr -d "[" | tr -d "]" | tr -s "\n" | uniq -c
// 提取出單詞, 并計算出每個單詞出現的次數
20. [[:lower:]] [[:punct:]] 這些文檔可以在man tr 中查詢。
21.netstat -tn // 可用來查詢當前哪個用戶正在登陸。
22. \別名 和 "別名" 可以取消別名的效果。
23.grep -q …, 它不會輸出任何結果,其實這個命令等同于 grep .. > /dev/null, 效果是一樣的。即使匹配到內容了, 也不輸出任何內容, 這在寫腳本中就顯得非常重要。
同樣要和 echo $? 搭配使用
24. grep -A3 'root' /etc/passwd // 用來顯示匹配到行的后3行
grep -B3 'root' /etc/passwd // 用來顯示匹配到行的前3行
grep -C3 'root' /etc/passwd //用來顯示匹配到行的前3行和后3行
25. grep -e -e選項表示或
例如: grep -e "ba*c" -e "da*f" aa
只要匹配到兩個條件的任意一個就OK了。
egrep | | 這個符號也可以表示或的意思
grep -E "ba*c|da*f" aa
兩者的效果是一樣的。
26. grep -w "root" 用來匹配整個單詞。
grep "\broot\b" …
grep "\" …
兩者的效果是一樣的。
字母兩邊是標點符號也是可以匹配到的, 擔當字母兩邊出現數字就匹配不到了。在英語習慣中, 如果字符串的兩邊可以是標點符號。
27. man 7 regex // 可以用來查看regular expressions(正則表達式)值。
了
29. 通配符[a-c] aAbBc, 盡量不要使用[a-z]這種符號,可以使用[[:alpha:]]
30. [[:space:]] 空格鍵 和 tab 鍵都包含。
31. .* 正則 任意長度任意字符
32. 在正則表達式中 \ 不表示轉譯, 只是正則表達式的一部分。
在擴展正則表達式中, \ 表示轉譯。
33. \{m,n\} m表示至少m次, 至多n次, 是個閉區間。
34. grep 本質是行匹配, 只要這一行有被匹配的話,那么這一行就會被輸出。
35. w命令可以查看當前系統登陸的用戶, last命令可以用來查看之前系統登陸的記錄。
原創文章,作者:458813466,如若轉載,請注明出處:http://www.www58058.com/27533