ls 命令通配符

Posted matt0668

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ls 命令通配符相关的知识,希望对你有一定的参考价值。

使用过正则的人应该很熟悉通配符。如果非要解释的话,我找来一段:

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

 

上次说到 ls 命令可以列出当前目录所有的文件,那我们可不可以不要将所有的文件都显示出来,而只是显示一部分符合我们期望的文件呢?显然是可以的,就像在正则里使用通配符一样,Linux命令里也可以用,用来匹配对应的文件。

 

ls通配符的使用

通配符 含义
* 代表任意个数个字符
代表任意一个字符,至少1个
[ ] 表示可以匹配字符组中的任意一个
[abc] 匹配a、b、c中的任意一个
[a-f] 匹配从a到f范围内的任意一个字符

 

*

假设当前目录下有以下几个文件:

111.txt  121.txt  131.txt  1234.txt  212.txt

现在我想看到所有1开头的文件,就可以:

ls 1*

想看1结尾的就是:

ls *1.txt

注意.txt这个后缀要加上。

 

?

* 是多个字符,而 ? 只能是一个。 还是上面那几个文件,分别输入以下命令:

ls 12?.txt

//121.txt
ls 12*.txt

//123.txt  //1234.txt

 

[ ]

最需要注意的是,一个 [ ] 代表的只是一个字符,只要在 [ ] 里的都是符合的。

ls [12][12]1.txt

这个命令表示文件名第一位可以是1也可以是2,同理第二位也是可1可2,第三位必须是1。

 

这篇也没啥可说的了,都是大家熟悉的东西~

以上是关于ls 命令通配符的主要内容,如果未能解决你的问题,请参考以下文章

linux 常用命令及通配符

在 find 和 ls 中使用通配符 [重复]

Linux系统通配符与ls命令的功能及用法

linux常用命令

Ubuntu命令操作

linux常用命令