第九节 通配符

标签(空格分隔): Linux实战教学笔记



第1章 回顾特殊符号

|     #管道符,或者(正则)
> #输出重定向
>> #输出追加重定向
< #输入重定向
<< #追加输入重定向
~ #当前用户家目录
`` $() #引用命令被执行后的结果
$ #以。。。结尾(正则)
^ #以。。。开头(正则)
* #匹配全部字符,通配符
? #任意一个字符,通配符
# #注释
& #让程序或脚本切换到后台执行
&& #并且 同时成立
[] #表示一个范围(正则,通配符)
{} #产生一个序列(通配符)
. #当前目录的硬链接
.. #上级目录的硬链接


第2章 通配符

他是shell的内置功能

通配符,用过DOS的应该很了解,也很常用。

通配符,指包含这些字符的字符串“?”,“*”,“【”,{}

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


符号

作用

*

匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file *

?

匹配任何一个字符(不在括号内时)?代表人意1个字符 ls file 0

[abcd]

匹配abcd中任何一个字符

[a-z]

表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0

{..}

表示生成序列。以逗号分隔,且不能有空格

补充

 

[!abcd]

或[^abcd]表示非,表示不匹配括号里面的任何一个字符


2.1 通配符详解

2.1.1 “表示任何字符串”

ls *.log *.txt

2.1.2 ? 任何一个字符

通配符_正则

2.1.3[abcd]表示匹配中括号内任意一个字符就成立

通配符_当前目录_02

2.1.4 通配符是用来找文件(匹配文件名)

通配符_重定向_03

2.1.5 {}生成序列

通配符_正则_04

2.1.6 利用 {} 来备份

通配符_当前目录_05

2.1.7 [^abcd] !^表示非,取反

不常用,了解即可

通配符_字符串_06

2.2 []与{}区别

[]只能用来找文件

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

通配符_重定向_07

2.3 通配符小结

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


符号

作用

*

匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file *

?

匹配任何一个字符(不在括号内时)?代表人意1个字符 ls file 0

[abcd]

匹配abcd中任何一个字符

[a-z]

表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0

{..}

表示生成序列。以逗号分隔,且不能有空格

补充

 

[!abcd]

或[^abcd]表示非,表示不匹配括号里面的任何一个字符



第3章 特殊符号

3.1 管道部分

 命令1|命令2  ###管道符号,传递的时普通的文本,字符串,来自于前一个命令。
|xargs ###管道符号,与xargs传递的是把文本,字符串变成了文件名


3.2 目录结构

.   #当前目录(或“任意一个字符”正则)
.. #当前目录的上一级目录


3.3 重定向符号


> #输出重定向,会清空原文内容,然后在向文件里面追加内容
>> #追加输出重定向,追加到文件的最后一行
< #输入重定向tr xargs
<< #cat 用来给文件追加多行文本


例如: >/dev/null 2>&1

3.4未分类特殊符号

3.4.1 #表示注释

linux 会忽略他,给运维人员看的,解释说明用的。

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

1,shell

$变量 ===>取变量里面的内容

2,awk

$取列 $数字

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

[root@chensiqi ~]$

3.4.3 ``(esc下面)反引号 引用命令的结果,相当于$()

通配符_字符串_08

3.4.4 ;分隔多个命令,没有逻辑关系,只是一步一步执行。

1,shell

pwd;pwd;pwd;hostname
相当于
pwd
pwd
pwd
hostname

2,sed

[root@chensiqi ~]$ seq 100 | sed -n '20p;50p;100p'
20
50
100

3.4.5 - (cd - ;su -)

  • cd - ###返回上一次的工作目录,返回上一次的位置
  • su - ###切换用户,重新加载环境变量

3.4.6 ~ 当前用户的家目录,老家

[root@chensiqi ~]$ cd ~
会直接返回当前用户的家目录

3.4.7 / 根或者路径分隔符

3.4.8 \ 转义符号或者叫屏蔽别名

.    #(正则里代表任意一个字符)
\. #只代表一个点的符号


3.4.9 ! 表示非

1,表示非

通配符_特殊符号_09

2,表示强制

vi/vim

vi 强制退出 (q!)

3.4.10 && 表示并且

通配符_特殊符号_10

特别注意
&&符号只有当前边的命令执行成功才会执行后边的命令



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


通配符

含义

*

代表任意(0个或多个)字符

代表任意1个字符

[abcd]

匹配中括号中任意一个字符

{}

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

特殊符号

含义

;分号

连续不同命令的分隔符

#

配置文件注释

|

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

cd ~ 当前用户的家目录

-

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

..

上一级目录

.

当前目录(当前目录三种写法:ls或ls .或ls ./)

$

变量前需要加的符号$OLDPWD;普通用户的命令提示符

/

根;路径分隔符号

\

屏蔽系统别名;转义字符;

>

输出重定向

>>

输出追加重定向

<

输入重定向

<<

输入追加重定向

‘’

单引号,不具有变量置换功能,输出时所见即所得

“”

双引号,具有变量置换功能,解析变量输出

``

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

!

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

&&

当前一个指令执行成功时,执行后一个指令

双管道符

当前一个指令执行失败时,执行后一个指令



第5章 单引号,双引号,不加引号的区别

通配符_字符串_11

  • 单引号:所见即所得。
  • 双引号:解析特殊符号,特殊符号有了原本的特殊意思
  • 不加引号:比较特殊,支持通配符