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 ? 任何一个字符
ls .log .txt
2.1.2 ? 任何一个字符
2.1.3[abcd]表示匹配中括号内任意一个字符就成立
2.1.4 通配符是用来找文件(匹配文件名)
2.1.5 {}生成序列
2.1.6 利用 {} 来备份
2.1.7 [^abcd] !^表示非,取反
不常用,了解即可
不常用,了解即可
2.2 []与{}区别
[]只能用来找文件
{} 用来找文件,或创造文件,生成序列
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 #表示注释
命令1|命令2 ###管道符号,传递的时普通的文本,字符串,来自于前一个命令。
|xargs ###管道符号,与xargs传递的是把文本,字符串变成了文件名
3.2 目录结构
. #当前目录(或“任意一个字符”正则)
.. #当前目录的上一级目录
3.3 重定向符号
> #输出重定向,会清空原文内容,然后在向文件里面追加内容
>> #追加输出重定向,追加到文件的最后一行
< #输入重定向tr xargs
<< #cat 用来给文件追加多行文本
例如: >/dev/null 2>&1
3.4未分类特殊符号
3.4.1 #表示注释
. #当前目录(或“任意一个字符”正则)
.. #当前目录的上一级目录
> #输出重定向,会清空原文内容,然后在向文件里面追加内容
>> #追加输出重定向,追加到文件的最后一行
< #输入重定向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下面)反引号 引用命令的结果,相当于$()
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 ! 表示非
[root@chensiqi ~]$ cd ~
会直接返回当前用户的家目录
3.4.7 / 根或者路径分隔符
3.4.8 \ 转义符号或者叫屏蔽别名
. #(正则里代表任意一个字符)
\. #只代表一个点的符号
3.4.9 ! 表示非
. #(正则里代表任意一个字符)
\. #只代表一个点的符号
3.4.9 ! 表示非
1,表示非
2,表示强制
vi/vim
vi 强制退出 (q!)
3.4.10 && 表示并且
特别注意
&&符号只有当前边的命令执行成功才会执行后边的命令
第4章 常用特殊符号及通配符
通配符 | 含义 |
---|---|
* | 代表任意(0个或多个)字符 |
? | 代表任意1个字符 |
[abcd] | 匹配中括号中任意一个字符 |
{} | 中间为命令区块组合或内容生成 |
特殊符号 | 含义 |
;分号 | 连续不同命令的分隔符 |
# | 配置文件注释 |
\ | |
~ | cd ~ 当前用户的家目录 |
– | cd – 用户上一次所在的目录,由变量OLDPWD控制;su – 切换用户的系统环境 |
.. | 上一级目录 |
. | 当前目录(当前目录三种写法:ls或ls .或ls ./) |
$ | 变量前需要加的符号$OLDPWD;普通用户的命令提示符 |
/ | 根;路径分隔符号 |
\ | 屏蔽系统别名;转义字符; |
> | 输出重定向 |
>> | 输出追加重定向 |
< | 输入重定向 |
<< | 输入追加重定向 |
‘’ | 单引号,不具有变量置换功能,输出时所见即所得 |
“” | 双引号,具有变量置换功能,解析变量输出 |
“ | 反引号(倒引号),“中间是命令,会先执行,等价于$() |
! | 逻辑运算中的“非”;vi/vim中的强制退出;!+ 字母 调出最近一次以此字母开头的命令;!!使用最近一次操作的命令 |
&& | 当前一个指令执行成功时,执行后一个指令 |
双管道符 | 当前一个指令执行失败时,执行后一个指令 |
第5章 单引号,双引号,不加引号的区别
- 单引号:所见即所得。
- 双引号:解析特殊符号,特殊符号有了原本的特殊意思
- 不加引号:比较特殊,支持通配符
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143547.htm