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)
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) |