文章出處

第九節 通配符

標簽(空格分隔): Linux實戰教學筆記

---更多詳細資料請點我查看


第1章 回顧特殊符號

|     #管道符,或者(正則)
>     #輸出重定向
>>    #輸出追加重定向
<     #輸入重定向
<<    #追加輸入重定向
~     #當前用戶家目錄
`` $() #引用命令被執行后的結果
$     #以。。。結尾(正則)
^     #以。。。開頭(正則)
*     #匹配全部字符,通配符
?    #任意一個字符,通配符
#       #注釋
&       #讓程序或腳本切換到后臺執行
&&      #并且 同時成立
[]      #表示一個范圍(正則,通配符)
{}      #產生一個序列(通配符)
.       #當前目錄的硬鏈接
..      #上級目錄的硬鏈接

第2章 通配符

他是shell的內置功能
通配符,用過DOS的應該很了解,也很常用。
通配符,指包含這些字符的字符串“?”,“*”,“【”,{}

通配符含義===>匹配文件名

符號 作用
* 匹配任何字符串/文本,包括空字符串;*代表任意字符(0個或多個) ls file *
? 匹配任何一個字符(不在括號內時)?代表人意1個字符 ls file 0
[abcd] 匹配abcd中任何一個字符
[a-z] 表示范圍a到z,表示范圍的意思 []匹配中括號中任意一個字符 ls file 0
{..} 表示生成序列。以逗號分隔,且不能有空格
補充
[!abcd] 或[^abcd]表示非,表示不匹配括號里面的任何一個字符

2.1 通配符詳解

2.1.1 “表示任何字符串”

ls .log .txt

2.1.2 ? 任何一個字符

屏幕快照 2017-01-12 上午11.18.06.png-19.9kB

2.1.3[abcd]表示匹配中括號內任意一個字符就成立

QQ20170112-112225@2x.png-19.9kB

2.1.4 通配符是用來找文件(匹配文件名)

QQ20170112-113509@2x.png-32kB

2.1.5 {}生成序列

QQ20170112-112942@2x.png-33.9kB

2.1.6 利用 {} 來備份

QQ20170112-133605@2x.png-89.4kB

2.1.7 [^abcd] !^表示非,取反

不常用,了解即可

QQ20170112-140132@2x.png-40.2kB

2.2 []與{}區別

[]只能用來找文件
{} 用來找文件,或創造文件,生成序列
QQ20170112-135108@2x.png-56.2kB

2.3 通配符小結

通配符含義===>匹配文件名

符號 作用
* 匹配任何字符串/文本,包括空字符串;代表任意字符(0個或多個) ls file
? 匹配任何一個字符(不在括號內時)?代表人意1個字符 ls file 0
[abcd] 匹配abcd中任何一個字符
[a-z] 表示范圍a到z,表示范圍的意思 []匹配中括號中任意一個字符 ls file 0
{..} 表示生成序列。以逗號分隔,且不能有空格
補充
[!abcd] 或[^abcd]表示非,表示不匹配括號里面的任何一個字符

第3章 特殊符號

3.1 管道部分

 命令1|命令2  ###管道符號,傳遞的時普通的文本,字符串,來自于前一個命令。
 |xargs   ###管道符號,與xargs傳遞的是把文本,字符串變成了文件名

3.2 目錄結構

.   #當前目錄(或“任意一個字符”正則)
..  #當前目錄的上一級目錄

3.3 重定向符號


>   #輸出重定向,會清空原文內容,然后在向文件里面追加內容
>>  #追加輸出重定向,追加到文件的最后一行
<   #輸入重定向tr xargs
<<  #cat 用來給文件追加多行文本

例如: >/dev/null 2>&1

3.4未分類特殊符號

3.4.1 #表示注釋

linux 會忽略他,給運維人員看的,解釋說明用的。

3.4.2 $ 引用變量 去變量的值或普通用戶的命令提示符

1,shell
$變量 ===>取變量里面的內容

2,awk
$取列 $數字

3,普通用戶的命令提示符

[root@chensiqi ~]$

3.4.3 ``(esc下面)反引號 引用命令的結果,相當于$()

QQ20170112-221029@2x.png-63.6kB

3.4.4 ;分隔多個命令,沒有邏輯關系,只是一步一步執行。

1,shell

pwd;pwd;pwd;hostname
相當于
pwd
pwd
pwd
hostname

2,sed

[root@chensiqi ~]$ seq 100 | sed -n '20p;50p;100p'
20
50
100

3.4.5 - (cd - ;su -)

  • cd - ###返回上一次的工作目錄,返回上一次的位置
  • su - ###切換用戶,重新加載環境變量

3.4.6 ~ 當前用戶的家目錄,老家

[root@chensiqi ~]$ cd ~
會直接返回當前用戶的家目錄

3.4.7 / 根或者路徑分隔符

3.4.8  轉義符號或者叫屏蔽別名

.    #(正則里代表任意一個字符)
\.   #只代表一個點的符號

3.4.9 ! 表示非

1,表示非
QQ20170112-230017@2x.png-21.8kB
2,表示強制
vi/vim
vi 強制退出 (q!)

3.4.10 && 表示并且

QQ20170112-230542@2x.png-53.1kB

特別注意
&&符號只有當前邊的命令執行成功才會執行后邊的命令


第4章 常用特殊符號及通配符

通配符 含義
* 代表任意(0個或多個)字符
代表任意1個字符
[abcd] 匹配中括號中任意一個字符
{} 中間為命令區塊組合或內容生成
特殊符號 含義
;分號 連續不同命令的分隔符
# 配置文件注釋
| 管道,將前一個命令的結果交給后一命令繼續處理
cd ~ 當前用戶的家目錄
- cd - 用戶上一次所在的目錄,由變量OLDPWD控制;su - 切換用戶的系統環境
.. 上一級目錄
. 當前目錄(當前目錄三種寫法:ls或ls .或ls ./)
$ 變量前需要加的符號$OLDPWD;普通用戶的命令提示符
/ 根;路徑分隔符號
\ 屏蔽系統別名;轉義字符;
> 輸出重定向
>> 輸出追加重定向
< 輸入重定向
<< 輸入追加重定向
‘’ 單引號,不具有變量置換功能,輸出時所見即所得
“” 雙引號,具有變量置換功能,解析變量輸出
`` 反引號(倒引號),``中間是命令,會先執行,等價于$()
! 邏輯運算中的“非”;vi/vim中的強制退出;!+ 字母 調出最近一次以此字母開頭的命令;!!使用最近一次操作的命令
&& 當前一個指令執行成功時,執行后一個指令
雙管道符 當前一個指令執行失敗時,執行后一個指令

第5章 單引號,雙引號,不加引號的區別

QQ20170112-233432@2x.png-64.4kB

  • 單引號:所見即所得。

  • 雙引號:解析特殊符號,特殊符號有了原本的特殊意思

  • 不加引號:比較特殊,支持通配符


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()