我喜欢在 Linux 命令行中使用的六个元字符

系统 Linux
许多 Linux 电脑是无头headless运行的,你可以在命令行上完成所有的管理任务。它使用许多所有人都熟悉的基本命令,如 ls、ls-l、ls-l、cd、pwd、top 等等。

在我的 Linux 之旅的早期,我学会了如何使用命令行。这就是 Linux 的与众不同之处。我可以失去图形用户界面(GUI),但没有必要完全重建机器。许多 Linux 电脑是无头headless运行的,你可以在命令行上完成所有的管理任务。它使用许多所有人都熟悉的基本命令,如 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中国
相关推荐

2017-08-30 19:11:38

Linux命令行tab

2018-11-05 13:50:44

Linux命令tcpdump

2020-08-21 07:35:12

Linux命令行计算器

2022-10-18 10:00:09

Linuxtcpdump命令

2022-11-30 15:01:11

React技巧代码

2018-10-22 10:00:05

Linux命令ls

2022-04-05 00:18:33

工具终端命令行

2020-12-20 17:34:50

Linux命令行终端

2021-07-29 10:00:43

XMLXMLStarletLinux

2010-06-01 19:24:40

SVN命令行

2019-05-21 10:38:17

Linux命令行

2017-12-05 09:51:13

LinuxTranslate S命令行翻译器

2023-03-08 15:38:56

Linux命令dict

2009-08-07 10:31:24

linux命令行模式linux命令行Linux系统

2021-11-15 14:30:49

Pythonargparse编程语言

2020-09-11 07:50:37

nmcli命令行网络连接

2023-03-02 19:36:34

C语言

2022-10-11 16:53:22

GitLinux

2014-01-24 09:09:32

Linux命令行网速

2010-06-01 19:14:53

SVN命令行
点赞
收藏

51CTO技术栈公众号