linux特殊字符

linux特殊字符:

* 匹配文件名中的任何字符串,包括空字符串。

? 匹配文件名中的任何单个字符。

[...] 匹配[ ]中所包含的任何字符。

[!...] 匹配[ ]中非感叹号!之后的字符。

当shell遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样用户就可以用它们来匹配相应的文件名。

1.1 使用*

*代替文件后面的内容

$ ls

1.txt 2.txt log.file

$ cat l*

1.2 使用?

f??*s匹配所有以f开头、中间是任意两个字符、后面跟随任意字符串、并以s结尾的文件名:

1.3 [...] 与[!...]

使用[...]可以用来匹配方括号[ ]中的任何字符。在这一方法中,还可以使用一个横杠-来连接两个字母或数字,以此来表示一个范围。

列出了以l2开头的文件名

$ ls [l2]*

2.txt log.file

为了匹配所有以数字开头然后可以是任意字符串的文件名,可以用[0-9]*,其中[0-9]表示任意单个数字,星号*代表了其他字符:

$ ls [0-9]*

1. txt 2.txt

使用[!0-9 ] *来表示非数字开头的字符串,其中!是非的意思:

$ ls [!0-9]*

log.file

[a-z]* 以小写字母开头

[A-Z]*以大写字母开头

posted @ 2015-11-09 16:57  方诚  阅读(433)  评论(0编辑  收藏  举报