我喜歡在 Linux 命令行中使用的六個(gè)元字符
在我的 Linux 之旅的早期,我學(xué)會(huì)了如何使用命令行。這就是 Linux 的與眾不同之處。我可以失去圖形用戶界面(GUI),但沒有必要完全重建機(jī)器。許多 Linux 電腦是無頭headless運(yùn)行的,你可以在命令行上完成所有的管理任務(wù)。它使用許多所有人都熟悉的基本命令,如 ls、ls-l、ls-l、cd、pwd、top 等等。
Linux 上的 Shell 元字符
你可以通過使用元字符來擴(kuò)展這些命令。我不知道你怎么稱呼它們,但這些元字符使我的生活變得更輕松。
管道符 |
假設(shè)我想知道我的系統(tǒng)上運(yùn)行的 Firefox 的所有實(shí)例。我可以使用帶有 -ef 參數(shù)的 ps 命令來列出我系統(tǒng)上運(yùn)行的所有程序?qū)嵗,F(xiàn)在我想只看那些涉及 Firefox 的實(shí)例。我使用了我最喜歡的元字符之一,管道符 |,將其結(jié)果送到 grep,用它來搜索模式:
$ ps -ef | grep firefox
輸出重定向 >
另一個(gè)我最喜歡的元字符是輸出重定向 >。我用它來打印 dmesg 命令結(jié)果中所有 AMD 相關(guān)的結(jié)果。你可能會(huì)發(fā)現(xiàn)這在硬件故障排除中很有幫助:
$ dmesg | grep amd > amd.txt
$ cat amd.txt
[ 0.897] amd_uncore: 4 amd_df counters detected
[ 0.897] amd_uncore: 6 amd_l3 counters detected
[ 0.898] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
星號(hào) *
星號(hào) *(通配符)是尋找具有相同擴(kuò)展名的文件時(shí)我的最愛,如 .jpg 或 .png。我首先進(jìn)入我的系統(tǒng)中的 Picture 目錄,并使用類似以下的命令:
$ ls *.png
BlountScreenPicture.png
DisplaySettings.png
EbookStats.png
StrategicPlanMenu.png
Screenshot from 01-24 19-35-05.png
波浪號(hào) ~
波浪號(hào) ~ 是在 Linux 系統(tǒng)上通過輸入以下命令快速返回你的家目錄的一種方法:
$ cd ~
$ pwd
/home/don
美元符號(hào) $
$ 符號(hào)作為一個(gè)元字符有不同的含義。當(dāng)用于匹配模式時(shí),它意味著任何以給定字符串結(jié)尾的字符串。例如,當(dāng)同時(shí)使用元字符 | 和 $ 時(shí):
$ ls | grep png$
BlountScreenPicture.png
DisplaySettings.png
EbookStats.png
StrategicPlanMenu.png
Screenshot from 01-24 19-35-05.png
上尖號(hào) ^
符號(hào) ^ 將結(jié)果限制在以給定字符串開始的項(xiàng)目上。例如,當(dāng)同時(shí)使用元字符 | 和 ^ 時(shí):
$ ls | grep ^Screen
Screenshot from 01-24 19-35-05.png
這些元字符中有許多是通往 正則表達(dá)式 的大門,所以還有很多東西可以探索。