Linux实战教学笔记09:通配符

第九节 通配符

标签(空格分隔): 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 ? 任何一个字符

屏幕快照 2017-01-12 上午11.18.06.png-19.9kB

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

QQ20170112-112225@2x.png-19.9kB

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

QQ20170112-113509@2x.png-32kB

2.1.5 {}生成序列

QQ20170112-112942@2x.png-33.9kB

2.1.6 利用 {} 来备份

QQ20170112-133605@2x.png-89.4kB

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

不常用,了解即可

QQ20170112-140132@2x.png-40.2kB

2.2 []与{}区别

[]只能用来找文件
{} 用来找文件,或创造文件,生成序列
QQ20170112-135108@2x.png-56.2kB

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下面)反引号 引用命令的结果,相当于$()

QQ20170112-221029@2x.png-63.6kB

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,表示非
QQ20170112-230017@2x.png-21.8kB
2,表示强制
vi/vim
vi 强制退出 (q!)

3.4.10 && 表示并且

QQ20170112-230542@2x.png-53.1kB

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


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

通配符 含义
* 代表任意(0个或多个)字符
代表任意1个字符
[abcd] 匹配中括号中任意一个字符
{} 中间为命令区块组合或内容生成
特殊符号 含义
;分号 连续不同命令的分隔符
# 配置文件注释
| 管道,将前一个命令的结果交给后一命令继续处理
cd ~ 当前用户的家目录
- cd - 用户上一次所在的目录,由变量OLDPWD控制;su - 切换用户的系统环境
.. 上一级目录
. 当前目录(当前目录三种写法:ls或ls .或ls ./)
$ 变量前需要加的符号$OLDPWD;普通用户的命令提示符
/ 根;路径分隔符号
\ 屏蔽系统别名;转义字符;
> 输出重定向
>> 输出追加重定向
< 输入重定向
<< 输入追加重定向
‘’ 单引号,不具有变量置换功能,输出时所见即所得
“” 双引号,具有变量置换功能,解析变量输出
`` 反引号(倒引号),``中间是命令,会先执行,等价于$()
! 逻辑运算中的“非”;vi/vim中的强制退出;!+ 字母 调出最近一次以此字母开头的命令;!!使用最近一次操作的命令
&& 当前一个指令执行成功时,执行后一个指令
双管道符 当前一个指令执行失败时,执行后一个指令

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

QQ20170112-233432@2x.png-64.4kB

  • 单引号:所见即所得。

  • 双引号:解析特殊符号,特殊符号有了原本的特殊意思

  • 不加引号:比较特殊,支持通配符

posted @ 2017-01-12 23:45  陈思齐  阅读(2638)  评论(2编辑  收藏  举报