学习bash——通配符与特殊符号

一、通配符

  这是bash操作环境中一个非常有用的功能,这让我们使用bash处理数据就更方便了。

  常用通配符如下:

符号意义
*代表0个到无穷多个任意字符
?代表一个任意字符
[]代表一定有一个在中括号内的字符(非任意字符)
[-]若有减号在中括号内,代表在编码顺序内的所有字符
[^]若中括号内的第一个字符为^,则表示原向选择

【示例区】

预处理:LANG=C; alias ll=ls -al

题目1:找出/etc/下面以cron为开头的文件名

命令:ll -d /etc/cron*      //加上-d仅仅是为了显示目录而已

题目2:找出/etc/下面文件名刚好是五个字母的文件名

命令:ll -d ?????

题目3:找出/etc/下面文件名含有数字的文件名

命令:ll -d /etc/*[0-9]*

题目4:找出/etc/下面文件名开头不是小写字母的文件名

命令:ll -d /etc/[^a-z]*

题目5:将题目4找到的文件复制到/tmp中

命令:cp -a /etc/[^a-z]* /tmp

 

二、特殊符号

符号内容
#批注符号,常用于script中,视为说明。
\转义符号,将“特殊字符或通配符”还原成一般字符
|管道(pipe),分隔两个管道命令的界定
;连续命令执行分隔符
~用户的主文件夹
$使用变量前导符,即是变量之前需要加的变量替代值
&作业控制,将命令变成背景下工作
!逻辑运算意义上的“非”的意思
/目录符号,路径分隔的符号
>,>>数据流重定向,输出导向,分别是“替换”与“累加”
<,<<数据流重定向,输入导向
' '单引号,不具有变量置换的功能
" "具有变量置换的功能
` `两个`中间为可以先执行的命令,也可使用$()
()在中间为子shell的起始与结束
{}在中间为命令块的组合

  我们的文件名应尽量避免使用到上述的字符。

 

转载于:https://www.cnblogs.com/xzxl/p/7610476.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值