shell中的一些特殊符號:html
*:表示任意個任意字符linux
?:表示任意單個字符shell
#:表示註釋字符ui
\ :表示脫義字符.net
|:表示管道符3d
cut命令是用來分割code
用法: cut -d 指定分隔符 -f 指定段號 -c 指定第幾個字符server
示例:htm
一、 以":"分割,截取passwd文件的第一段blog
cat /etc/passwd |cut -d ":" -f 1
二、截取pass文件第一行
sort命令是用來進行排序
用法:sort -n 以數字進行排序 -r 反序 ,-t 分隔符(通常不使用)
注意點:
sort默認的排序是按ascii碼進行排序
sort通常和uniq結合起來使用
如何按照數字排序那麼特殊符號和字母大小默認認爲是0
示例:
一、不加參數,默認是ascii碼進行排序
二、以數字進行排序,字母和特殊符號會被認爲是0,因此字母和特殊符號都在數字之上
三、反序
wc命令是用來統計
用法:wc -l 統計行數 -m統計字符數 -w 統計詞數
示例:
一、統計行數
二、統計字符數
三、統計詞數
uniq命令是用來去重的,通常都是結合sort來進行使用。
用法:uniq -c 統計重複行數
示例:
一、去重
二、統計重複行數
tee命令
tee命令和輸出重定向(>)相似,不一樣的是tee會把重定向的內容打印到屏幕。tee也支持追加,加個-a參數便可。
示例:
tr命令
tr命令用於替換字符
示例:
一、替換字母
二、替換全部的字母
split命令
split命令用於切割,能夠把一個大文件切割爲小文件。
用法:split -b 按照大小進行切割,默認單位爲字節。 -l 指定行數進行切割
示例
首先生成一個大一點的文件
find /etc -name "*.cnf" -exec cat {} >> 01.txt \;
一、按照100k 大小進行分割,若是不指定名稱系統會默認生成文件名。
split -b 100k 01.txt
二、指定文件名
split -b 100k 01.txt wxy
三、指定行數分割
split -l 10000 01.txt
$:變量前綴
!$:正則中表示行尾
; :多條命令寫到一行 用";"分割
以下:同時執行ll和統計命令
~:用戶家目錄,正則中表示匹配符
&:放在命令後門表示後臺執行
">":正確重定向
">>":追加劇定向
2> :錯誤重定向
2>> :錯誤追加劇定向
&> : 正確錯誤同時重定向
[]:指定字符中的一個,如[0-9],[a-zA-z]
|| && 用在命令之間。||表示若是前面命令執行成功則不會執行後面的,&&表示前面的命令執行成功纔會執行後面的命令
示例:
|| 前面ll命令執行成功後,後面wc命令則不會執行
判斷一個目錄是否存在,若是不存在則建立
[ -d wxy ] || mkdir wxy
-d 是判斷一個目錄是否存在
改成&&就會報目錄已存在