首页 > 代码库 > Linux之通配符

Linux之通配符

前言:学习通配符有点为正则表达式打基础的感觉……之前学python有学过正则表达式,所以这篇博客学起来还是挺快的。

特殊符号

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

通配符

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

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

 

符号作用
*匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file *
?匹配任何一个字符(不在括号内时)?代表任意1个字符 ls file 0
[abcd]匹配abcd中任何一个字符
[a-z]表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0
{..}表示生成序列. 以逗号分隔,且不能有空格
补充 
[!abcd]或[^abcd]表示非,表示不匹配括号里面的任何一个字符

通配符详解

? 任何一个字符

技术分享

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

技术分享

  • {}生成序列

  • []用来找文件(匹配文件名)

技术分享

利用 {} 来备份

技术分享

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

技术分享

[]与{}区别

  • []只能用来找文件
  • {} 用来找文件,或创造文件,生成序列

技术分享

 

特殊符号

 命令1|命令2  ###管道符号,传递的时普通的文本,字符串,来自于前一个命令。 |xargs   ###管道符号,通过xargs这个管道符命令来将字符串转换成文件名

目录结构

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

重定向符号

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

 

未分类特殊符号

#表示注释

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

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

1、shell
$变量:取变量里面的内容

2、awk
$取列 $数字

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

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

技术分享

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

1、shell

技术分享

2、sed

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

cd - ;su -

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

 

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

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

 

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

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

 

! 表示非

技术分享

表示强制
vi/vim
vi 强制退出:q!

 

&& 表示并且

技术分享

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

单引号,双引号,不加引号的区别

技术分享

  • 单引号:所见即所得。

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

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

 

参考博客: http://www.cnblogs.com/chensiqiqi/p/6280351.html

Linux之通配符