我喜歡在 Linux 命令行中使用的 6 個元字元
在我的 Linux 之旅的早期,我學會了如何使用命令行。這就是 Linux 的與眾不同之處。我可以失去圖形用戶界面(GUI),但沒有必要完全重建機器。許多 Linux 電腦是 無頭 運行的,你可以在命令行上完成所有的管理任務。它使用許多所有人都熟悉的基本命令,如 ls
、ls-l
、ls-l
、cd
、pwd
、top
等等。
Linux 上的 Shell 元字元
你可以通過使用元字元來擴展這些命令。我不知道你怎麼稱呼它們,但這些元字元使我的生活變得更輕鬆。
管道符 |
假設我想知道我的系統上運行的 Firefox 的所有實例。我可以使用帶有 -ef
參數的 ps
命令來列出我系統上運行的所有程序實例。現在我想只看那些涉及 Firefox 的實例。我使用了我最喜歡的元字元之一,管道符 |
,將其結果送到 grep
,用它來搜索模式:
$ ps -ef | grep firefox
輸出重定向 >
另一個我最喜歡的元字元是輸出重定向 >
。我用它來列印 dmesg
命令結果中所有 AMD 相關的結果。你可能會發現這在硬體故障排除中很有幫助:
$ 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).
星號 *
星號 *
(通配符)是尋找具有相同擴展名的文件時我的最愛,如 .jpg
或 .png
。我首先進入我的系統中的 Picture
目錄,並使用類似以下的命令:
$ ls *.png
BlountScreenPicture.png
DisplaySettings.png
EbookStats.png
StrategicPlanMenu.png
Screenshot from 01-24 19-35-05.png
波浪號 ~
波浪號 ~
是在 Linux 系統上通過輸入以下命令快速返回你的家目錄的一種方法:
$ cd ~
$ pwd
/home/don
美元符號 $
$
符號作為一個元字元有不同的含義。當用於匹配模式時,它意味著任何以給定字元串結尾的字元串。例如,當同時使用元字元 |
和 $
時:
$ ls | grep png$
BlountScreenPicture.png
DisplaySettings.png
EbookStats.png
StrategicPlanMenu.png
Screenshot from 01-24 19-35-05.png
上尖號 ^
符號 ^
將結果限制在以給定字元串開始的項目上。例如,當同時使用元字元 |
和 ^
時:
$ ls | grep ^Screen
Screenshot from 01-24 19-35-05.png
這些元字元中有許多是通往 正則表達式 的大門,所以還有很多東西可以探索。你最喜歡的 Linux 元字元是什麼,它們是如何節省你的工作的?
via: https://opensource.com/article/22/2/metacharacters-linux
作者:Don Watkins 選題:lujun9972 譯者:wxy 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive