操作系統(tǒng):centos8
1、管道命令符
管道命令符 " | " 的作用是將前一個(gè)命令的標(biāo)準(zhǔn)輸出當(dāng)作后一個(gè)命令的標(biāo)準(zhǔn)輸入,格式為"命令A(yù)|命令B"。
例如:
搜索rsyslogd進(jìn)程:$ ps -ef | grep rsyslogd
用反野形式查看/etc 目錄中有哪些文件:$ ls -l /etc/ | more
2、命令行通配符
bash解釋器支持多種文本通配符,包括:
| 通配符 | 作用 |
|---|---|
| * | 匹配零個(gè)或多個(gè)字符 |
| ? | 匹配任意單個(gè)字符 |
| [0-9] | 匹配范圍內(nèi)的數(shù)字 |
| [abc] | 匹配給出的任意一個(gè)字符 |
我們之前在學(xué)文本查詢搜索命令時(shí)就用到了通配符,例如,在 /etc 目錄下搜索所有的以host開(kāi)頭的文件:
$ find /etc -name "host*"
另外,bash解釋器還支持很多的特殊字符擴(kuò)展:
| 字符 | 作用 |
|---|---|
| (反斜杠) | 轉(zhuǎn)義后面單個(gè)字符 |
| ''(單引號(hào)) | 轉(zhuǎn)義所有的字符 |
| ""(雙引號(hào)) | 變量依然生效 |
| ``(反引號(hào)) | 執(zhí)行命令語(yǔ)句 |
例如:
先定義名稱為PRICE的變量值為5
$ PRICE=5
輸出“價(jià)格是5”:
$ echo "Price is $PRICE"
Price is 5
輸出“價(jià)格是$5”,但因?yàn)槊涝?hào)與代表變量取值的$符號(hào)沖突,所以需要用到轉(zhuǎn)義字符:
$ echo "Price is \$$PRICE"
Price is $5
使用單引號(hào),變量將不再被取值:
$ echo 'Price is \$$PRICE'
Price is \$$PRICE
執(zhí)行 uname -a 后可以查看到本機(jī)內(nèi)核的版本與架構(gòu)信息(反引號(hào)里面的命令會(huì)被執(zhí)行):
$ echo `uname -a`
Linux localhost.localdomain 4.18.0-305.10.2.el8_4.x86_64 #1 SMP Tue Jul 20 12:00:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux