eygle.com   eygle.com
eygle.com eygle
eygle.com  
 
Digest Net: November 2006 Archives

November 2006 Archives

SQL Server 2005 的新特性及增强

(原文链接)

前言

SQL Server 2000从上市到现在已经整整五个年头。现在望眼欲穿的SQL Server 2005 终于发布了。五年磨一剑,SQLServer 2005 将是微软具有里程碑性质的企业级数据库产品。本文从用户关心的技术要点出发比较和讨论SQL Server 2005 相对它的前版本SQL Server 2000所做的重大改进或新增功能,介绍了SQL Server 2005 中最值得你为之升级的10 个理由。无论你是想了解或学习SQL Server 2005,还是正在评估或考虑升级到SQL Server 2005,本文都将对您有很好的参考作用。

升级理由一:数据分区

只有到了2005 版本SQL Server才拥有了真正的表和索引数据分区技术。这个技术一下子使SQL Server数据库从“青壮年”成长为成熟的企业级数据库产品,是一个里程碑性质的标志。数据分区技术极大加强了表的可伸缩性和可管理性,使得 SQLServer 处理海量数据的能力有了质的飞跃,是我认为最值得升级的一个理由。

06年Q3中国数据库市场规模达4.63亿

来源:易观网  时间:2006-11-27 梁新刚

易观国际发布《2006年第3季度中国数据库软件市场数据监测》数据显示,2006年第3季度中国商业数据库市场2006年第3季度整体规模达到4.63亿人民币,季度环比增长7.53%。

从厂商竞争格局来看,国际软件巨头占据市场的绝大多数份额。Oracle、IBM、Microsoft和Sybase牢牢占据国内数据库软件市场前四位,拥有96%的市场份额。国产数据库的主要应用领域是具有国防和保密性质的部委、航空航天工业以及各地方政府。其中,Sybase的数据库产品份额下滑,其产品重点向着综合信息管理和移动解决方案转移。

开源软件的挑战,迫使主流厂商推出免费版应对。以MySQL、PostgreSQL为代表的开源数据库正在被越来越多的企业用户所采用。目前的开源数据库还不能在功能和处理能力方面追上商业级产品,但其价格的侵蚀力无法回避。开源数据库迅速增长的市场份额使得Oracle、IBM、微软相继推出了免费数据库版本(对服务收费)。

从技术趋势来看,以IBM推出DB2的最新版本Viper为标志,大型商业数据库开始同时支持关系型和层次型数据。预计其他主流厂商将迅速跟进,增加类似功能。

受SOA 潮流拉动,元数据库市场成长迅速。元数据库是部署SOA的重要组成部分,它提供了可共享的空间,用来管理服务元数据、支配服务资产生命周期及评估结果。随着SOA/Web Service市场的增长,企业更加需要通过元数据库来提供服务的可见性,进而了解资产组合、优化资产重用。

从用户需求来看,由于主要应用行业的需求趋于饱和,数据库市场增长缓慢。DBMS的传统的主要客户集中于电信、金融、能源等行业的大客户,目前其需求接近饱和,增长缓慢。电子政务由于信息整合平台建设的要求,还保持着平缓增长。一部分快速发展的中小企业,开始尝试使用大型商业数据库的简化版或免费版,并有对服务付费的意愿。

如果需要了解更多内容,请参见:《2006年第3季度中国数据库市场季度监测》

有趣的病毒测试

| 4 Comments

把下面这段代码复制到记事本里,保存为文本文件,然后静观杀毒软件之变。若有反应,那您就可以初步放心了。。。 注意,本病毒代码绝对不会伤害到机器.请放心!!
!

----------我是分割线,不要复制我,复制我下面的代码------------------------------------


X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


--------我也是分割线,不要复制我,复制我上面的代码------------------------------------


这段代码是欧洲计算机防病毒协会开发的一种病毒代码,,其中的特征码已经包含在各种杀毒软件的病毒代码库里,所以可以用做测试病毒扫描引擎。


下面是等级:

特等:复制完代码后便提示内存有病毒

优等:刚保存完就提示病毒(或者直接删除)

中等:保存后几秒提示病毒(或者直接删除)

下等:需自己启动病毒扫描查杀才提示病毒(或者直接删除)

作为每个季度定期补丁的一部分,Oracle最近发布了101个安全漏洞的补丁,涵盖了Oracle全部的产品线。

这些重要补丁中有63个是关于数据库产品的,有14个是关于应用服务器的,另外13个是关于电子商务套件的,还有8个是有关PeopleSoft产品的,Oracle的Pharmaceuticals和JD Edwards也分别有一个补丁。

“高危补丁主要是关于应用服务器产品的,” Darius Wiles说,他是Oracle的高级安全经理,“有一些漏洞可以在没有通过认证的情况下被远程调用,还有一些漏洞是客户非常关心,需要尽早解决的。”

Oracle在这次安全升级的公告牌中首次使用了安全评级,而且在公告中明确说明了那些漏洞会被远程匿名利用,这种漏洞也是最危险的漏洞。

还有很多问题都很严重,有30个与数据库相关的漏洞会将系统暴露给未经认证的远程攻击者,对于应用服务器而言,有13个漏洞存在这类风险,在电子商务套件和PeopleSoft产品中也各有一个这样的漏洞。

与数据库相关的漏洞中,有35个是与Oracle Application Express相关的,其中的25个漏洞是危害级别最高的漏洞,Application Express是一个可选的组件,不过大部分Oracle的用户都没有使用它,Wiles说。不过现在应用服务器的使用越来越广泛,因此也就有更多的系统存在这些风险,他表示。

“这次的补丁很多­­­­­­­­­­­­­­­,……,他们正在努力修复产品中的问题。” 安全专家Pete Finnigan在他的博客中这样写到,“这种新的安全公告方式给我的印象很深,尽管还不完美,但是已经比以前好多了。”

Oracle的下一次安全升级定于明年一月16日.(原文链接)

IBM顶级数据库专家技术论坛实况

2006.04.15 来自:赛迪 (转引链接)

摘要:
王珊:数据库实际上就是数据管理技术,或者说是信息管理技术。从数据库产生到现在40多年,....数据的形式是越来越丰富,原来我们最初的数据是结构化的数据,我们管理的是一些结构化的数据,处理的也就是一些事务处理。现在我们面对的数据是各种各样的数据,包括正文、多媒体、声音、图象等等,所以数据的对象越来越丰富。另外从数据量来讲,现在越来越大,可以说是海量,....

数据库管理系统要自调优自调整,数据库越来越复杂了,管理系统使得数据库管理的负担太大了。....DBMS技术,传统的技术没有过时,相反在新的条件下,我们遇到了很多新的挑战,数据量越来越大。另外我想数据库一方面向大的方向发展,还向小的方向发展,我们的手机、移动设备上面都要用存储数据,所以我想这方面的挑战会越来越多.....

关系数据库之父-埃德加·考特

在数据库技术发展的历史上,1970 年是发生伟大转折的一年。这一年的6 月,IBM 圣约瑟研究实验室的高级研究员埃德加·考特 (Edgar Frank Codd) 在Communications of ACM 上发表了《大型共享数据库数据的关系模型》一文。

ACM 后来在1983年把这篇论文列为从1958 年以来的25年中最具里程碑意义的2 5 篇论文之一,因为它首次明确而清晰地为数据库系统提出了一种崭新的模型, 即关系模型。

“关系”( Relation ) 是数学中的一个基本概念,由集合中的任意元素所组成的若干有序偶对表示, 用以反映客观事物间的一定关系。如数之间的大小关系、人之间的亲属关系、商品流通中的购销关系等等。

在自然界和社会中, 关系无处不在; 在计算机科学中, 关系的概念也具有十分重要的意义。计算机的逻辑设计、编译程序设计、算法分析与程序结构、信息检索等,都应用了关系的概念。而用关系的概念来建立数据模型,用以描述、设计与操纵数据库,考特是第一人。(原文链接)

移动梦网推精品栏目 缓和SP压力

作者:高剑巍 | 出处:财经时报 | 2006-11-25 18:26:34 |

  移动梦网将快速增加许多真正免费的内容和项目,在现有分成比例不变的情况下,中国移动将获得更多的流量.

  关于中国移动限制免费wap(手机上网)的传言终于水落石出。

  11月上旬,中国移动悄悄对移动梦网的wap栏目进行了一次“改革”,这次“改革”不仅击碎了外界关于中国移动限制免费wap生存空间的流言,也是梦网5年来商业模式的一种创新。

  这次“改革”涉及的主要方面是:中国移动对移动梦网wap上的几个栏目进行了招标,将其中一部分栏目的内容交由CP和SP来经营。这种局部的尝试,被中国移动相关人士评价为“让专业的人士做专业的事情。”

  对于消费者来说,则在上移动梦网时能够非常直观地享受新增的许多免费项目。

 “事实上,我们认为这是中国移动对自己将与CP、SP继续合作,继续在移动增值业务产业链共赢的一个承诺兑现。”咨询公司BDA中国咨询部经理张宇表示,这对正处在水深火热之中的SP们无疑是一大利好消息。

深度分析数据库的热点块问题

作者:biti_rainy (出处)

热点块的定义

数据库的热点块,从简单了讲,就是极短的时间内对少量数据块进行了过于频繁的访问。定义看起来总是很简单的,但实际在数据库中,我们要去观察或者确定热点块的问题,却不是那么简单了。要深刻地理解数据库是怎么通过一些数据特征来表示热点块的,我们需要了解一些数据库在这方面处理机制的特性。

数据缓冲区的结构

我们都知道,当查询开始的时候,进程首先去数据缓冲区中查找是否存在查询所需要的数据块,如果没有,就去磁盘上把数据块读到内存中来。在这个过程中,涉及到数据缓冲区中LRU链的管理(8i开始以接触点计数为标准衡量buffer冷热从而决定buffer是在LRU的冷端还是热端),关于这部分内容,从oracle concepts 中就能得到详尽的文档,我不准备去论述这部分内容,这也不是本文的重点。现在我们的重点是,到底进程是如何地去快速定位到自己所想要的block的,或者如何快速确定想要的block不在内存中而去进行物理读的。

我们仔细想一想,随着硬件的发展,内存越来越大,cache buffer也越来越大,我们如何才能在大量的内存中迅速定位到自己想要的block?总不能去所有buffer中遍历吧!在此数据库引出了hash的概念(oracle中快速定位信息总是通过hash算法的,比如快速定位sql是否在shared pool size中存在就是通过hash value来定位的,也就是说shared pool size中对象也是通过hash table来管理的),了解一点数据结构的基本知识就知道,hash 的一大重要功能就是快速地查找。举个最简单的例子,假设我们有一个hash table 就是一个二维数组a[200][100],现在有1000个无序数字,我们要从这1000个数字里面查找某个值是否存在,或者说当我们接收到某个数字的时候必须判断是否已经存在,当然,我们可以遍历这1000个数字,但这样的效率就很低。但现在我们考虑这样一种方法,那就是把1000个数字除以200,根据其余数,放在a[200][100]里面(假设相同余数的最大数量不超过100),余数就是数组的下标。这样,平均来说一个数组a[i]里面可能有5个左右的数字。当我们要去判别一个数字是否存在的时候,对这个数字除以200(这就是一个最简单的hash算法),根据余数i作为下标去数组a[i]中查找,大约进行5次查找就能判别是否已经存在,这样通过开辟内存空间a[200][100]来换取了时间(当然hash 算法的选取和hash table的大小是一个很关键的问题)。

明白了基本的hash原理之后,我们再来看oracle的block的管理。数据库为这些block也开辟了hash table,假设是a,则在一维上的数量是由参数_db_block_hash_buckets 来决定的,也就是存在hash table a[_db_block_hash_buckets ],从oracle8i开始,_db_block_hash_buckets =db_block_buffers*2。而一个block被放到哪个buckets里面,则是由block的文件编号、块号(x$bh.dbarfl、x$bh.dbablk对应了block的文件属于表空间中的相关编号和block在文件中的编号,x$bh是所有cache buffer的header信息,通过表格的形式可以查询)做hash 算法决定放到哪个bucket的,而bucket里面就存放了这些buffers的地址。这样当我们要访问数据的时候,可以获得segment的extent(可以通过dba_extents查到看,详细的信息来源这里不做探讨),自然知道要访问的文件编号和block编号,根据文件和block编号可以通过hash算法计算出hash bucket,然后就可以去hash bucket里面去找block对应的buffer。

证明truncate发出了可观察的commit命令

作者:biti_rainy (出处)

一般来说,我们通常认为,truncate 的伪代码是:

commit; ---------- 1
truncate;
commit; ------------ 2

那我们有个疑问,commit 1和 truncate 是不可分割的吗?具有原子性吗?那我们来看看下面的演示

session 1:
SQL> create table t as select * from all_objects where rownum < 11;

Table created.

SQL> delete from t where rownum = 1;

1 row deleted.

SQL>



session 2:

SQL> lock table t in exclusive mode;



很明显,session 2 在这里被hang住了


session 1:

SQL> create table t as select * from all_objects where rownum < 11;

Table created.

SQL> delete from t where rownum = 1;

1 row deleted.

SQL> commit;

Commit complete.

SQL>


再看 session 2

SQL> lock table t in exclusive mode;

Table(s) Locked.

SQL>


加锁成功

这时我们再在 session 1上执行delete操作

session 1:

SQL> create table t as select * from all_objects where rownum < 11;

Table created.

SQL> delete from t where rownum = 1;

1 row deleted.

SQL> commit;

Commit complete.

SQL> delete from t where rownum = 1;


这时被阻塞了


接下来我们去 session 2中去尝试truncate

session 2:

SQL> lock table t in exclusive mode;

Table(s) Locked.

SQL> truncate table t;
truncate table t
*
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified


SQL>

发现truncate 失败,切到 session 1 看看
SQL> create table t as select * from all_objects where rownum < 11;

Table created.

SQL> delete from t where rownum = 1;

1 row deleted.

SQL> commit;

Commit complete.

SQL> delete from t where rownum = 1;

1 row deleted.

SQL>


    发现 session 1的删除居然成功了,而session 2的truncate 却失败了。这说明,当 session 2 truncate发出commit 1 之后,还没有执行truncate,在这之前session 1的delete操作由于是被 lock table 阻塞但是时间却在 truncate 之前,所以在这个间歇中 session 抢在了前面,从而导致 truncate 失败。

    其实之所以要做这个测试,也不纯粹是无聊,是因为我们有一个程序,需要首先truncate一个表,然后另一个进程去做一些数据的操作,如果truncate失败则后续的操作就有问题,但是truncate失败却不能阻止后面的进程的操作。当时我在想能否在truncate之前使用lock  table 去加锁,直到其他进程dml完毕这个进程获得了独占表锁然后truncate,看看这样是否可行。结果很遗憾,我的测试结果发现这个想法是不大现实的。 

在线日志文件损坏与ora-600 [4000]处理

作者: logzgh (出处)

这次又是一台机器上面有两个实例A和B。又是由于非当前的在线日志文件的状态是处于closed状态的(裸设备),于是dba将A节点的非当前在线日志文件填加到了B节点上面去了,于是在A节点日志发生切换时,导致了当前在线日志文件损坏。

一般情况下当前在线日志文件损坏也是还好处理的,但是这次却是较为复杂。。。。

系统环境:aix p550,oracle 9206

首先检查v$datafile_header,发现checkpoint_change#都是一致的。

于是按着一般的当前在线日志文件损坏步骤处理:

增加下列参数至Oracle启动文件:

_allow_resetlogs_corruption=TRUE

_corrupted_rollback_segments=(list of all your rollback segments)
注释掉启动文件中的rollback_segments参数或undo_tablespaces参数

startup mount
recover database until cancel
alter database open resetlogs;

一般情况下,open resetlogs后最容易出现的600号错误为ora-600 [2662]和ora-600 [2256]。这两个错误也相对来说好处理一些,只需要采用10015事件adjust scn号即可。

但是这次我却是碰到了ora-600 [4000]号错误。

Errors in file /home/oracle/app/oracle/admin/test/udump/test_ora_2838638.trc:
ORA-00704: bootstrap process failure
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [4000], [46], [], [], [], [], [], []
Mon Aug 14 15:05:31 2006
Error 704 happened during db open, shutting down database
USER: terminating instance due to error 704
Instance terminated by USER, pid = 2838638

metalink上对该错误的解释是:

DESCRIPTION:

This has the potential to be a very serious error.

It means that Oracle has tried to find an undo segment number in the
dictionary cache and failed.

ARGUMENTS:
Arg [a] Undo segment number

FUNCTIONALITY:
KERNEL TRANSACTION UNDO

IMPACT:
INSTANCE FAILURE - Instance will not restart
STATEMENT FAILURE


由于一开始_corrupted_rollback_segments里面只是列到_syssmu20$,于是将它列到_syssmu60$。重试后还是报这个错。

增加10513事件,禁止smon进程回滚,结果还是一样。

在600号的Trace文件中有:

ORA-00600: internal error code, arguments: [4000], [46], [], [], [], [], [], []
Current SQL statement for this session:
select ctime, mtime, stime from obj$ where obj# = :1

于是我怀疑会不会是undo$基表中没有46号回滚段的信息?

采用bbed检查undo$表格,发现里面是有这个回滚段的信息。

于是我想这个错误是出现在访问obj$基表上面,也就是说该表格的scn号与系统当前的scn号是不一致的。于是我想偿试修改该块的scn号。依然采用bbed,偿试修改该块的scn号。修改后,结果还是一样的。

于是我想应该是obj$基表上还有一个未提交的事务。于是继续查看trace文件,发现如下信息:

Itl Xid Uba Flag Lck Scn/Fsc 0x01 0x002e.025.00005b2c 0x00800f78.080c.01 --U- 1 fsc 0x0000.c5b527cf

data_block_dump,data header at 0x700000001f6e044
===============
tsiz: 0x1fb8
hsiz: 0xea
pbl: 0x700000001f6e044
bdba: 0x0040007a
76543210
flag=--------

很明显,是有一个未提交的事务,于是我就偿试用bbed修改该事务的状态,将该事务改成提交状态。

首先找到itl信息:find /x 00005b2c,找到flag状态,现在其状态是20,也就是未提交,将之修改为80(提交状态),并修改checkval。

之后去掉所有隐含参数,正常启动数据库,发现后台报出了ora-600[2662]错误。哈哈,事情至此就好办了,采用10015 adjust scn号,正常启动数据库:

Mon Aug 14 15:47:23 2006
Completed: ALTER DATABASE OPEN
Mon Aug 14 15:47:23 2006
Fatal internal error happened while SMON was doing active transaction recovery.
Mon Aug 14 15:47:23 2006
Errors in file /home/oracle/app/oracle/admin/test/bdump/test_smon_2293872.trc:
ORA-00600: internal error code, arguments: [ktpridestroy2], [], [], [], [], [], [], []
SMON: terminating instance due to error 600
Instance terminated by SMON, pid = 2293872

从这块日志可以看出数据库正常启动后,马上因为smon回滚又导致了实例宕下来。

增加10513事件,启动数据库,一切正常。

想drop tablespce undotbs1,但是报出59号回滚段还有active事务无法删除。

于是增加_corrupted_rollback_segments参数,将数据库启来,新建一个回滚表空间,将原来的回滚表空间重建后,一切正常。

令理科生失去理智的几份答卷……

1.展开方程

(老师还批注:very funny,peter!)

2.“找出”X



3.极限



4.约分



5.无语

(原文出处)

Windows下Chcp命令的用法

顯示作用中主控台字碼頁的頁碼,或變更主控台的使用中字碼頁。若不使用參數而單獨使用此命令,chcp 會顯示使用中之主控台字碼頁的頁碼。

Syntax

chcp [NNN]

Parameters

NNN

指定字碼頁。下表列出支援的所有字碼頁,及其國家 (地區) 或語言:

字碼頁 國家 (地區) 或語言

437

美國

850

多語言系統 (拉丁 I)

852

斯拉夫文 (拉丁文 II)

855

古斯拉夫文 (俄文)

857

土耳其文

860

葡萄牙文

861

冰島文

863

加拿大法語區

865

日耳曼文

866

俄文

869

現代希臘文

/?

在命令提示字元上顯示說明。

Remarks

在使用「點陣」字型的命令提示字元視窗中,僅有與 Windows XP 一起安裝的原始設備廠商 (OEM) 字碼頁可正確顯示。其他字碼頁則必須在全螢幕模式或使用 TrueType 字型的命令提示字元視窗中才會正確地顯示。

在 MS-DOS 中無需準備字碼頁。

指派新字碼頁之後啟動的程式使用新字碼頁,但指派新字碼頁之前啟動的程式 (Cmd.exe 除外) 則會使用原來的字碼頁。

Examples

若要檢視使用中的字碼頁設定,請輸入:

chcp

與下面相似的訊息出現:

Active code page: 437

若要將使用中的字碼頁變更為 850 (多語言系統),請輸入下列命令:

chcp 850

如果指定的字碼頁無效,會出現下列錯誤訊息:

Invalid code page

中国互联网协会今日正式公布了最终版本的“恶意软件”定义。自11月8日“恶意软件定义”征求意见稿出台后,协会共收到8500多条反馈意见,将其归纳为50条后进行了讨论。

经反恶意软件协调工作组讨论确定,恶意软件是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵害用户合法权益的软件,但不包含我国法律法规规定的计算机病毒。

具有下列特征之一的软件可以被认为是恶意软件:

1.强制安装:指未明确提示用户或未经用户许可,在用户计算机或其他终端上安装软件的行为。
2.难以卸载:指未提供通用的卸载方式,或在不受其他软件影响、人为破坏的情况下,卸载后仍然有活动程序的行为。
3.浏览器劫持:指未经用户许可,修改用户浏览器或其他相关设置,迫使用户访问特定网站或导致用户无法正常上网的行为。
4.广告弹出:指未明确提示用户或未经用户许可,利用安装在用户计算机或其他终端上的软件弹出广告的行为。
5.恶意收集用户信息:指未明确提示用户或未经用户许可,恶意收集用户信息的行为。
6.恶意卸载:指未明确提示用户、未经用户许可,或误导、欺骗用户卸载其他软件的行为。
7.恶意捆绑:指在软件中捆绑已被认定为恶意软件的行为。
8.其他侵害用户软件安装、使用和卸载知情权、选择权的恶意行为。

互联网协会称,“‘恶意软件定义’是中国互联网协会反恶意软件协调工作组成员单位和社会各界达成的共识,因此这一定义具有代表性和权威性。”

反恶意软件协调工作组成员单位代表纷纷表示,将率先按照这一定义规范自己的服务,在相关互联网服务当中发挥表率作用。

反恶意软件协调工作组成立于10月26日,其成员单位包括新浪、网易、雅虎(中国)、奇虎等。((记者 刘育英 来源))

配置了网络服务之后,关注一下哪些端口在监听系统的网络接口这一点很重要。任何打开的端口都可能是入侵的证明。

要列举正在监听网络的端口,有两种基本方法。一种不太可靠的方法是通过键入 netstat -an 或 lsof -i 之类的命令来查询网络堆栈。这种方法之所以不太可靠是因为这些程序不连接网络上的机器,而是查看系统上在运行什么。因此,它们频繁成为攻击者的替换目标。怪客在打开了未经授权的网络端口后,就以这种方法来企图掩盖他们的踪迹。

更可靠的方法是使用 nmap 之类的端口扫描器来检查哪些端口正在监听网络。

以下从控制台发出的命令会判定哪些端口在监听来自网络上的 TCP 连接:

nmap -sT -O localhost

该命令的输出和以下相似:

Starting nmap V. 3.00 ( www.insecure.org/nmap/ ) Interesting ports on localhost.localdomain (127.0.0.1): (The 1596 ports scanned but not shown below are in state: closed) Port State Service 22/tcp open ssh 111/tcp open sunrpc 515/tcp open printer 834/tcp open unknown 6000/tcp open X11 Remote OS guesses: Linux Kernel 2.4.0 or Gentoo 1.2 Linux 2.4.19 rc1-rc7)

Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds


该输出显示了由于 sunrpc 服务的存在,系统正在运行 portmap。然而,端口834上还有一个神秘服务。要查看一下该端口是否和任何已知服务相关,键入:

cat /etc/services | grep 834

该命令没有返回任何输出。这表明虽然该端口是在保留范围内(即从0到1023内),并且需要根权限才能打开,它并没有关联任何已知服务。

Linux中如何替换文件名中的空格

用 tr :

find . -type f -name "* *" -print |
while read name; do
na=$(echo $name | tr ' ' '_')


if [[ $name != $na ]]; then
mv "$name" $na
fi
done

记录一下备忘。

-The End-

假设Linux系统中有一个文件名叫“-ee”,如果我们想对它进行操作,例如要删除它
按照一般的删除方法在命令行中输入rm -ee命令,界面会提示我们是“无效选项”(invalid option)

原来由于文件名的第一个字符为“-”,Linux把文件名当作选项了
我们可以使用“--”符号来解决这个问题,输入“rm -- -ee”命令便可顺利删除名为“-ee”的文件。

如果是其他特殊字符的话可以在特殊字符前加一个“”符号,或者用双引号把整个文件名括起来。

  11月9日傍晚,华友世纪正式确认1800万元入股鸟人艺术公司。据了解,华友世纪通过旗下公司华友数码传媒收购,来完成对鸟人艺术30%股份的收购。

  鸟人艺术是旗下拥有庞龙等著名的网络歌手。华友世纪称,一年后视鸟人艺术的业绩进行追加投资。

  据透露,在未来一年内,华友数码传媒将获得除彩铃外鸟人艺术所有版权作品的独家使用权。华友数码传媒CEO杨浩宇和总裁吴锋将出任鸟人艺术董事,而董事长一职将由鸟人艺术总经理周亚平出任。

  成立于1994年底的鸟人艺术,旗下目前汇集了庞龙、南合文斗、常海、大麦、韩东、花泽冰、牛朝阳、张拉拉、张真贺等数十位知名歌手,拥有包括《两只蝴蝶》、《你是我的玫瑰花》等录音录像制品、影视作品的版权资料库。

  此前,庞龙的《两只蝴蝶》曾创造单月彩铃下载量500万次的纪录,更有数据称《两只蝴蝶》目前已超过亿次的下载量。而庞龙的另一首歌《你是我的玫瑰花》曾连续12期稳居中国移动无线音乐排行榜销量冠军。

  华友世纪此前曾经和鸟人艺术在业务上有过很多合作,双方曾共同推出国内第一张手机唱片《你是我的玫瑰花》。

  在这之前,华友世纪已经多次投资传统唱片公司。2005年11月14日,华友世纪6000万元收购飞乐唱片60%股份,首次涉足传统唱片领域。同年12月12日,华友世纪3500万元控股华谊兄弟音乐。(网易科技 刘阳

七、酒与污水定律
  酒与污水定律是指,如果把一匙酒倒进一桶污水中,你得到的是一桶污水;如果把一匙污水倒进一桶酒中,你得到的还是一桶污水。几乎在任何组织里,都存在几个难弄的人物,他们存在的目的似乎就是为了把事情搞糟。他们到处搬弄是非,传播流言、破坏组织内部的和谐。最糟糕的是,他们像果箱里的烂苹果,如果你不及时处理,它会迅速传染,把果箱里其它苹果也弄烂,"烂苹果"的可怕之处在于它那惊人的破坏力。一个正直能干的人进入一个混乱的部门可能会被吞没,而一个人无德无才者能很快将一个高效的部门变成一盘散沙。组织系统往往是脆弱的,是建立在相互理解、妥协和容忍的基础上的,它很容易被侵害、被毒化。破坏者能力非凡的另一个重要原因在于,破坏总比建设容易。一个能工巧匠花费时日精心制作的陶瓷器,一头驴子一秒钟就能毁坏掉。

  如果拥有再多的能工巧匠,也不会有多少像样的工作成果。如果你的组织里有这样的一头驴子,你应该马上把它清除掉;如果你无力这样做,你就应该把它拴起来。

八、华盛顿合作规律
  华盛顿合作规律说的是:一个人敷衍了事,两个人互相推诿,三个人则永无成事之日。多少有点类似于我们"三个和尚"的故事。人与人的合作不是人力的简单相加,而是要复杂和微妙得多。在人与人的合作中,假定每个人的能力都为1,那么10个人的合作结果就有时比10大得多,有时甚至比1还要小。因为人不是静止的动物,而更像方向各异的能量,相推动时自然事半功倍,相互抵触时则一事无成。我们传统的管理理论中,对合作研究得并不多,最直观的反映就是,目前的大多数管理制度和行业都是致力于减少人力的无谓消耗,而非利用组织提高人的效能。换言之,不妨说管理的主要目的不是让每个人做到最好,而是避免内耗过多。21世纪将是一个合作的时代,值得庆幸的是,越来越多的人已经认识到真诚合作的重要性,正在努力学习合作。

  邦尼人力定律:一个人一分钟可以挖一个洞,六十个人一秒种却挖不了一个洞。

  合作是一个问题,如何合作也是一个问题。

四、不值得定律
  不值得定律最直观的表述是:不值得做的事情,就不值得做好,这个定律似乎再简单不过了,但它的重要性却时时被人们疏忘。不值得定律反映出人们的一种心理,一个人如果从事的是一份自认为不值得做的事情,往往会保持冷嘲热讽,敷衍了事的态度。

  不仅成功率小,而且即使成功,也不会觉得有多大的成就感。

  哪些事值得做呢?一般而言,这取决于三个因素。

  1、价值观。关于价值观我们已经谈了很多,只有符合我们价值观的事,我们才会满怀热情去做。

  2、个性和气质。一个人如果做一份与他的个性气质完全背离的工作,他是很难做好的,如一个好交往的人成了档案员,或一个害羞者不得不每天和不同的人打交道。

  3、现实的处境。同样一份工作,在不同的处境下去做,给我们的感受也是不同的。例如,在一家大公司,如果你最初做的是打杂跑腿的工作,你很可能认为是不值得的,可是,一旦你被提升为领班或部门经理,你就不会这样认为了。

  总结一下,值得做的工作是:符合我们的价值观,适合我们的个性与气质,并能让我们看到期望。如果你的工作不具备这三个因素,你就要考虑换一个更合适的工作,并努力做好它。

  因此,对个人来说,应在多种可供选择的奋斗目标及价值观中挑选一种,然后为之而奋斗。"选择你所爱的,爱你所选择的",才可能激发我们的奋斗毅力,也才可以心安理得。而对一个企业或组织来说,则要很好地分析员工的性格特性,合理分配工作,如让成就欲较强的职工单独或牵头来完成具有一定风险和难度的工作,并在其完成时给予定时的肯定和赞扬;让依附欲较强的职工更多地参加到某个团体中共同工作;让权力欲较强的职工担任一个与之能力相适应的主管。同时要加强员工对企业目标的认同感,让员工感觉到自己所做的工作是值得的,这样才能激发职工的热情。

一、墨菲定律
  墨菲定律:事情如果有变坏的可能,不管这种可能性有多小,它总会发生。比如你衣袋里有两把钥匙,一把是你房间的,一把是汽车的,如果你现在想拿出车钥匙,会发生什么?是的,你往往是拿出了房间钥匙。

  "墨菲定律"产生于美国,据说事情发生在1949年。一位名叫墨菲的空军上尉工程师,认为他的某位同事是个倒霉蛋,不经意地说了句玩笑话:"如果一件事情有可能被弄糟。"这句笑话在美国迅速流传,并扩散到世界各地。在流传扩散的过程中,这句笑话逐渐失去它原有的局限性,演变成各种各样的形式,其中一个最通行的形式是:"如果坏事有可能发生,不管这种可能性多么小,它总会发生,并引起最大可能的损失。"

  这就是著名的"墨菲定律"。

  "墨菲定律"诞生于20世纪中叶,这正是一个经济飞速发展,科技不断进步,人类真正成为世界主宰的时代。在这个时代,处处弥漫着乐观主义的精神:人类取得了对自然、对疾病以及其他限制的胜利,并将不断扩大优势;我们不但飞上了天空,而且飞向太空……我们能够随心所欲地改造世界的面貌,这一切似乎昭示着:一切问题都是可以解决的。无论是怎样的困难和挑战,我们总能找到一种办法或模式战而胜之。

  正是这种盲目的乐观主义,使我们忘记了对于亘古长存的茫茫宇宙来说,我们的智慧只能是幼稚和肤浅的。世界无比庞大复杂。人类虽很聪明,并且正变得越来越聪明,但永远也不能彻底了解世间的万事万物。人类还有个难免的弱点,就是容易犯错误,永远会犯错误。正是因为这两个原因,世界上大大小小的不幸事故、灾难才得以发生。

  近半个世纪以来,"墨菲定律"曾经搅得世界人心神不宁,它提醒我们:我们解决问题的手段越高明,我们将要面临的麻烦就越严重。事故照旧还会发生,永远会发生。"墨菲定律"忠告人们:面对人类的自身缺陷,我们最好还是想得更周到、全面一些,采取多种保险措施,防止偶然发生的人为失误导致灾难和损失。归根到底,"错误"与我们一样,都是这个世界的一部分,狂妄自大只会使用使我们自讨苦吃,我们必须学会如何接受错误,并不断从中学习。

美国《信息周刊》日前刊文评出了有史以来最伟大的12款软件。结果,Unix操作系统脱颖而出,排名首位。

  据榜单显示,继Unix之后,Java语言排名第五;苹果Macintosh系统位居第八,而微软的Excel电子表格和Google搜索分别列居第九和第十一位。

  有趣的是,1988年11月2日爆发的Morris蠕虫也榜上有名。当时,几天之内就有6000多台互联网服务器被感染而瘫痪,造成的经济损失超过一千万美元。

  以下为有史以来最伟大12款软件排名:

  1. Unix操作系统

  2. IBM System R-1983年以DB2的形式进入商业市场

  3.基因排序软件-美国基因组研究所(IGR)

  4. IBM System 360系统

  5. Java语言

  6. Mosaic浏览器-第一款图形界面浏览器

  7. Sabre系统-美国航空公司的信息查询系统

  8.苹果Macintosh系统

  9.微软Excel电子表格

  10.阿波罗宇宙飞船导航系统

  11.Google搜索排名

  12.Morris蠕虫-造成的经济损失超过1000万美元

2006.11.07 来自:北京娱乐信报

10月的最后一天,针对通过网络非法提供电影、音乐、软件和教科书下载的侵权执法行动,有关职能部门发起了一场空前严厉的打击行动。昨天,记者从北京市版权局管理处了解到,此次由国家版权局在全国开展打击网络侵权盗版专项行动涉及的诸多细节,发现不仅涉及互联网企业,和不少网民也有切身关系。

核心提示--个人不营利也不免责

此次专项行动自10月31日起,依照规定将在3个月之内即明年1月31日处理完。根据此次行动方案要求,凡是提供非法下载活动的网站一律属于清理整顿的范围(未再细分各种不同情况)。故而在执法中,只要网站有非法下载的都列入治理对象,不考虑是通过什么方式下载。无论是个人网站、BT还是P2P,或博客非法提供下载都一样。因此,个人在自己的网站或提供P2P下载的无版权电影种子属侵权内容,同样要对版权方造成的经济损失予以赔偿。

连续几天的大风降温,在给北京带来寒意的同时,似乎预示着SP市场的整顿将更加严厉。昨天,信产部对此前治理和规范移动信息服务业务资费和收费行为专项活动的情况进行了通报,并公布了部分多次违规企业的名单,其中腾讯、Tom、华友世纪以及空中网等大型SP,均未能逃脱被整顿的“厄运”。

微软的Windows Defender正式版发布

微软反间谍程序Windows Defender将可供Windows XP及Windows 2003使用者免费下载,并将内建在微软最新操作系统Windows Vista中。

微软在周二(10/24)发表了反间谍程序Windows Defender正式版,并提供Windows XP及Windows 2003的使用者免费下载。

Windows Defender是微软在2004年并购 GIANT Company Software后所开发的产品,它将内建在微软最新操作系统Windows Vista中。

微软在今年2月推出了Windows Defender beta 2。微软指出,Windows Defender beta 2被下载了3400万次,而正式版则修补了测试版中约400个臭虫,并改善了侦测能力,能自动清除间谍程序,以及支持64位的Windows XP版本。

Windows Defender将可供Windows XP及Windows 2003使用者免费下载,并提供使用者两次的电话技术支持服务,目前仅有英文版,但微软预计很快就会发表支持其它语系的版本。

微软进军安全市场早就对资安业者产生不小的威胁,这也使得过去原本是微软合作伙伴的资安业者近来频频对微软展开攻击,例如赛门铁克就曾发表报告指 出微软最新操作系统Vista不够安全,而赛门铁克及McAfee也不断抗议微软64位的Vista核心会阻挡其它业者推出的安全程序,而此次 Windows Defender免费版本的出炉,也让微软及其它资安业者的竞争关系更为激烈,因为包括赛门铁克及McAfee的反间谍程序软件都是要付费的。

微软亦首次在周二发表了Windows Defender的使用结果,指出在推出Windows Defender beta 2的前三个月中,该产品总计侦测到2200万的广告或间谍程序,使用者约执行了1400万次的移除程序。

微软指出,根据统计,有逾6成的Windows Defender使用者在广告程序提供移除选项时,选择了移除广告程序。

此外,在今年4月至6月间,Windows Defender Beta 2总计移除了2849种的广告程序、间谍程序及木马下载程序等使用者不经意下载的应用程序。

Pages

Powered by Movable Type 6.3.2

About this Archive

This page is an archive of entries from November 2006 listed from newest to oldest.

October 2006 is the previous archive.

December 2006 is the next archive.

回到 首页 查看最近文章或者查看所有归档文章.