通配符

标签(空格分隔): linux基础

第1章 回顾特殊符号

符号

解释

|

#管道符,或者(正则)

>

#输出重定向

>>

#输出追加重定向

<

#输入重定向

<>

#追加输入重定向

~

#当前用户家目录

`` 或$()

#引用命令被执行后的结果

$

#以。。。结尾(正则)

^

#以。。。开头(正则)

*

#匹配全部字符,通配符

?

#任意一个字符,通配符

#

#注释

&

#让程序或脚本切换到后台执行

&&&

#并且 同时成立

[]

#表示一个范围(正则,通配符)

{}

#产生一个序列(通配符)

.

#当前目录的硬链接

...

#上级目录的硬链接

第2章 通配符

他是shell的内置功能 通配符,用过DOS的应该很了解,也很常用。 通配符,指包含这些字符的字符串“?”,“*”,“【”,{}

通配符含义===>匹配文件名

符号作用*匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file *?匹配任何一个字符(不在括号内时)?代表人意1个字符 ls file 0[abcd]匹配abcd中任何一个字符[a-z]表示范围a到z,表示范围的意思{...}表示生成序列。以逗号分隔,且不能有空格补充[!abcd]或[^abcd]表示非,表示不匹配括号里面的任何一个字符2.1.1 通配符详解[root@text ~]# mkdir {a..n}创建从a到n的目录[root@text ~]# ls列出当前目录下的文件和文件夹a b c d e f g h i j k l m n[root@text ~]# touch {n..z}创建从n到z的文件[root@text ~]# ls列出当前目录下的文件和文件夹a b c d e f g h i j k l m n o p q r s t u v w x y z2.1.2 ? 任何一个字符[root@text ~]# ls ./?列出当前目录下以./开头的所有文件和文件夹./o ./p ./q ./r ./s ./t ./u ./v ./w ./x ./y ./z./a:[root@text ~]# touch a[root@text ~]# ls列出当前目录下的文件和文件夹a:[root@text ~]# touch b[root@text ~]# ls列出当前目录下的文件和文件夹b:[root@text ~]# touch c[root@text ~]# ls列出当前目录下的文件和文件夹c:这里一个?代表一个字符,如果有匹配三个字符,应该是???,多个就以此类推2.1.3 [abcd]表示匹配中括号内任意一个字符就成立

以下是对提供的内容进行重构后的结果:

```bash

# ls命令示例

[root@text ~]# ls [djbcz]

z

b:

c:

d:

j:

2.1.4 通配符用法:用来匹配文件名

[root@text ~]# ls [a..f]

a:

f:

[root@text ~]# ls [a-f]

a:

b:

c:

d:

e:

f:

中括号不支持..符号,从哪到哪用-

2.1.5 生成序列的方法

[root@text ~]# mkdir {a..n}

[root@text ~]# ls

a b c d e f g h i j k l m n

[root@text ~]# touch {n..z}

[root@text ~]# ls

a b c d e f g h i j k l m n o p q r s t u v w x y z

2.1.6 利用 {} 进行备份

[root@text ~]# cp abcd{,.bak}

[root@text ~]# ls

abcd abcd.bak

[root@text ~]# cp abc{d,www.bak}

[root@text ~]# ls

abcd abcd.bak abcwww.bak

[root@text ~]# cp abcd{,www.bak}

[root@text ~]# ls

abcd abcd.bak abcdwww.bak abcwww.bak

逗号表示代表用逗号后面的字符替换逗号前面的字符。

2.1.7 []与{}区别

[]只能用来找文件。

{} 用来找文件,或创造文件,生成序列。

第3章 特殊符号介绍

3.4.1未分类特殊符号介绍

3.4.2 #表示注释,linux会忽略这一行,主要用于解释说明。

3.4.2 $引用变量,取变量的值或普通用户的命令提示符。

1,shell $变量 ===>取变量里面的内容。

2,awk $取列 $数字。

3,普通用户的命令提示符。

第4章 常用特殊符号及通配符介绍

通配符含义:*代表任意(0个或多个)字符,?代表任意1个字符。[abcd]匹配中括号中任意一个字符。{}用于生成序列。

以下是重构后的文本内容:

- 中间为命令区块组合或内容生成

- 特殊符号及其含义:

- `;`:分号,用于连续不同命令的分隔符

- `#`:配置文件注释

- `|`:管道,将前一个命令的结果交给后一命令继续处理

- `~`:表示当前用户的家目录

- `-`:cd -,表示用户上一次所在的目录,由变量OLDPWD控制;su -,表示切换用户的系统环境

- `...`:表示上一级目录

- `.`:当前目录,可以是三种写法:ls、ls .或ls ./。在普通用户的命令提示符下使用。

- `$`:变量前需要加的符号,如$OLDPWD。普通用户的命令提示符。

- `/`:根路径分隔符。

- `\`:屏蔽系统别名;转义字符等。

- `>`:输出重定向,如>、>>等。

- `<`:输入重定向,如<、<<等。

- ``反引号(倒引号),``中间是命令,会先执行,等价于$()。

- `!`:逻辑运算中的“非”;vi/vim中的强制退出;!+字母可调出最近一次以此字母开头的命令;!!使用最近一次操作的命令等。

- `&&`:当前一个指令执行成功时,执行后一个指令。

- `'`和`"`:单引号和双引号的区别,不加引号的情况下支持通配符。

示例代码:

```bash

[root@text ~]# echo 'echo "Hello, World!"'

Hello, World!

[root@text ~]# echo "echo 'Hello, World!'"

Hello, World!

[root@text ~]# echo $LANG $(which mysql) {a..z}

en_US.UTF-8 /usr/local/mysql/bin/mysql a b c d e f g h i j k l m n o p q r s t u v w x y z

rocky_0120发布了3篇原创文章 · 获赞2 · 访问量58私信关注标签:abcd..text通配符lsroot

```