Linux 常用通配符

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

常用通配符

1、*

通常用于匹配任何字符,包括数字、字母和符号。你可以使用星号指定应用程序需要查找的字符相应位置的任何字符。

bash 复制代码
ls *.txt (列出所有以.txt结尾的文件)

用 * 查找 /var/log 下的所有以.log结尾的文件: ls /var/log/*.log

2、?

匹配文件名中单个字符。在文件名中,问号占用了字符位置,能够匹配任何字符。

bash 复制代码
ls ?.txt (列出所有以一个字符加上.txt结尾的文件)

用 ? 查找 /var/log/ 目录下所有log文件名(文件名字母数目不同只能按照 ? 来匹配):
ls /var/log/*.log?

3、[ ]

用于匹配指定字符集范围中的一个字符。如果需要匹配一小段字符集范围,可以使用该通配符。

bash 复制代码
ls [abc].txt (列出以a,b或c 为首字母加上 .txt 结尾的文件)

用 [] 在 ls 命令中匹配任何以 n、o 或 p 开头的文件夹: ls [nop]*

4、{ }

提供一种在Linux中生成文件名的方法。若文件名中有几个不同的选项,就可以使用此通配符。它会自动将多个选项组合成唯一的字符串。

bash 复制代码
cp file{1,2}.txt dir (将file1.txt 和file2.txt 放入dir目录中)

用 {} 显示指定两个文件: echo {foo,bar}
bash 复制代码
[] 与 {} 区别:

[] 只能用来找文件
{} 用来找文件,或创造文件,生成序列

了解即可:

* 代表任意字符,0~多个

? 代表一个字符

注释

\ 转义字符,将特殊字符或通配符还原成一般符号

| 管道符号,传递的时普通的文本/字符串,来自于前一个命令

; 连续性命令的界定;分隔多个命令,没有逻辑关系,只是一步一步执行

~ 用户的根目录

$ 变量前需加的变量值;引用变量 去变量的值或普通用户的命令提示符

! 逻辑运算中的"非"

/ 路径分割符号

> 输出重定向,会清空原文内容,然后在向文件里面追加内容

>> 追加输出重定向,追加到文件的最后一行

' 不具有变量置换功能,所见即所得

" 具有变量置换功能,解析特殊符号,特殊符号有了原本的特殊意思

` 两个`中间为可先执行的指令

() 中间为子shell的起始与结束

\] 中间为字符组合 {} 中间为命令区块组合 \&\& 当前符号前一个指令执行成功时,执行后一个指令 \|\| 当该符号前一个指令执行失败时,执行后一个指令 [Linux 操作技巧_周湘zx的博客-CSDN博客](https://blog.csdn.net/weixin_68256171/article/details/133216103 "Linux 操作技巧_周湘zx的博客-CSDN博客")

相关推荐
Johny_Zhao35 分钟前
CentOS Stream 9上部署FTP应用服务的两种方法(传统安装和docker-compose)
linux·网络安全·信息安全·kubernetes·云计算·containerd·ftp·yum源·系统运维
一个网络学徒1 小时前
MGRE综合实验
运维·服务器·网络
守望时空331 小时前
RustDesk搭建指南
linux
C++ 老炮儿的技术栈1 小时前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
白鹭2 小时前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache
java叶新东老师2 小时前
linux 部署 flink 1.15.1 并提交作业
linux·运维·flink
程序员JerrySUN3 小时前
Linux系统架构核心全景详解
linux·运维·系统架构
无敌的牛3 小时前
Linux文件理解,基础IO理解
linux·运维·服务器
angushine3 小时前
鲲鹏服务器logstash采集nginx日志
运维·服务器·nginx
未来之窗软件服务3 小时前
跨平台 WebSocket 服务器的设计与实现 —— 基于.NET 8 的跨操作系统解决方案linux,macos,windows——开发工具
linux·服务器·websocket·仙盟创梦ide·东方仙盟