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