当前位置: > shell编程 >

Linux下命令行通配符和特殊符号

时间:2016-06-01 19:14来源:www.it.net.cn 作者:IT
linux初学者经常会对命令行的通配符和正则表达式的特殊符号混淆.

通配符
*,代表0到无穷多个任意字符,
实例:
ls /*

?,代表一定有一个任意字符
实例:
ls /???
根目录下正好三个字符的文件名

[],代表一定有一个中括号内的字符,记住是一个
实例:
ls /*[a]*

[-],代表一个区间的所有数字,例如[0-9]
实例:
ls /etc/*[0-9]*
etc目录下文件名含有数字的文件或目录

[^],反选,和[]相反,指不包含[]里面的字符即可,例如[^0-9]指一定有一个字符,但不包含数字
实例:
ls /etc/*[^0-9]*
etc目录下文件名不包含数字的文件或目录

特殊符号

#,注释符号
\,转义符,可以把特殊字符和通配符还原成一般字符
|,管道符号,用于把两个命令的前执行结果进行重导向
;连续命令执行分隔符,例如ls; echo $PATH,可以同时执行两个命令,并且输出两个的执行结果
~,用户主目录,cd ~就能回到用户的主目录
$,变量前导符
!,逻辑非的意思
/,路径分隔符
>,数据流输出,覆盖式
>>,数据流输出,叠加式,在原有文件的末尾继续添加
<,数据流输入
<<,数据流输入
'',单引号,多个字符中间有空格是一用单引号当做一个整体,不具有保留变量能力
"",双引号,多个字符中间有空格是一用单引号当做一个整体,具有保留变量能力
``,反引号,中间的命令先执行,和$()相同

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容