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

相关推荐
程序猿小三11 小时前
Linux下基于关键词文件搜索
linux·运维·服务器
虚拟指尖12 小时前
Ubuntu编译安装COLMAP【实测编译成功】
linux·运维·ubuntu
椎49513 小时前
苍穹外卖前端nginx错误之一解决
运维·前端·nginx
刘某的Cloud13 小时前
parted磁盘管理
linux·运维·系统·parted
啊?啊?13 小时前
4 解锁 Linux 操作新姿势:man、grep、tar ,创建用户及添加权限等 10 大实用命令详解
linux·服务器·实用指令
程序员老舅13 小时前
干货|腾讯 Linux C/C++ 后端开发岗面试
linux·c语言·c++·编程·大厂面试题
极验13 小时前
iPhone17实体卡槽消失?eSIM 普及下的安全挑战与应对
大数据·运维·安全
爱倒腾的老唐13 小时前
24、Linux 路由管理
linux·运维·网络
程序员Aries13 小时前
自定义网络协议与序列化/反序列化
linux·网络·c++·网络协议·程序人生
yannan2019031313 小时前
Docker容器
运维·docker·容器