(day10)Linux通配符和特殊字符知识

通配符与特殊符号

通配符:

1、代表特殊含义的一些符号。

2、bash命令行操作的时候。

一、作用于文件名的通配符。

符号作用
*匹配任意(0个或多个)字符或字符串,包括空字符串

匹配任意1个字符,有且只有一个字符

字符集合匹配一堆字符/文本
[abcd]匹配abcd中任何一个字符,abcd也可是其他任意不连续字符
[a-z]匹配a到z之间的任意一个字符,字符前后要连续,也可以用连续数字[1-9]
[!abcd]表示不匹配括号里面的任何一个字符,也可书写为[!a-d],这里的!号可以用^替代,即[^abcd]

二、与路径和位置有关的特殊符号

符号作用
~用户的家目录,超级用户为/root,普通用户为/home
-代表上一次(相对于当前路径)用户所在的路径
.代表当前目录(点号还有很多其他含义)
..代表上一级目录

三、

单引号:(‘ ’)所见即所得,即输出单引号内容时会将单引号内的所有内容都原样输出,或者描述为单引号里面看的是什么就会输出什么,被称之为强引用

双引号(“ ”)输出双引号内的所有内容时,如果内容中有命令(要反引下)、变量、特殊转义符多了个,会先把变量、命令、转义字符解析出结果,然后再输出最终内容,被称为弱引用。推荐使用

[root@qulan ~]# echo $(date)
2024年 05月 30日 星期四 15:05:11 CST
[root@qulan ~]# echo $(date)
2024年 05月 30日 星期四 15:05:20 CST
[root@qulan ~]# echo '$(date)'
$(date)
[root@qulan ~]# echo "$(date)"
2024年 05月 30日 星期四 15:05:38 CST

无引号:赋值时,如果变量内容有空格会使得赋值不完整。而在输出内容时,也会将含有空格的字符串视为一个整体输出;如果内容中有命令(要反引下)、变量等,会先把变量、命令解析出结果,然后输出最后总内容;如果字符串中带有空格等特殊字符,则有可能无法完整地输出,因此需要改加双引号。一般连续的字符串、数字、路径等可以不加任何引号赋值和输出,不过无引号的情况最好用双引号替代之,特别是变量赋值时。

        和双引号类似,双引号引起来的内容是一个整体。

[root@qulan ~]# echo $a
123
[root@qulan ~]# echo $(date)
2024年 05月 30日 星期四 15:10:30 CST

反引号:(` `)一般用于引用命令,执行的时候命令会被执行,相当于$(),赋值和输出都要将命令用``引起来,里面是可执行的命令。

四、其他特殊符号

1、;        

(1)表示一个命令的结束

(2)也是命令间的分隔符

2、#

(1)表示是注释内容,是用来给管理员

(2)root用户的命令提示符

(3)命令替换用的分隔符,比如vim的替换:%s#127#721#g   

3、|

表示管道,将一个命令处理后的中间内容输出给下一个命令继续处理

[root@qulan ~]# cat /etc/services | grep 3306
mysql           3306/tcp                        # MySQL
mysql           3306/udp                        # MySQL

(1)管道传输的是数据流(文件内容),不是文件(文件名)

(2)代表普通用户的命令提示符

(3)分组功能,同时过滤多个字符串

        grep -E ==egrep

        [root@qulan ~]# egrep "3306|1521" /etc/services 
        mysql           3306/tcp                        # MySQL
        mysql           3306/udp                        # MySQL
        ncube-lm      1521/tcp                # nCube License Manager
        ncube-lm      1521/udp                # nCube License Manager

4、$

(1)代表普通用户的命令提示符

(2)字符串前加$符号,代表字符串变量内容[root@qulan ~]# a=oldboy
        [root@qulan ~]# $a
        [root@qulan ~]# echo $a
        oldboy

5、\        逃脱符或转义字符,即将有特殊含义

[root@qulan ~]# echo ?.txt
a.txt c.txt f.txt q.txt
[root@qulan ~]# echo \?.txt
?.txt

(1)生成序列

(2)引用变量作为变量与普通字符的分隔

6、seq        数字序列

①seq 10        #竖向打印序列

②seq -w 10        #补全位数打印序列

③seq 1 2 10(seq 起始 步长 结束)        #打印奇数和偶数序列,步长为正数就是从小到大,否则从大到小。起始数字>结束数字

(1)默认:

[root@qulan ~]# seq 5
1
2
3
4
5

(2)打奇偶数:

seq        1        2        5

            起步    步长   结束
[root@qulan ~]# seq 1 2 5
1
3
5

7、bash里特殊符号

&& 并且的意思 and前面正确,后面才输出

echo 123 &&echo 456        #前面命令能正确输出,则打印456,否则不打印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值