通配符
标签(空格分隔): 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
```