Skip to content

Commit ae096fe

Browse files
committed
docs(expansions): edit *
1 parent b2cd18a commit ae096fe

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

docs/expansion.md

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -120,18 +120,23 @@ $ echo ?.txt
120120

121121
## `*` 字符扩展
122122

123-
`*`字符代表文件路径里面的任意数量的字符,包括零个字符。
123+
`*`字符代表文件路径里面的任意数量的任意字符,包括零个字符。
124124

125125
```bash
126126
# 存在文件 a.txt、b.txt 和 ab.txt
127127
$ ls *.txt
128128
a.txt b.txt ab.txt
129+
```
130+
131+
上面例子中,`*.txt`代表后缀名为`.txt`的所有文件。
129132

130-
# 输出所有文件
133+
如果想输出当前目录的所有文件,直接用`*`即可。
134+
135+
```bash
131136
$ ls *
132137
```
133138

134-
下面是`*`匹配空字符的例子
139+
`*`可以匹配空字符,下面是一个例子
135140

136141
```bash
137142
# 存在文件 a.txt、b.txt 和 ab.txt
@@ -142,18 +147,22 @@ $ ls *b*
142147
b.txt ab.txt
143148
```
144149

145-
注意,`*`不会匹配隐藏文件(以`.`开头的文件)。
150+
注意,`*`不会匹配隐藏文件(以`.`开头的文件),即`ls *`不会输出隐藏文件。
151+
152+
如果要匹配隐藏文件,需要写成`.*`
146153

147154
```bash
148155
# 显示所有隐藏文件
149156
$ echo .*
157+
```
150158

151-
# 与方括号扩展结合使用,
152-
# 只显示正常的隐藏文件,不显示 . 和 .. 这两个特殊文件
159+
如果要匹配隐藏文件,同时要排除`.``..`这两个特殊的隐藏文件,可以与方括号扩展结合使用,写成`.[!.]*`
160+
161+
```bash
153162
$ echo .[!.]*
154163
```
155164

156-
`*`字符扩展也属于文件名扩展,只有文件确实存在的前提下才会扩展。如果文件不存在,就会原样输出。
165+
注意,`*`字符扩展属于文件名扩展,只有文件确实存在的前提下才会扩展。如果文件不存在,就会原样输出。
157166

158167
```bash
159168
# 当前目录不存在 c 开头的文件

0 commit comments

Comments
 (0)