Linux Bash Shell学习(二):目录和通配符

  我们继续看书。本文也即《Learning the bash Shell》3rd Edition的第一章 bash Basics之读书笔记之一。但我们将不限于此。

  先讲历史:第一个重要的shell是Bourne shell,他在1979年Unix version7中加入,即sh,很多UNIX的应用的管理仍然依赖它。第一个广泛使用的其他shell是几年后C shell,因为他和C编程有些相似。还有就是Korh shell,他集合了前面两者的优点并加上自己的特点,但是虽然下载是免费的,作为一个商业的shell,他在某些场合使用时需要付费的。而bash,即Bourne Again shell是免费,他提出一个发布的方式,copyleft,有FSF(Free Software Foundation)的Brain Fox提供的,后来又Chet Ramey维护和发布新的版本,在GNU(GNU's Not Unix)中使用。他取缔了所有和商业性质与有关的UNIX部分。

  在wiki是这样描述bash:

bash 是一个为GNU 项目编写的Unix shell 。它的名字是一系列缩写:B ourne-A gain SH ell — 这是关于Bourne shell (sh)的一个双关语(Bourne again / born again)。Bourne shell是一个早期的重要shell,由Stephen Bourne在1978年前后编写,并同Version 7 Unix一起发布。bash则在1987年由Brian Fox创造。在1990年,Chet Ramey成为了主要的维护者。

bash是大多数Linux 系统以及Mac OS X v10.4 默认的shell,它能运行于大多数Unix风格 的操作系统之上,甚至被移植到了Microsoft Windows 上的CygwinMSYS 系统中,以实现windows的POSIX 虚拟接口。

  在现在的desktop linux中,都是bash,倒是少了我们去设定bash的方式。Linux都支持sh,如果可以在命令行中敲入sh,尽可以进入sh模式。不过我们有bash,没必要进去sh。在login后,可以通过Ctrl-D来进行logout,这种方式我好像没有用过,不过使用exit或者logout一样可以达到目的,就没比较记下这么多的快捷键。

  bash中的间隔符合可以是空格或者tab。

  接着介绍文件结构和读取方式,这些都很熟悉,直接翻过去。有一些我们很少使用的,下面列举一下:

  • 例如~user,表示进入user的home directory,而我们一般很少跨用户使用,~/user,表示使用我们home目录下面的user,例如是/home/wei/user。
  • cd相当于cd ~。
  • 使用cd –将返回上次位置。

下面例举了一下通配的处理以及大括号的用法:

wildcard说明例子
匹配一个字符a?b,表示三个字符,中间的为任意
*匹配一个或者多个字符a*b,表示开始为a,结束为b的字符串
[set]表示在set中定义的一个字符例如[abc],以及[a-zA-Z0-9]
[!set]表示不在set中定义的一个字符例如[!a-z],如果我们希望!包含在set中,可以使用/!,例如[/!.;]
{a,b,c}表示三个字符,分别是a,b,c,可以认为只某种组合方式例如a{df,d,s},表示adf,ad和as
{a..d}表示一个范围例如{a..d},表示a,b,c,d。{}表示至少有两个以上的组合,所以一定需要逗号,或者表示一个范围的..例如:echo a{x,y},得到ax ay,而echo a{x},得到a{x}

相关链接:我的Linux操作相关文章

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值