Linux 命令列萬用字元及轉義符的實現

2022-09-27 05:27:12 字數 1819 閱讀 5835

我們想對一類檔案批量操作,例如批量檢視硬碟檔案屬性,那麼正常命令會是:

[root@linuxprobe ~]# ls /dev/sda

[root@linuxprobe ~]# ls /dev/sda1

[root@linuxprobe ~]# ls /dev/sda2

[r程式設計客棧oot@linuxprobe ~]# ls /dev/sda3

但有些時候確實不知道分割槽的

萬用字元星號(*)代表匹配零個或多個字元

huanyu@ubuntu:~$ ls -l /dev/sda*

問號(?)代表匹配單個字元

huanyu@ubuntu:~$ ls -l /dev/sda?

中括號內加上數字[0-9]代表匹配0~9之間的單個數字的字元,而中括號內加上字母[abc]則是代表匹配a、b、c三個字元中的任意乙個字元

huanyu@ubuntu:~$ ls -l /dev/sda[0-9]

huanyu@ubuntu:~$ ls -baibfiql /dev/sda[135]

示例:檢視sda開頭的所有裝置檔案:

[root@linuxprobe ~]# ls /dev/sda*

/dev/sda /dev/sda1 /dev/sda2

檢視sda後面有乙個字元的裝置檔案:

[root@linuxprobe ~]# ls /dev/sda?

/dev/sda1 /de程式設計客棧v/sda2

檢視sda後面包含0-9數字的裝置檔案:

[root@linuxprobe ~]# ls /dev/sda[0-9]

/dev/sda1 /dev/sda2

檢視sda後面是1或3或5的裝置檔案:

[root@linuxprobe ~]# ls /dev/sda[135]

/dev/sda1

轉義符反斜槓(\):使反斜槓後面的乙個變數變為單純的字串

huanyu@ubuntu:~$ echo "price is \$$price"

反引號(``):把其中的命令執行後返回結果

huanyu@ubuntu:~$ echo `uname -a`

示例定義名稱baibfiq為price的變數值為5:

[root@linuxprobe ~]# price=5

想要輸出」**是5″:

[root@linuxprobe ~]# echo "price is $price"

price is 5

想要輸出」**是$5″,但因為美元符號與代表變數取值的$符號衝突了,所以報錯了:

[root@linuxprobe ~]# echo "price is $$price"

price is 3767price

新增乙個反斜槓,將第乙個$符號轉義:

[root@linuxprobe ~]# echo "price is \$$price"

price is $5

使用單引號,變數將不再被取值:

[root@linuxprobe ~]# echo 'price is \$$price'

price is \$$price

執行uname -a後可以檢視到本機核心的版本與架構資訊(反引號裡面的命令會被執行):

[root@linuxprobe ~]# echo `uname -a`

linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 smp mon may 5 11:16:57 edt 2014 x86_64 x86_64 x程式設計客棧86_64 gnu/linux

本文標題: linux 命令列萬用字元及轉義符的實現

本文位址:

linux引用符 萬用字元 元字元 轉義符

一 引用符 引用符號在解析器中保護特殊元字元和引數擴充套件,其使用方法有3種 反斜槓 單引號 雙引號 單引號和雙引號必須匹配使用,均可在解析器中保護特殊元字元和萬用字元,但是單引號 硬轉義 主要用於資訊的原樣輸出,防止任何變數的擴充套件,雙引號 軟轉義 允許變數擴充套件 轉義符和命令替換。單引號保護...

Linux命令列基礎及基礎命令

例項1 1 root oldboy 當前使用者 分隔符 主機名 當前路徑 提示符 root oldboy 管理員root對應的提示符 oldboy oldboy 普通使用者對應的提示符 整個提示符是由乙個系統變數控制的 ps1 tab 命令或路徑的補全鍵。linux最有用的快捷鍵 ctrl a 游標...

Linux命令列基礎 常用的命令列

符號 符號含義 使用者目錄 也稱作家目錄 根路徑,即整個系統 所在當前目錄 當前目錄的上一級目錄 提示可以輸入命令列了 回車 carriage return 執行輸入的命令列 絕對路徑 開頭的路徑就是絕對路徑,不是這種開頭的就是相對路徑。命令列命令列的英文全寫 中文含義 pwdprint worki...