Linux 常用通配符

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

常用通配符

1、*

        通常用于匹配任何字符,包括数字、字母和符号。你可以使用星号指定应用程序需要查找的字符相应位置的任何字符。

ls *.txt (列出所有以.txt结尾的文件)

用 * 查找 /var/log 下的所有以.log结尾的文件: ls /var/log/*.log

2、?

        匹配文件名中单个字符。在文件名中,问号占用了字符位置,能够匹配任何字符。

ls ?.txt (列出所有以一个字符加上.txt结尾的文件)

用 ? 查找 /var/log/ 目录下所有log文件名(文件名字母数目不同只能按照 ? 来匹配):
ls /var/log/*.log?

3、[ ]

        用于匹配指定字符集范围中的一个字符。如果需要匹配一小段字符集范围,可以使用该通配符。

ls [abc].txt (列出以a,b或c 为首字母加上 .txt 结尾的文件)

用 [] 在 ls 命令中匹配任何以 n、o 或 p 开头的文件夹: ls [nop]*

4、{ }

        提供一种在Linux中生成文件名的方法。若文件名中有几个不同的选项,就可以使用此通配符。它会自动将多个选项组合成唯一的字符串。

cp file{1,2}.txt dir (将file1.txt 和file2.txt 放入dir目录中)

用 {} 显示指定两个文件: echo {foo,bar}
[] 与 {} 区别:

[] 只能用来找文件
{} 用来找文件,或创造文件,生成序列

了解即可:

        *        代表任意字符,0~多个

        ?        代表一个字符

        #        注释

        \         转义字符,将特殊字符或通配符还原成一般符号

        |         管道符号,传递的时普通的文本/字符串,来自于前一个命令

        ;       连续性命令的界定;分隔多个命令,没有逻辑关系,只是一步一步执行

        ~         用户的根目录

        $         变量前需加的变量值;引用变量 去变量的值或普通用户的命令提示符

        !          逻辑运算中的“非”

        /          路径分割符号

        >         输出重定向,会清空原文内容,然后在向文件里面追加内容

        >>       追加输出重定向,追加到文件的最后一行

        '          不具有变量置换功能,所见即所得

        "          具有变量置换功能,解析特殊符号,特殊符号有了原本的特殊意思

        `          两个`中间为可先执行的指令

        ()         中间为子shell的起始与结束

        []         中间为字符组合

        {}         中间为命令区块组合

        &&       当前符号前一个指令执行成功时,执行后一个指令

        ||          当该符号前一个指令执行失败时,执行后一个指令

Linux 操作技巧_周湘zx的博客-CSDN博客

你可能感兴趣的:(RHCSA,linux,运维,通配符)