前言:學習通配符有點為正則表達式打基礎的感覺……之前學python有學過正則表達式,所以這篇博客學起來還是挺快的。 特殊符號 通配符 他是shell的內置功能通配符,用過DOS的應該很瞭解,也很常用。通配符,指包含這些字元的字元串“?”,“*”,“[]”,{} 通配符含義 >匹配文件名 通配符詳解 ...
前言:學習通配符有點為正則表達式打基礎的感覺……之前學python有學過正則表達式,所以這篇博客學起來還是挺快的。
特殊符號
| #管道符,或者(正則) > #輸出重定向 >> #輸出追加重定向 < #輸入重定向 << #追加輸入重定向 ~ #當前用戶家目錄 `` $() #引用命令被執行後的結果 $ #以。。。結尾(正則) ^ #以。。。開頭(正則) * #匹配全部字元,通配符 ? #任意一個字元,通配符 # #註釋 & #讓程式或腳本切換到後臺執行 && #並且 同時成立 [] #表示一個範圍(正則,通配符) {} #產生一個序列(通配符) . #當前目錄的硬鏈接 .. #上級目錄的硬鏈接
通配符
他是shell的內置功能
通配符,用過DOS的應該很瞭解,也很常用。
通配符,指包含這些字元的字元串“?”,“*”,“[]”,{}
通配符含義===>匹配文件名
符號 | 作用 |
---|---|
* | 匹配任何字元串/文本,包括空字元串;*代表任意字元(0個或多個) ls file * |
? | 匹配任何一個字元(不在括弧內時)?代表任意1個字元 ls file 0 |
[abcd] | 匹配abcd中任何一個字元 |
[a-z] | 表示範圍a到z,表示範圍的意思 []匹配中括弧中任意一個字元 ls file 0 |
{..} | 表示生成序列. 以逗號分隔,且不能有空格 |
補充 | |
[!abcd] | 或[^abcd]表示非,表示不匹配括弧裡面的任何一個字元 |
通配符詳解
? 任何一個字元
[abcd]表示匹配中括弧內任意一個字元就成立
-
{}生成序列
-
[]用來找文件(匹配文件名)
利用 {} 來備份
[^abcd] !^表示非,取反
[]與{}區別
- []只能用來找文件
- {} 用來找文件,或創造文件,生成序列
特殊符號
命令1|命令2 ###管道符號,傳遞的時普通的文本,字元串,來自於前一個命令。 |xargs ###管道符號,通過xargs這個管道符命令來將字元串轉換成文件名
目錄結構
. #當前目錄(或“任意一個字元”正則) .. #當前目錄的上一級目錄
重定向符號
> #輸出重定向,會清空原文內容,然後在向文件裡面追加內容 >> #追加輸出重定向,追加到文件的最後一行 < #輸入重定向tr xargs << #cat 用來給文件追加多行文本
未分類特殊符號
#表示註釋
linux 會忽略他,給運維人員看的,解釋說明用的。
$ 引用變數 去變數的值或普通用戶的命令提示符
1、shell
$變數:取變數裡面的內容
2、awk
$取列 $數字
3、普通用戶的命令提示符
``(esc下麵)反引號 引用命令的結果,相當於$()
;分隔多個命令,沒有邏輯關係,只是一步一步執行
1、shell
2、sed
[root@chengliang ~]$ seq 100 | sed -n '20p;50p;100p' 20 50 100
cd - ;su -
- cd - ###返回上一次的工作目錄,返回上一次的位置
- su - ###切換用戶,重新載入環境變數
~ 當前用戶的家目錄,老家
[root@chengliang ~]$ cd ~
會直接返回當前用戶的家目錄
\ 轉義符號或者叫屏蔽別名
. #(正則里代表任意一個字元) \. #只代表一個點的符號
! 表示非
表示強制
vi/vim
vi 強制退出 (:q!)
&& 表示並且
註意:&&符號只有當前邊的命令執行成功才會執行後邊的命令
單引號,雙引號,不加引號的區別
-
單引號:所見即所得。
-
雙引號:解析特殊符號,特殊符號有了原本的特殊意思
-
不加引號:比較特殊,支持通配符
參考博客: http://www.cnblogs.com/chensiqiqi/p/6280351.html