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博客")

相关推荐
EricFRQ1 小时前
devops自动化容器化部署
运维·自动化·devops
白云~️2 小时前
uniappx 打包配置32位64位x86安装包
运维·服务器·github
在河之洲木水3 小时前
现代多核调度器的本质 调度三重奏
linux·服务器·系统架构
文牧之3 小时前
PostgreSQL的扩展 pgcrypto
运维·数据库·postgresql
程序员JerrySUN3 小时前
驱动开发硬核特训 · Day 22(下篇): # 深入理解 Power-domain 框架:概念、功能与完整代码剖析
linux·开发语言·驱动开发·嵌入式硬件
白总Server3 小时前
多智能体系统的中间件架构
linux·运维·服务器·中间件·ribbon·架构·github
未来会更好yes3 小时前
Centos 7.6安装redis-6.2.6
linux·redis·centos
二猛子3 小时前
Linux(Centos版本)中安装Docker
linux·docker·centos
浪裡遊5 小时前
跨域问题(Cross-Origin Problem)
linux·前端·vue.js·后端·https·sprint
Johny_Zhao5 小时前
OpenStack 全套搭建部署指南(基于 Kolla-Ansible)
linux·python·信息安全·云计算·openstack·shell·yum源·系统运维