[] 通配符不起作用

0 wildcards 20.04

我正在观看学习 Linux 通配符的培训视频,我学习了其中的一些通配符,例如 {}、*、?、[] 等。之后我想做一些练习,并尝试在一个文件夹中创建 300 个目录,其名称如下文件夹1,文件夹2,文件夹3 ...,然后我尝试创建100个文件,它们的名称类似于file1.txt,file2.txt,file3.txt ...然后我将这些命令写入终端:

https://i.stack.imgur.com/7kOMn.png

我意识到我无法创建我想要的东西,所以我尝试了另一个通配符“{}”,之后我将这些命令写入终端:

https://i.stack.imgur.com/E576w.png

正如您所看到的,在该过程结束时我成功了,但我仍然不知道为什么“[]”通配符不起作用。在我观看的视频中,该男子编写了类似于我留下的第一张图片的命令,然后创建了文件夹。有人可以解释一下为什么通配符不起作用吗?

pLu*_*umo 9

这是因为您不想使用通配符。Awildcard是选择现有的名称。(参见文件名扩展

  • ?是任何字符的通配符,仅一次。
  • *是任意次数的任意字符的通配符。
  • []是字符类通配符,匹配一个类(一个或多个字符的集合)一次。在括号内设置允许匹配的字符。[1-300]行不通的。

{...}是你想要的,但它不是通配符,它​​称为大括号扩展

不幸的是,一些教程对此是错误的。