Linux命令之通配符&管道符

简介: Linux命令之通配符&管道符

相信你在使用Linux的过程中,一定会用到过诸如“?”、“*”、“%”、“|”等等的符号(一般都是在网上直接复制)

这些符号在Linux的命令中是一种具有特殊功能的符号,被称为通配符或管道符。

1 简介

1.1 通配符

通配符是一种特殊语句,用来模糊搜索文件。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。

常用的通配符:

* :表示匹配一个或多个字符
? :表示匹配一个字符(不能是0个字符)
[] :类似于正则表达式(只能是匹配一个字符)
复制代码

1.2 管道符

管道命令符的作用是把前一个命令原本要输出到屏幕的标注正常数据当做是后一个命令的标准输入。一条命令中可以有多个管道符,只要前面的命令有输出结果,管道符后面的命令即可再执行。

常用的管道符:

| :是把前一个命令原本要输出到屏幕的标注正常数据当做是后一个命令的标准输入
复制代码

2 通配符

为了实验方便,我们先新建几个文件

[root@iZ1608aqb7ntn9Z Test0901]# touch file01 file02 file03 
[root@iZ1608aqb7ntn9Z Test0901]# ls
file01  file02  file03
复制代码

2.1 * 的使用

[root@iZ1608aqb7ntn9Z Test0901]# ls file*    #查看以file开头的文件
file01  file02  file03
[root@iZ1608aqb7ntn9Z Test0901]# ls
file01  file02  file03
[root@iZ1608aqb7ntn9Z Test0901]# rm -rf *    #删除当前目录下全部文件
[root@iZ1608aqb7ntn9Z Test0901]# ls
[root@iZ1608aqb7ntn9Z Test0901]# 
复制代码

2.2 ?的使用

[root@iZ1608aqb7ntn9Z Test0901]# touch file01 file02 file03 
[root@iZ1608aqb7ntn9Z Test0901]# ls
file01  file02  file03
[root@iZ1608aqb7ntn9Z Test0901]# ls file?1
file01
[root@iZ1608aqb7ntn9Z Test0901]# rm -rf file?2
[root@iZ1608aqb7ntn9Z Test0901]# ls
file01  file03
[root@iZ1608aqb7ntn9Z Test0901]# rm -rf file0?
[root@iZ1608aqb7ntn9Z Test0901]# ls
[root@iZ1608aqb7ntn9Z Test0901]# 
复制代码

2.3 [] 的使用

[root@iZ1608aqb7ntn9Z Test0901]# ls
file01  file02  file03
[root@iZ1608aqb7ntn9Z Test0901]# ls file0[1]
file01
[root@iZ1608aqb7ntn9Z Test0901]# ls file0[12]
file01  file02
[root@iZ1608aqb7ntn9Z Test0901]# ls file0[1-2]
file01  file02
[root@iZ1608aqb7ntn9Z Test0901]# ls file0[0-1]
file01
复制代码

3 管道符

3.1 基本语法

bash命令 | 管道命令
复制代码

3.2 何为bash命令和管道命令?

首先解释下bash命令,就是Linux中的一切具有能够输入的命令,例如ps输出进程信息,ls输出文件列表等等

管道命令,就是能够接收标准输出,例如grep,less,head,tail等命令

3.3 管道符基本使用

3.3.1 grep

截取出ps -ef命令里带有docker字符的所有命令

[root@iZ1608aqb7ntn9Z Test0901]# ps -ef|grep docker
root      369560       1  0 8月03 ?       00:05:24 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root      777276  710637  0 14:37 pts/0    00:00:00 grep --color=auto docker
复制代码

截取带有java进程的命令也是如此:

[root@iZ1608aqb7ntn9Z Test0901]# ps -ef|grep java
root       46858       1  0 5月02 ?       02:03:47 /usr/local/jdk1.8.0_141/bin/java -Djava.util.logging.config.file=/opt/20210406/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -D......
root      779698  710637  0 14:38 pts/0    00:00:00 grep --color=auto java
root     3369864       1  0 8月24 ?       00:07:09 java -jar stumg-0.0.1-SNAPSHOT.jar
复制代码

使用ls命令也可以哦:

[root@iZ1608aqb7ntn9Z Test0901]# ls
file01  file02  file03
[root@iZ1608aqb7ntn9Z Test0901]# ls |grep 02
file02
复制代码
3.3.2 wc

查看前一条命令输入的个数:

[root@iZ1608aqb7ntn9Z Test0901]# ls -a  | wc -l
5
[root@iZ1608aqb7ntn9Z Test0901]# ls   | wc -l
3


相关文章
|
1天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
14 7
|
3天前
|
监控 Linux
Linux常用命令-2
本文继续介绍Linux常用命令,涵盖目录操作、文件操作、系统信息和进程管理等类别。具体包括mkdir、rmdir、cp、mv、rm、touch、whereis、whatis、dmesg、free、date、cal、ps、kill、killall和top等命令的使用方法和常用参数。
27 7
|
2天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
10 4
|
1天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
12 3
|
18天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
131 5
|
18天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
61 4
|
5天前
|
缓存 监控 Linux
|
9天前
|
Linux Shell 数据安全/隐私保护
|
9天前
|
域名解析 网络协议 安全
下一篇
无影云桌面