在我的 Linux 旅程早期,我学会了如何使用命令行。这是 Linux 与众不同的地方。我可以不用图形用户界面 (GUI),但没有必要完全重建机器。许多 Linux 计算机以无头模式运行,您可以在命令行上完成所有管理任务。它使用许多基本命令,大家都很熟悉,例如 ls
、ls-l
、ls-l
、cd
、pwd
、top
以及更多。
Linux 上的 Shell 元字符
您可以通过使用元字符来扩展每个命令。我以前不知道这些字符叫什么,但元字符让我的生活变得更轻松。
管道 |
假设我想知道我的系统上正在运行的所有 Firefox 实例。我可以使用 ps
命令和 -ef
来列出我的系统上正在运行的所有程序的实例。现在我想只查看那些涉及 Firefox 的实例。我使用我最喜欢的元字符之一,管道 |
将结果传递给 grep
,它用于搜索模式。
$ ps -ef | grep firefox
输出重定向 >
另一个我最喜欢的元字符是输出重定向 >
。我使用它来打印 Intel 提及的所有实例的结果,这些实例是 dmesg
命令的结果。您可能会发现这在硬件故障排除中很有用。
$ 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 元字符是什么?它们是如何节省您的工作的?
11 条评论