您的位置:首页 > 运维架构 > Linux

11-Linux基础入门(九)-Linux的通配符

2018-02-07 10:16 337 查看
一、概述

Linux的通配符和正则表达式是不一样的,因此代表的意义也是有较大区别的。通配符一般用于用户命令行bash环境,而Linux正则表达式用于grep、sed、awk场景。

下列是一些Linux常用的通配符介绍:

*   所有(0到多个)字符
?   任意一个字符
;   连续不同命令的分隔符
#   配置文件注释
|   管道
~  当前用户的家目录
-   上一次所在的路径
$  变量前需要加的符号
/   路径分隔符号,也是根的意思
>或1>    重定向(覆盖原原有数据)
>>  追加重定向(追加内容文件尾部)
<   输入重定向(xargs、tr)
<<  追加输入重定向(cat)
‘   单引号:不具有变量置换功能,输出时候所见即所得
"   双引号:具有变量置换功能,解析变量后输出,不加引号相当于双引号,常用双引号
`   反引号(TAB上边的按键):两个``中间为命令,会先执行,等价于$()
{}  中间为命令区块组合或内容序列
!   逻辑运算中的“非”(NOT)
&&  并且(AND):当前一个指令执行成功时,执行后一个指令
||  或者(OR):当前一个指令执行失败时,执行后一个指令
..  上一级目录
.   当前目录


二、一些通配符的应用举例

1、*号

[root@centos ~]# mkdir test
[root@centos ~]# cd test
[root@centos test]# touch test.sh zhangyujia.sh zhangyj.sh
[root@centos test]# ls
test.sh  zhangyj.sh  zhangyujia.sh
[root@centos test]# ls *.sh    #在当前文件夹查询以.sh结尾的所有文件
test.sh  zhangyj.sh  zhangyujia.sh
[root@centos test]# touch zhangyujia.txt
[root@centos test]# ls *      #列出当前文件夹的所有文件
test.sh  zhangyj.sh  zhangyujia.sh  zhangyujia.txt


2、?号

[root@centos test]# ls ????.sh    #代表四个字符
test.sh
[root@centos test]# touch a.sh
[root@centos test]# ls ?.sh      #代表一个字符
a.sh
注意:?号匹配且只匹配一个字符。


3、;号两个命令之间的分隔符

[root@centos test]# ls;ls
a.sh  test.sh  zhangyj.sh  zhangyujia.sh  zhangyujia.txt
a.sh  test.sh  zhangyj.sh  zhangyujia.sh  zhangyujia.txt


4、{}内容序列举例

#按需生成你想要的东西
[root@centos test]# echo zhangyujia{1,2,3}
zhangyujia1 zhangyujia2 zhangyujia3
[root@centos test]# echo zhangyujia{1..5}
zhangyujia1 zhangyujia2 zhangyujia3 zhangyujia4 zhangyujia5
[root@centos test]# echo zhangyujia{a..z}
zhangyujiaa zhangyujiab zhangyujiac zhangyujiad zhangyujiae zhangyujiaf zhangyujiag zhangyujiah zhangyujiai zhangyujiaj zhangyujiak zhangyujial zhangyujiam zhangyujian zhangyujiao zhangyujiap zhangyujiaq zhangyujiar zhangyujias zhangyujiat zhangyujiau zhangyujiav zhangyujiaw zhangyujiax zhangyujiay zhangyujiaz
#备份文件
[root@centos test]# cp a.txt{,.bak}
[root@centos test]# ls a*
a.sh  a.txt  a.txt.bak
#创建文件夹
[root@centos test]# mkdir /data/{1,2}/data -p
[root@centos test]# tree /data/
/data/
├── 1
│   └── data
└── 2
└── data

4 directories, 0 files


欢迎关注

新浪微博:https://weibo.com/yougazhang0506

微信公众平台:张雨嘉



我的网站:http://www.zhangyujia.cn

51CTO博客:http://blog.51cto.com/11099293

CSDN博客:http://blog.csdn.net/u013260195

GitHub:https://github.com/zhangyujia0506/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux Linux通配符