clobber和glob

在Linux的各种文献中,经常碰到这两个词汇,每次查完后,过不久就又会忘记,今天就把它们的区别记录下来。


一、依据wikipedia的解释,clobber的意义可分为三种:

1.覆盖,通常是无意的,覆盖的对象通常是文件(To overwrite, usually unintentionally)。

下面的句子说明了clobber的用法。

I walked off the end of the array and clobbered the stack.

再看bash的例子:

>set -o noclobber

>echo hello > bb

>echo hello > bb

bb: File exists.

由于设置了noclobber,也即不允许覆盖,第二次echo语句执行时无法覆盖bb文件,bash提示出错。

2.在makefile中,make clobber的功能是把上一次make命令生成的文件或目录清除掉,效果比make clean更严格。

3.在汇编语言中,clobbered registers指在指令执行过程中可能会被覆盖的寄存器。

 

二、glob是一种特殊的模式匹配。最常见的即是通配符的扩展,如bash下输入“ls *.log”命令,其中的*.log即会被扩展成当前目录下所有以.log为后缀的文件列表,这样的扩展行为即称为glob或globbing。根据man glob的说明,这个名字是起源于早先Unix V6版本中的/etc/glob命令。至于为什么那个命令叫glob,也是无从得知。

 

总结,clobber和glob这两个单词根原来英文本义基本无关,称为专业术语也不太恰当,更恰当说法应该是“专业俚语”。无法从英文角度来看这两个词汇,只能记住它们各自的含义,没有其他好的办法。另,在数据库中有两个相似的术语blob和clob,分别是binary large object和character large object的缩写,有章可循,并没有clobber或glob这么来得古怪。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值