11-Linux基础入门-Linux的通配符
Posted 张雨嘉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11-Linux基础入门-Linux的通配符相关的知识,希望对你有一定的参考价值。
一、概述
Linux的通配符和正则表达式是不一样的,因此代表的意义也是有较大区别的。通配符一般用于用户命令行bash环境,而Linux正则表达式用于grep、sed、awk场景。
符号 |
代表含义 |
* |
所有(0到多个)字符 |
? |
任意一个字符 |
; |
连续不同命令的分隔符 |
# |
配置文件注释 |
| |
管道 |
~ |
当前用户的家目录 |
- |
上一次所在的路径 |
$ |
变量前需要加的符号 |
/ |
路径分隔符号,也是根的意思 |
>或1> |
重定向(覆盖原原有数据) |
>> |
追加重定向(追加内容文件尾部) |
< |
输入重定向(xargs、tr) |
<< |
追加输入重定向(cat) |
‘ |
单引号:不具有变量置换功能,输出时候所见即所得 |
" |
双引号:具有变量置换功能,解析变量后输出,不加引号相当于双引号,常用双引号 |
` |
反引号(TAB上边的按键):两个``中间为命令,会先执行,等价于$() |
{} |
中间为命令区块组合或内容序列 |
! |
逻辑运算中的“非”(NOT) |
&& |
并且(AND):当前一个指令执行成功时,执行后一个指令 |
|| |
或者(OR):当前一个指令执行失败时,执行后一个指令 |
.. |
上一级目录 |
. |
当前目录 |
二、一些通配符的应用举例
1、*号
[root@centos ~]# mkdirtest
[root@centos ~]# cdtest
[root@centos test]#touch test.sh zhangyujia.sh zhangyj.sh
[root@centos test]# ls
test.sh zhangyj.sh zhangyujia.sh
[root@centostest]# ls *.sh #在当前文件夹查询以.sh结尾的所有文件
test.sh zhangyj.sh zhangyujia.sh
[root@centos test]#touch zhangyujia.txt
[root@centostest]# ls * #列出当前文件夹的所有文件
test.sh zhangyj.sh zhangyujia.sh zhangyujia.txt
2、?号
[root@centostest]# ls ????.sh #代表四个字符
test.sh
[root@centos test]#touch a.sh
[root@centostest]# 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 zhangyujia2zhangyujia3
[root@centos test]#echo zhangyujia{1..5}
zhangyujia1 zhangyujia2zhangyujia3 zhangyujia4 zhangyujia5
[root@centos test]#echo zhangyujia{a..z}
zhangyujiaa zhangyujiabzhangyujiac zhangyujiad zhangyujiae zhangyujiaf zhangyujiag zhangyujiahzhangyujiai zhangyujiaj zhangyujiak zhangyujial zhangyujiam zhangyujianzhangyujiao zhangyujiap zhangyujiaq zhangyujiar zhangyujias zhangyujiatzhangyujiau zhangyujiav zhangyujiaw zhangyujiax zhangyujiay zhangyujiaz
#备份文件
[root@centos test]# cpa.txt{,.bak}
[root@centos test]# lsa*
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/
以上是关于11-Linux基础入门-Linux的通配符的主要内容,如果未能解决你的问题,请参考以下文章
2017-11-5Linux基础知识(10)bash基础特性