首页 > 代码库 > 特殊符号(通配符)知识点总结

特殊符号(通配符)知识点总结

##特殊符号与正则表达式的区别

    #()在awk/sed/grep中使用的特殊符号-->正则表达式

    #()在命令行或脚本中使用的特殊符号-->以下特殊意义

##特殊符号(通配符)列表

<

0<

输入重定向

mail -s 1091*****@qq.com </etc/hosts.txt  

    ##将host.txt中的内容写入的邮件内容

>输出重定向
>>追加输出重定向不覆盖之前的内容,在文档最后继续写入追加的内容
管道将前一个命令得到的结果,通过管道传给下一个命令作为参数使用
\转义字符让有特殊意义的字符去除特殊意义,例如"."(代表当前目录),“\.”则只代表".";例如"$"(代表以...结尾),"\$"即表示$本身
*匹配所有即任意字符重复n次,类似正则中".*"
?匹配任意一个字符类似正则中"."
$引用变量正则中表示行尾
#注释符一般为配置文件中注释,使该行不解释
~当前用户家目录
.和./ 当前目录或隐藏文件

例如:ll -a /root/.bash_rc

..和../ 当前目录上一级目录

cd .    ##当前目录

cd ..   ##返回当前目录的上一级目录

cd -    ##返回上一次所在的目录

根目录或路径分隔符
命令分隔符两个命令在同一行执行,则用";"隔开
{}(1)生成字符或字符序列
(2)find里面使用的意思是“前面命令的结果”

(1)一般配合echo等命令使用,类似seq.

mkdir /data/{3306,3307,3308}/data    

    ##同时创建3306和3307、3308目录

mkdir stu{001..100}

    ##同时创建100个目录,stu001.stu002...stu100

echo {1..100}

    ##产生1 2 3...100的序列

(2)配合find -exec命令一起使用

find /et/ -type f -name "ssh.bak*" -exec rm -f {} \;

|| 

只有前面的命令不能正确执行,才执行后面的命令

ech 12 >>/dev/null || echo 2

&&且,与

只有当前面的命令执行成功后才执行后面的命令

echo && echo 1

``

两个反引号

(引用命令的参数)

echo `date`
‘‘

两个单引号

(不具有变量置换功能)

输出所见所得,看到啥就输出啥

(只是对‘‘内的变量引用不能生效,但是特殊符号的意义保留)

""

两个双引号

(具有变量置换功能)

能够解析调用的变量输出

(若引用的内容中有‘‘,保持引用符号不同,需使用"",反之亦然)

!调用最近一次使用的命令、参数或者取反

!+数字            表示调出历史的第几条命令

!!                    表示使用最近一次操作的命令

!+commond   表示调用最近一次使用该命令开头的命令

!$                    表示调用上一次使用的参数(变量)

cat/etc/sysconfig/network-scripts/ifcfg-em1 

cat !$    显示同样的结果

"非”,取反:(!在哪个参数前面,即对该参数取反)

find /home/jason/ ! -type f-name "a.sh"    

    ##搜索不是文件类型,但是名字为a.sh   

find /home/jason/ -type f ! -name "a.sh"   

    ##搜索文件名不为a.sh的文件

find取“或”"-o"

find/home/jason/ -type f -name "a.sh" -o -name "b.sh" 

    ##搜索文件名为a.sh或者b.sh的文件

find取“且”"-a"

find/home/jason/ -type f -name "*a.sh" -a ctime -15

    ##搜索包含a.sh的文件,并且该文件修改时




特殊符号(通配符)知识点总结