bash特殊符号

转载 2013年12月05日 17:50:50

在 bash 的操作环境中还有一个非常有用的功能,那就是通配符 (wildcard) ! 我们利用 bash 处理数据就更方便了!底下我们列出一些常用的通配符喔:

符号 意义
* 代表『 0 个到无穷多个』任意字符
? 代表『一定有一个』任意字符
[ ] 同样代表『一定有一个在括号内』的字符(非任意字符)。例如 [abcd] 代表『一定有一个字符, 可能是 a, b, c, d 这四个任何一个』
[ - ] 若有减号在中括号内时,代表『在编码顺序内的所有字符』。例如 [0-9] 代表 0 到 9 之间的所有数字,因为数字的语系编码是连续的!
[^ ] 若中括号内的第一个字符为指数符号 (^) ,那表示『反向选择』,例如 [^abc] 代表 一定有一个字符,只要是非 a, b, c 的其他字符就接受的意思。

接下来让我们利用通配符来玩些东西吧!首先,利用通配符配合 ls 找檔名看看:

复制代码
[root@www ~]# LANG=C              <==由于与编码有关,先配置语系一下

范例一:找出 /etc/ 底下以 cron 为开头的档名
[root@www ~]# ll -d /etc/cron*    <==加上 -d 是为了仅显示目录而已

范例二:找出 /etc/ 底下文件名『刚好是五个字母』的文件名
[root@www ~]# ll -d /etc/?????    <==由于 ? 一定有一个,所以五个 ? 就对了

范例三:找出 /etc/ 底下文件名含有数字的文件名
[root@www ~]# ll -d /etc/*[0-9]*  <==记得中括号左右两边均需 *

范例四:找出 /etc/ 底下,档名开头非为小写字母的文件名:
[root@www ~]# ll -d /etc/[^a-z]*  <==注意中括号左边没有 *

范例五:将范例四找到的文件复制到 /tmp 中
[root@www ~]# cp -a /etc/[^a-z]* /tmp
复制代码

 

除了通配符之外,bash 环境中的特殊符号有哪些呢?底下我们先汇整一下:

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

以上为 bash 环境中常见的特殊符号汇整!理论上,你的『档名』尽量不要使用到上述的字符啦!

 

bash中的特殊符号

单引号’ ’ , 在单引号中,所有的特殊符号,如 $ “(反引号)等都没有意义双引号” “, 在双引号中,特殊符号也没有意义,但是以下三个特殊符号例外: 1、$ 用来调用变量 ...
  • u011402596
  • u011402596
  • 2016年01月08日 00:04
  • 507

Bash 中的特殊字符大全

原文:http://blog.useasp.net/archive/2014/06/02/summary-of-the-special-characters-in-shell-on-linux.asp...
  • robertsong2004
  • robertsong2004
  • 2015年06月19日 16:43
  • 1095

BASH中的特殊符号

1. $变量 变量不需先声明,使用$引用变量的值   x=12         ##等号左右不能有空格           echo $x 一些重要变量 $HOME 当前用户主目录 $...
  • govago
  • govago
  • 2013年01月09日 07:55
  • 343

bash中的特殊符号

bash中的特殊符号 # 批注符号,视为说明,后面的数据均不执行 \ 转义符号,将“特殊字符和通配符”还原成一般字符 | 管道pipe,分割2个管道命令的界定 ;连续命令执行的分隔符,连续性命...
  • fwq11223344
  • fwq11223344
  • 2014年10月31日 15:52
  • 278

Bash中的特殊符号

Bash中的特殊符号
  • Kuma_Migoyan
  • Kuma_Migoyan
  • 2016年03月17日 16:18
  • 113

bash通配符与特殊符号

bash 是一个为GNU计划编写的Unix shell。bash是大多数Linux系统以及Mac OS X v10.4默认的shell,它能运行于大多数Unix风格的操作系统之上。 符号...
  • ben_xiao_hai
  • ben_xiao_hai
  • 2014年08月13日 11:05
  • 348

Bash通配符及特殊符号

1.*是任意多个任意字符(任意可以是0)ls *abc 会显示所有以abc结尾的或者就是abc的文件2.[]匹配括号中的任意一个,必须是一个。ls [abc]df 匹配以abc其中一个开始,以df结...
  • Greek_xpf
  • Greek_xpf
  • 2016年05月14日 14:59
  • 146

Bash中的特殊字符(上)

一.实验说明 1.登陆系统 无需登录直接进入系统 2.若不小心登出如何处理 系统用户名tc,密码为空。即提示输用户名时输入tc然后在提示输入密码时直接敲回车即可 二、# ...
  • Vanhukseter
  • Vanhukseter
  • 2014年10月16日 11:34
  • 4235

bash通配符与其他特殊符号-55

bash通配符与其他特殊符号         一、bash通配符             1、’?’:匹配一个任意字符             2、’*’:匹配0个或任意多个任意字符,也就是可以...
  • xinyuezh
  • xinyuezh
  • 2016年01月21日 20:02
  • 607

Linux bash 常用资料 --特殊符号

shell 位置参数 $0 命令名 $1 第一个参数 $2 第二个参数 ...... shift 移动位置参数。   shell 预定义特殊变量 $# ...
  • JimyJimang
  • JimyJimang
  • 2012年05月23日 11:48
  • 1084
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:bash特殊符号
举报原因:
原因补充:

(最多只允许输入30个字)