鱼C论坛

 找回密码
 立即注册
查看: 2341|回复: 0

[学习笔记] 认识bash shell4--Bash Shell使用环境之通配符与特殊符号

[复制链接]
发表于 2017-8-6 18:37:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Zbrel 于 2017-8-7 17:48 编辑

通配符与特殊符号
通配符(wildcard)是bash操作环境下的一个非常有用的功能。下面列出一些常用的通配符:
符号        意义
*                 万用字符,代表『0 个到无穷多个』任意字符(或数字)
?                 万元字符,代表一个字母
[]                同样代表『一定有一个在括号内』的字符(非任意字符)。例如 [abcd] 代表『一定有一个字符, 可能是 a, b, c, d 这四个任何一个』
[ - ]        若有减号在中括号内时,代表『在编码顺序内的所有字符』。例如 [0-9] 代表 0 到 9 之间的所有数字,因为数字的诧系编码是连续的!
[^]         若中括号内的第一个字符为指数符号 (^) ,那表示『反向选择』,例如 [^abc] 代表一定有一个字符,只要是非 a, b, c 的其他字符就接受的意思。

例如:找出/etc/下以con开头的档名:ll -d /etc/con*  -d是为了仅显示目录
找出/etc/下文件名刚好是五个字母的文件名:ll -d /etc/?????
找出/etc/下含有数字的文件名:ll -d /etc/*[0-9]*
找出/etc/下,档名开头为非小写字母的文件名:ll -d /etc/[^a-z]*

除了通配符之外,bash环境中的特殊符号还有:
符号        内容
#                 批注符号:这个最常被使用在 script 当中,规为说明!在后的数据均不执行
\                 跳脱符号:将『特殊字符或通配符』还原成一般字符
|                 管道 (pipe):分隔两个管道命令的界定;
;                 连续指令下达分隔符:连续性命令的界定 (注意!与管线命令并不相同)
~                 用户的家目录
$                 取用变数前导符:亦即是变量之前需要加的变量取代值
&                 工作控制 (job control):将指令变成背景下工作
!                 逻辑运算意义上的『非』 not 的意思!
/                 目录符号:路径分隔的符号
>, >>         数据流重导向:输出导向,分删是『取代』与『累加』
<, <<         数据流重导向:输入导向
' '                 单引号,不具有变量置换的功能
" "                 具有变量置换的功能!
··                两个『` 』中间为可以先执行的指令,亦可使用 $( )
( )                 在中间为子 shell 的起始与结束
{ }                 在中间为命令区块的组合!
[]                在中间为字符的组合

评分

参与人数 1鱼币 +1 收起 理由
小甲鱼 + 1

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 02:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表