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基础特性

linux入门基础之通配符

linux基础知识都有哪些

Linux操作系统零基础入门学习

12-Linux基础入门-Linux的正则表达式(综合网络整理)

Linux运维应该怎么去学习?