关于作者

姓名:

性别:男

出生日期:--

地区:

联系电话:

QQ:--

婚否:保密
用户名:huhu2k
笔名:huhu2k
地区:
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



Friendship

相册

City Weather

SETI@Home

访问统计:
文章个数:127
评论个数:19
留言条数:11




Powered by BlogDriver 2.1

花花蝴蝶和雨蝶的小窝

 

房间男主人名叫花花蝴蝶,女主人名叫雨蝶,西安人,最近热衷于评论数码相机,特此建立此博客!

文章

超强转贴:找MP3歌曲不求人。(作者:百氏)
超强转贴:找MP3歌曲不求人。(作者:百氏)

分享找歌不求人 ...... [强烈要求 加精华] ZT

好东东大家一起分享啊 ....值得收藏 ....
很多朋友听到或者有自己喜欢的歌,又不想因为一首歌去买张CD,同时现在网络上的资源真是太丰富了,收藏好歌网上可是大把大把哦,嘻嘻,可是又苦恼我怎么就找不到歌呢?下面就介绍一点找歌的小窍门给大家,希望能帮到大家哦~:)

一、利用现有的mp3网站:

音乐极限: http://www.chinamp3.com/
九天音乐: http://www.9sky.com/ (已经收费,但有些可以试听)
嘎雅音乐 http://gaea.hit.edu.cn/index.asp
大陆MP3音乐超市 http://cdjmp3.com/default.asp 简单免费注册

二、利用mp3娱乐搜索引擎。 所谓的娱乐搜索引擎主要指:

百度 http://www.baidu.com
搜瓜 http://www.sogua.com
英国singingfish http://members.lycos.co.uk/liyunbo1590/
iuma http://www.iuma.com/
mp3int http://www.mp3int.com/eng/index.php
澳洲mp3 http://www.mp3.com.au/music/tracks/0/page1.asp
mp3raid http://www.mp3raid.com/
mp3dimension http://www.mp3dimension.com/
grammy http://www.grammy.ru/intl/ru/mp3/index.htmF7F50
里面的歌曲搜索功能非常好用...加上“歌曲名+歌手名+mp3”在网页搜索中查找,基本上能找到你要下载的歌曲的!

三、直接用搜索引擎

http://www.google.com

http://www.baidu.com

http://www.sina.com.cn

http://www.yahoo.com.cn

http://www.21cn.com


里面网页搜索,直接输入你需要的东西,一般都会有收获的,不过这样较费时间,很可能有许多错误链接,但如果你实在太渴望得到它,执著点也没有坏处!

四、利用P2P软件查找别人机上共享的音乐。

其实,通过一些软件,我们可以更快地找到自己想要的歌曲,这一点,很多刚开始找歌的朋友是不知道的。 下面推荐几个不错的找歌软件。

KaZaA

可以找到一些非常偏的英文歌曲哦,非常不错的。(强烈推荐)
http://www.skycn.com/soft/1255.html

WinMX(繁体) winmx是一个文件共享软件。

除了能够让你共享mp3和其他类型的文件,winmx同时还能够让你连接上许多预先确定的基于opennap与napster协议的网络。该软件还能够让你利用庞大的用户基础获得更多的搜索结果。winmx支持各种文件格式,能够让你是用多种分类共享视频和图像文件。很多人对这个软件的口碑都不错。可以找到很多非常新的歌,是我在香港的一位同学强烈推荐我使用的。是下载欧美音乐的上佳软件,winMX的用户遍布世界,大多数是国外用户,我就下了不少国内没有的Vedio鸵恍┎淮笾侄拥母?还可搜索到高品质的MP3,而且它完全免费,使用设置简单。缺点:太偏的乐队很难找到.
http://www.winmx.com/

http://download.pchome.net/internet/sharing/11922.html

http://www8.pconline.com.cn/download/swdetail.phtml?id=4504

百宝

可以搜索中文,但歌曲资源不能说非常丰富,但还是挺有用的,也推荐大家用用。
以下是太平洋网站的评价:百宝把风靡全世界的点对点技术带给了国内互联网用户,只要你安装运行了百宝,就能得到网络里面几乎无穷的音乐、Flash、电影等多媒体资源,令你的带宽得到最最充分的利用。百宝的使用非常简单方便,只要稍微尝试就能轻易上手,用过之后更会令你爱不释手。相信百宝会成为以后你电脑里面必装的软件。百宝里面还加入了互联网音乐搜索引擎,光凭这点,百宝可能已经成为互联网上能找到最多中文音乐资源的免费软件!无论你是怀旧的老歌迷,还是潮流一族,百宝里面一定有你喜欢的音乐.
http://www8.pconline.com.cn/download/swdetail.phtml?id=9365

Flashlocator:

http://www.flashlocator.com/cn/index.htm
该软件内建网络上大型的mp3搜索引擎的查寻,只要在软件查询栏中打入要搜索的mp3歌名或者歌手名,选择要使用的收缩引擎,它就会自动连上去查询,生成项目列表。可以选择查询后自动或者手动的校验地址,然后清除死链接。

Ezpeer:

http://202.105.43.155/ezpage/download/ez_setup1521.exe
通过这个软件,你可以从别人的硬盘的共享夹中搜索到你寻找的东东,并且下载。ezpeer内置聊天室、寻呼器以及一些精彩的mp3网址,方便网友间交流。更重要的是,它的使用者以台湾同胞为主。

reallink

国内做的p2p软件,全中文的界面
缺点:这类通俗软件大部分的开发平台都是基于98的,对xp和2k都支持的不是很好
详细使用及下载见
http://www.cnverysoft.com

kazaa

界面整洁,不错的一个p2p软件.
http://www.kazaa.com/us/index.ht ... .com/soft/1255.html

emule

是以 edonkey2000 网络为基础的新型 p2p 文件分享工具,不但提供了所有 edonkey 的标准功能,还提供了许多额外的功能,而受到许多网友的喜爱!
http://www.emule-project.net

听歌,下歌经典网址大全

 

这个可不是教程了,嘻嘻,都是现在国内比较热门的一些音乐网站、歌词查找网站和一些特色音乐网站,提供给大家做为参考,如果大家还有一些非常棒的音乐网站,我这上面没有收录的,也希望能发短讯通知我,我会添加在上面让大家共享,谢谢!

**************综合MP3下载网站**************
★搜刮网
www.sogua.com
★音乐极限
www.chinamp3.com

*************欧美歌曲下载网站***************
http://www.21century-mp3.com/
http://www.mp3speed.nu/
http://www.dizzyweb.net/hitxplosion/index.php

**************日韩歌曲下载网站**************
http://www.jpopwind.com

**************中国音乐门户网站***************
★九天音乐 www.9sky.com
★Boxup Music www.boxup.com
★中国乐坛 www.cmusic.com.cn
★久久音乐 www.99music.net
★飞蛾来中文音乐网 www.sailingmoon.com
★美视妙乐网 影视原声 www.m4mu.com
★音乐节拍★ www.xz.jsinfo.net/Music
★易乐网 www.eachappy.com
★Xuxule www.xuxule.com
★网络音乐频道★ www.mp3.attin.com
★中文网络音乐资源中心 www.topmusic.net.cn
★中国音乐网 www.cnmusic.com
★中国音乐库 www.5460m.net
★顺意网音乐无限 www.shune.com/mp3
★自由mp3联盟 www.mpfree.org
★音乐天籁村 www.mp3boat.com
★网蛙 www.wanwa.com
★一起音乐网 www.17music.net
★百姓音乐网 www.hfren.com/music
★中国原创音乐资讯网 www.cn1234567.com
★听听音乐网 www.ting365.com
★听吧音乐网 www.tingbar.com
★音乐无极限 www.limitlessmusic.net
★音乐守望者 www.musiccatcher.net
★中华好歌网★ www.haoge-china.com

**************其它各类音乐网址***************
【银河民歌世代 民歌】 www.iwant-folk.com
【西洋音乐城】 www.iwant-show.com
【水晶官方网站】 www.crystaltaiwan.hypermart.net
【2001吉他网】 www.residence.educities.edu.tw/panyang
【TIMO爵士窟爵士】 www.timojazz.com
【PAZU儿歌网】 www.pazu.com
【中国武侠影视网武侠歌曲】 www.herolin.myrice.com
【经典武侠影视片头曲欣赏】 www.bailiconglin.edu.chinaren.com
【武之舞影视音乐】 www.wuzwu.my.west163.com wuzwu.myrice.com

**************歌詞查找网站***************
〓紫龙歌词库〓 中文歌词 www.person.zj.cninfo.net/~wucwww.51geci.com
〓吉吉歌词库〓 中文歌 www.gigilrc.net
〓放肆音乐通〓 中文歌 www.yemusic.com:81
〓碧海银沙站-歌词〓 中文歌 www.silversand.net/lyrics
〓龙脉在线之小鱼找歌词〓 中文歌词 www.zhaoge.21si.net
〓Best Song Lyrics〓 英文歌词 www.lyrics.platomic.com/index1.html
〓Sing365.com〓 英文歌 www.sing365.com/index.html

**************MIDI音乐网址***************
≤天籁阁-MIDI下载≥ http://99mp3.com/midi.asp
≤非常男孩-midi音乐≥ http://www.veryboys.com/midi/
≤MIDI小屋 http://homemidi.myetang.com/midiyy/midiyy.htm
≤MIDI音乐≥ http://www.wcnw.net/midi/
≤MIDI音乐工作室 http://plm.myrice.com/
≤中国MIDI音乐网≥http://www.midicn.com/

- 作者: huhu2k 2006年02月22日, 星期三 01:02  回复(0) |  引用(1) 加入博采

超强转贴:找MP3歌曲不求人。(作者:百氏)
超强转贴:找MP3歌曲不求人。(作者:百氏)

分享找歌不求人 ...... [强烈要求 加精华] ZT

好东东大家一起分享啊 ....值得收藏 ....
很多朋友听到或者有自己喜欢的歌,又不想因为一首歌去买张CD,同时现在网络上的资源真是太丰富了,收藏好歌网上可是大把大把哦,嘻嘻,可是又苦恼我怎么就找不到歌呢?下面就介绍一点找歌的小窍门给大家,希望能帮到大家哦~:)

一、利用现有的mp3网站:

音乐极限: http://www.chinamp3.com/
九天音乐: http://www.9sky.com/ (已经收费,但有些可以试听)
嘎雅音乐 http://gaea.hit.edu.cn/index.asp
大陆MP3音乐超市 http://cdjmp3.com/default.asp 简单免费注册

二、利用mp3娱乐搜索引擎。 所谓的娱乐搜索引擎主要指:

百度 http://www.baidu.com
搜瓜 http://www.sogua.com
英国singingfish http://members.lycos.co.uk/liyunbo1590/
iuma http://www.iuma.com/
mp3int http://www.mp3int.com/eng/index.php
澳洲mp3 http://www.mp3.com.au/music/tracks/0/page1.asp
mp3raid http://www.mp3raid.com/
mp3dimension http://www.mp3dimension.com/
grammy http://www.grammy.ru/intl/ru/mp3/index.htmF7F50
里面的歌曲搜索功能非常好用...加上“歌曲名+歌手名+mp3”在网页搜索中查找,基本上能找到你要下载的歌曲的!

三、直接用搜索引擎

http://www.google.com

http://www.baidu.com

http://www.sina.com.cn

http://www.yahoo.com.cn

http://www.21cn.com


里面网页搜索,直接输入你需要的东西,一般都会有收获的,不过这样较费时间,很可能有许多错误链接,但如果你实在太渴望得到它,执著点也没有坏处!

四、利用P2P软件查找别人机上共享的音乐。

其实,通过一些软件,我们可以更快地找到自己想要的歌曲,这一点,很多刚开始找歌的朋友是不知道的。 下面推荐几个不错的找歌软件。

KaZaA

可以找到一些非常偏的英文歌曲哦,非常不错的。(强烈推荐)
http://www.skycn.com/soft/1255.html

WinMX(繁体) winmx是一个文件共享软件。

除了能够让你共享mp3和其他类型的文件,winmx同时还能够让你连接上许多预先确定的基于opennap与napster协议的网络。该软件还能够让你利用庞大的用户基础获得更多的搜索结果。winmx支持各种文件格式,能够让你是用多种分类共享视频和图像文件。很多人对这个软件的口碑都不错。可以找到很多非常新的歌,是我在香港的一位同学强烈推荐我使用的。是下载欧美音乐的上佳软件,winMX的用户遍布世界,大多数是国外用户,我就下了不少国内没有的Vedio鸵恍┎淮笾侄拥母?还可搜索到高品质的MP3,而且它完全免费,使用设置简单。缺点:太偏的乐队很难找到.
http://www.winmx.com/

http://download.pchome.net/internet/sharing/11922.html

http://www8.pconline.com.cn/download/swdetail.phtml?id=4504

百宝

可以搜索中文,但歌曲资源不能说非常丰富,但还是挺有用的,也推荐大家用用。
以下是太平洋网站的评价:百宝把风靡全世界的点对点技术带给了国内互联网用户,只要你安装运行了百宝,就能得到网络里面几乎无穷的音乐、Flash、电影等多媒体资源,令你的带宽得到最最充分的利用。百宝的使用非常简单方便,只要稍微尝试就能轻易上手,用过之后更会令你爱不释手。相信百宝会成为以后你电脑里面必装的软件。百宝里面还加入了互联网音乐搜索引擎,光凭这点,百宝可能已经成为互联网上能找到最多中文音乐资源的免费软件!无论你是怀旧的老歌迷,还是潮流一族,百宝里面一定有你喜欢的音乐.
http://www8.pconline.com.cn/download/swdetail.phtml?id=9365

Flashlocator:

http://www.flashlocator.com/cn/index.htm
该软件内建网络上大型的mp3搜索引擎的查寻,只要在软件查询栏中打入要搜索的mp3歌名或者歌手名,选择要使用的收缩引擎,它就会自动连上去查询,生成项目列表。可以选择查询后自动或者手动的校验地址,然后清除死链接。

Ezpeer:

http://202.105.43.155/ezpage/download/ez_setup1521.exe
通过这个软件,你可以从别人的硬盘的共享夹中搜索到你寻找的东东,并且下载。ezpeer内置聊天室、寻呼器以及一些精彩的mp3网址,方便网友间交流。更重要的是,它的使用者以台湾同胞为主。

reallink

国内做的p2p软件,全中文的界面
缺点:这类通俗软件大部分的开发平台都是基于98的,对xp和2k都支持的不是很好
详细使用及下载见
http://www.cnverysoft.com

kazaa

界面整洁,不错的一个p2p软件.
http://www.kazaa.com/us/index.ht ... .com/soft/1255.html

emule

是以 edonkey2000 网络为基础的新型 p2p 文件分享工具,不但提供了所有 edonkey 的标准功能,还提供了许多额外的功能,而受到许多网友的喜爱!
http://www.emule-project.net

听歌,下歌经典网址大全

 

这个可不是教程了,嘻嘻,都是现在国内比较热门的一些音乐网站、歌词查找网站和一些特色音乐网站,提供给大家做为参考,如果大家还有一些非常棒的音乐网站,我这上面没有收录的,也希望能发短讯通知我,我会添加在上面让大家共享,谢谢!

**************综合MP3下载网站**************
★搜刮网
www.sogua.com
★音乐极限
www.chinamp3.com

*************欧美歌曲下载网站***************
http://www.21century-mp3.com/
http://www.mp3speed.nu/
http://www.dizzyweb.net/hitxplosion/index.php

**************日韩歌曲下载网站**************
http://www.jpopwind.com

**************中国音乐门户网站***************
★九天音乐 www.9sky.com
★Boxup Music www.boxup.com
★中国乐坛 www.cmusic.com.cn
★久久音乐 www.99music.net
★飞蛾来中文音乐网 www.sailingmoon.com
★美视妙乐网 影视原声 www.m4mu.com
★音乐节拍★ www.xz.jsinfo.net/Music
★易乐网 www.eachappy.com
★Xuxule www.xuxule.com
★网络音乐频道★ www.mp3.attin.com
★中文网络音乐资源中心 www.topmusic.net.cn
★中国音乐网 www.cnmusic.com
★中国音乐库 www.5460m.net
★顺意网音乐无限 www.shune.com/mp3
★自由mp3联盟 www.mpfree.org
★音乐天籁村 www.mp3boat.com
★网蛙 www.wanwa.com
★一起音乐网 www.17music.net
★百姓音乐网 www.hfren.com/music
★中国原创音乐资讯网 www.cn1234567.com
★听听音乐网 www.ting365.com
★听吧音乐网 www.tingbar.com
★音乐无极限 www.limitlessmusic.net
★音乐守望者 www.musiccatcher.net
★中华好歌网★ www.haoge-china.com

**************其它各类音乐网址***************
【银河民歌世代 民歌】 www.iwant-folk.com
【西洋音乐城】 www.iwant-show.com
【水晶官方网站】 www.crystaltaiwan.hypermart.net
【2001吉他网】 www.residence.educities.edu.tw/panyang
【TIMO爵士窟爵士】 www.timojazz.com
【PAZU儿歌网】 www.pazu.com
【中国武侠影视网武侠歌曲】 www.herolin.myrice.com
【经典武侠影视片头曲欣赏】 www.bailiconglin.edu.chinaren.com
【武之舞影视音乐】 www.wuzwu.my.west163.com wuzwu.myrice.com

**************歌詞查找网站***************
〓紫龙歌词库〓 中文歌词 www.person.zj.cninfo.net/~wucwww.51geci.com
〓吉吉歌词库〓 中文歌 www.gigilrc.net
〓放肆音乐通〓 中文歌 www.yemusic.com:81
〓碧海银沙站-歌词〓 中文歌 www.silversand.net/lyrics
〓龙脉在线之小鱼找歌词〓 中文歌词 www.zhaoge.21si.net
〓Best Song Lyrics〓 英文歌词 www.lyrics.platomic.com/index1.html
〓Sing365.com〓 英文歌 www.sing365.com/index.html

**************MIDI音乐网址***************
≤天籁阁-MIDI下载≥ http://99mp3.com/midi.asp
≤非常男孩-midi音乐≥ http://www.veryboys.com/midi/
≤MIDI小屋 http://homemidi.myetang.com/midiyy/midiyy.htm
≤MIDI音乐≥ http://www.wcnw.net/midi/
≤MIDI音乐工作室 http://plm.myrice.com/
≤中国MIDI音乐网≥http://www.midicn.com/

- 作者: huhu2k 2006年02月22日, 星期三 01:01  回复(0) |  引用(1) 加入博采

鸟哥正規表示法
  正规表示法 Regular Expression, RE

正规表示法(或称为常规表示法)是透过一些特殊字符的排列,用以 搜寻/取代/删除 一列或多列文字字符串, 简单的说,正规表示法就是用在字符串的处理上面的一项『表示式』。正规表示法并不是一个工具程序, 而是一个字符串处理的标准依据,如果您想要以正规表示法的方式处理字符串,就得要使用支持正规表示法的工具程序才行, 这类的工具程序很多,例如 vi, sed, awk 等等。

正规表示法对于系统管理员来说,实在是很重要。因为系统会产生很多的讯息,这些讯息有的重要,有的仅是告知, 此时,管理员可以特过正规表示法的功能来将重要讯息撷取出来,并产生便于查阅的报表,简化管理流程。此外, 很多的软件包也都支持正规表示法的分析,例如邮件服务器的过滤机制(过滤垃圾信件)就是很重要的一个例子。 所以,您最好要了解正规表示法的相关技能,在未来管理主机时,才能够更精简处理您的日常事务!

注:本章节使用者需要多加练习,因为目前很多的套件都是使用正规表示法来达成其『过滤、分析』的目的, 为了未来主机管理的便利性,使用者至少要能看的懂正规表示法的意义!  


1. 前言:
2. 基础正规表示法:
  2.1 以 grep 撷取字符串
  2.2 重要特殊字符(characters)
3. 延伸正规表示法:
4. 格式化打印: printf
5. sed 工具简介
6. awk 工具简介
7. 文件数据比对与打印的相关功能
  7.1 档案比对: diff, cmp, patch
  7.2 档案打印准备: pr
8. 重点回顾
9. 参考资源
10.本章习题练习


--------------------------------------------------------------------------------
前言

约略了解了 Linux 的基本指令 ( Shell ) 并且熟悉了 vi 之后,相信您对于敲击键盘与指令比较不陌生了吧?? 接下来,底下要开始介绍一个很重要的观念,那就是所谓的『正规表示法』啰!


--------------------------------------------------------------------------------
什么是正规表示法

任何一个有经验的系统管理员,都会告诉您:『正规表示法真是挺重要的!』 为什么很重要呢?因为日常生活就使用的到啊!举个例子来说, 在您日常处理文书作业时,应该会常常使用到『搜寻/取代』等等的功能吧? 这些举动要作的漂亮,就是正规表示法的工作了!

简单的说,正规表示法就是处理字符串的方法,他是以行为单位, 来进行字符串的处理行为,他透过一些特殊符号的辅助,可以让使用者轻易的达到 搜寻/取代 某特定字符串的处理程序!

举例来说,我要找到 VBird 或 Vbird 这个字样,但是不要其它的字符串,该如何办理? 如果在没有正规表示法的环境中(例如 MS word),您或许就得要使用忽略大小写的办法, 或者是分别以 VBird 及 Vbird 搜寻两遍。但是,忽略大小写可能会搜寻到 VBIRD/vbird/VbIrD 等等的不需要的字符串,而造成使用者的困扰。

再举个系统常见的例子好了,假设妳发现系统在开机的时候,老是会出现一个关于 mail 程序的错误, 而开机过程的相关程序都是在 /etc/rc.d/ 底下,也就是说,在该目录底下的某个档案内具有 mail 这个关键词,好了,此时,您怎么找出来含有这个关键词的档案??您当然可以一个档案一个档案的开启, 然后去搜寻 mail 这个关键词,只是.....该目录底下的档案可能不止 100 个说~ 如果了解正规表示法的相关技巧,那么只要一行指令就找出来啦! 『grep 'mail' /etc/rc.d/*』 那个 grep 就是支持正规表示法的工具程序之一!如何~很简单吧! ^_^y

谈到这里就得要进一步说明了,正规表示法基本上是一种『表示法』, 只要工具程序支持这种表示法,那么该工具程序就可以用来作为正规表示法的字符串处理之用。 也就是说,例如 vi, grep, awk ,sed 等等工具,因为她们有支持正规表示法, 所以,这些工具就可以使用正规表示法的特殊字符来进行字符串的处理。

--------------------------------------------------------------------------------
正规表示法对于系统管理员的用途

那么为何我需要学习正规表示法呢?对于一般使用者来说,由于使用到正规表示法的机会可能不怎么多, 因此感受不到他的魅力,不过,对于身为系统管理员的您来说, 正规表示法则是一个『不可不学的好东西!』 怎么说呢?由于系统如果在繁忙的情况之下,每天产生的讯息信息会多到你无法想象的地步, 而我们也都知道,系统的『错误讯息登录档案』 的内容(这部份我们在第五篇会详谈)记载了系统产生的所有讯息,当然, 这包含你的系统是否被『入侵』的纪录数据。

但是系统的数据量太大了,要身为系统管理员的你每天去看这么多的讯息数据, 从千百行的资料里面找出一行有问题的讯息,呵呵~光是用肉眼去看,想不疯掉都很难! 这个时候,我们就可以透过『正规表示法』的功能,将这些登录的信息进行处理, 仅取出『有问题』的信息来进行分析,哈哈!如此一来,你的系统管理工作将会 『快乐得不得了』啊!当然,正规表示法的优点还不止于此,等您有一定程度的了解之后,您会爱上他喔!

--------------------------------------------------------------------------------
正规表示法的广泛用途

正规表示法除了可以让系统管理员管理主机更为便利之外,事实上, 由于正规表示法强大的字符串处理能力,目前一堆软件都支持正规表示法呢! 最常见的就是『邮件服务器』啦!

如果您留意因特网上的消息,那么应该不能发现,目前造成网络大塞车的主因之一就是『垃圾/广告信件』了, 而如果我们可以在主机端,就将这些问题邮件剔除的话,客户端就会减少很多不必要的频宽耗损了。 那么如何剔除广告信件呢?由于广告信件几乎都有一定的标题或者是内容,因此, 只要每次有来信时,都先将来信的标题与内容进行特殊字符串的比对,发现有不良信件就予以剔除! 嘿!这个工作怎么达到啊?就使用正规表示法啊!目前两大邮件服务器软件 sendmail 与 postfix 以及支持邮件服务器的相关分析套件,都支持正规表示法的比对功能!

当然还不止于此啦,很多的服务器软件、以及套件都支持正规表示法呢!当然, 虽然各家软件都支持他,不过,这些『字符串』的比对还是需要系统管理员来加入比对规则的, 所以啦!身为系统管理员的你,为了自身的工作以及客户端的需求, 正规表示法实在是很需要也很值得学习的一项工具呢!

--------------------------------------------------------------------------------
正规表示法与 Shell 在 Linux 当中的角色定位

说实在的,我们在学数学的时候,一个很重要、但是粉难的东西是一定要『背』的, 那就是九九表,背成功了之后,未来在数学应用的路途上,真是一帆风顺啊! 这个九九表我们在小学的时候几乎背了一整年才背下来,并不是这么好背的呢! 但他却是基础当中的基础!您现在一定受惠相当的多呢 ^_^! 而我们谈到的这个正规表示法,与前一章的 BASH shell 就有点像是数学的九九表一样,是 Linux 基础当中的基础,虽然也是最难的部分, 不过,如果学成了之后,一定是『大大的有帮助』的!这就好像是金庸小说里面的学武难关, 任督二脉,打通任督二脉之后,武功立刻成倍成长!所以啦, 不论是对于系统的认识与系统的管理部分,他都有很棒的辅助啊!请好好的学习这个基础吧! ^_^

--------------------------------------------------------------------------------
延伸的正规表示法

正规表示法除了简单的一组字符串处理之外,还可以作群组的字符串处理, 例如进行搜寻 VBird 或 netman 或 lman 的搜寻,注意,是『或(or)』而不是『和(and)』的处理, 此时就需要延伸正规表示法的帮助啦!藉由特殊的 ( 与 | 等字符的协助, 就能够达到这样的目的!好啦!清清脑门,咱们用功去啰!
Tips:
有一点要向大家报告的,那就是:『正规表示法与万用字符是不一样的东西!』 这很重要喔!因为万用字符 (wildcard) 所代表的意义与正规表示法并不相同~ 要分的很清楚才行喔!所以,学习本章,请将前一章 bash 的万用字符意义先忘掉吧!  


--------------------------------------------------------------------------------
基础正规表示法

既然正规表示法是处理字符串的一个标准表示方式,他需要支持的工具程序来辅助, 所以,我们这里就先介绍一个最简单的字符串撷取功能的工具程序,那就是 grep 啰! 在介绍完 grep 的基本功能之后,就进入正规表示法的特殊字符的处理能力了。


--------------------------------------------------------------------------------
以 grep 撷取字符串

既然要使用 grep 当然就得要先了解一下 grep 的语法啰~
[root@test root]# grep [-acinv] '搜寻字符串' filename
参数说明:
-a :将 binary 档案以 text 档案的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
范例:
[root@test root]# grep 'root' /var/log/secure
将 /var/log/secure 这个档案中有 root 的那一行秀出来

[root@test root]# grep -v 'root' /var/log/secure
若该行没有 root 才将数据秀出来到屏幕上!

[root@test root]# last | grep root
若该行有 root 才将数据秀出来到屏幕上!


grep 是一个很常见也很常用的指令,他最重要的功能就是进行字符串数据的比对, 然后将符合使用者需求的字符串打印出来。 需要说明的是『grep 在数据中查寻一个字符串时,是以 "整行" 为单位来进行数据的撷取的!』也就是说,假如一个档案内有 10 行,其中有两行具有你所搜寻的字符串,则将那两行显示在屏幕上,其它的就丢弃了!

而 grep 除了可以进行档案的资料搜寻之外,也常常被应用在 input/output 的数据处理当中,例如常见的 管线命令 ( pipe ) 就可以常常见到他的踪影! 以上面表格中的例子来看,我们可以发现前两个例子是查寻档案的内容,有没有加上 -v 所显示出来的结果是『相反的!』,而第三个例子则是以 pipe 的功能进行数据的处理的喔!

好了,我们就开始以 grep 来进行正规表示法的简易说明吧!我们先以底下这个档案来作为范例:
[root@test root]# vi regular_express.txt
"Open Source" is a good mechanism to develop programs.
apple is my favorite food.
Football game is not use feet only.
this dress doesn't fit me.
However, this dress is about $ 3183 dollars.
GNU is free air not free beer.
Her hair is very beauty.
I can’t finish the test.
Oh! The soup taste good.
motorcycle is cheap than car.
This window is clear.
the symbol '*' is represented as start.
Oh! My god!
The gd software is a library for drafting programs.
You are the best is mean you are the no. 1.
The world is the same with "glad".
I like dog.
google is the best tools for search keyword.
goooooogle yes!
go! go! Let's go.
# I am VBird


需要特别注意的是,上面这个档案鸟哥是在 Windows 的环境下编辑的, 并且经过特殊处理过,因此,他虽然是纯文字文件,但是内含一些 Windows 环境下的软件常常自行加入的一些特殊字符,例如断行字符(^M)就是一例! 所以,您可以直接将上面的文字以 vi 储存成 regular_express.txt 这个档案, 不过,比较建议直接点底下的连结下载:
http://linux.vbird.org/linux_basic/0330regularex/regular_express.txt
此外,因为不同的语系编码是不一样的,所以,您必须要将语系改成英文语系, 才能够进行底下的测试,否则,可能会有显示的内容与底下的输出不符的状况喔! 修改语系的方法为:
[root@test root]# LANG=en
[root@test root]# LANGUAGE=en


好了,现在开始我们一个案例一个案例的来介绍吧!

例题一、搜寻特定字符串:
搜寻特定字符串很简单吧?假设我们要从刚刚的档案当中取得 the 这个特定字符串, 最简单的方式就是这样:
[root@test root]# grep -n 'the' regular_express.txt
8:I can't finish the test.
12:the symbol '*' is represented as start.
15:You are the best is mean you are the no. 1.
16:The world  is the same with "glad".
18:google is the best tools for search keyword.


那如果想要『反向选择』呢?也就是说,当该行没有 'the' 这个字符串时,才显示在屏幕上,那就直接使用:
[root@test root]# grep -vn 'the' regular_express.txt


您会发现,屏幕上出现的行列为除了 8,12,15,16,18 五行之外的其它行列! 接下来,如果您想要取得不论大小写的 the 这个字符串,则:
[root@test root]# grep -in 'the' regular_express.txt
8:I can't finish the test.
9:Oh! The soup taste good.
12:the symbol '*' is represented as start.
14:The gd software is a library for drafting programs.
15:You are the best is mean you are the no. 1.
16:The world  is the same with "glad".
18:google is the best tools for search keyword.




例题二、利用 [] 来搜寻集合字符
如果我想要搜寻 test 或 taste 这两个单字时,可以发现到,其实她们有共通的 't?st' 存在~这个时候,我可以这样来搜寻:
[root@test root]# grep -n 't[ae]st' regular_express.txt
8:I can't finish the test.
9:Oh! The soup taste good.


了解了吧?其实 [] 里面不论有几个字符,他都谨代表某『一个』字符, 所以,上面的例子说明了,我需要的字符串是『tast』或『test』两个字符串而已! 而如果想要搜寻到有 oo 的字符时,则使用:
[root@test root]# grep -n 'oo' regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
9:Oh! The soup taste good.
18:google is the best tools for search keyword.
19:goooooogle yes!


但是,如果我不想要 oo 前面有 g 的话呢?此时,可以利用在集合字符的反向选择 [^] 来达成
[root@test root]# grep -n '[^g]oo' regular_express.txt
2:apple is my favorite food.
3:Football game is not use feet only.
18:google is the best tools for search keyword.
19:goooooogle yes!


意思就是说,我需要的是 oo ,但是 oo 前面不能是 g 就是了! 仔细比较上面两个表格,妳会发现,第 1,9 行不见了,因为 oo 前面出现了 g 所致! 第 2,3 行没有疑问,因为 foo 与 Foo 均可被接受!但是第 18 行明明有 google 的 goo 啊~ 别忘记了,因为该行后面出现了 tool 的 too 啊!所以该行也被列出来~ 也就是说, 18 行里面虽然出现了我们所不要的项目 (goo) 但是由于有需要的项目 (too) , 因此,是符合字符串搜寻的喔!

至于第 19 行,同样的,因为 goooooogle 里面的 oo 前面可能是 o ,例如: go(ooo)oogle ,所以,这一行也是符合需求的!

再来,假设我 oo 前面不想要有小写字符,所以,我可以这样写 [^abcd....z]oo , 但是这样似乎不怎么方便,由于小写字符的 ASCII 上编码的顺序是连续的, 因此,我们可以将之简化为底下这样:
[root@test root]# grep -n '[^a-z]oo' regular_express.txt
3:Football game is not use feet only.


也就是说,当我们在一组集合字符中,如果该字符组是连续的,例如大写英文/小写英文/数字等等, 就可以使用[a-z],[A-Z],[0-9]等方式来书写,那么如果我们的要求字符串是数字与英文呢? 呵呵!就将他全部写在一起,变成:[a-zA-Z0-9]

例如,我们要取得有数字的那一行,就这样:
[root@test root]# grep -n '[0-9]' regular_express.txt
5:However, this dress is about $ 3183 dollars.
15:You are the best is mean you are the no. 1.


这样对于 [] 以及 [^] 以及 [] 当中的 - 有了解了吗?! ^_^y

例题三、行首与行尾字符 ^ $:
我们在例题一当中,可以查询到一行字符串里面有 the 的,那如果我想要让 the 只在行首列出呢? 这个时候就得要使用定位字符了!我们可以这样做:
[root@test root]# grep -n '^the' regular_express.txt
12:the symbol '*' is represented as start.


此时,就只剩下第 12 行,因为只有第 12 行的行首是 the 开头啊~此外, 如果我想要开头是小写字符的那一行就列出呢?可以这样:
[root@test root]# grep -n '^[a-z]' regular_express.txt
2:apple is my favorite food.
4:this dress doesn't fit me.
10:motorcycle is cheap than car.
12:the symbol '*' is represented as start.
18:google is the best tools for search keyword.
19:goooooogle yes!


如果我不想要开头是英文字母,则可以是这样:
[root@test root]# grep -n '^[^a-zA-Z]' regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
20:# I am VBird


注意到了吧?那个 ^ 符号,在字符集合符号(括号[])之内与之外是不同的! 在 [] 内代表『反向选择』,在 [] 之外则代表定位在行首的意义!要分清楚喔!

那如果我想要找出来,行尾结束为小数点 (.) 的那一行,该如何处理:
[root@test root]# grep -n '\.$' regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
4:this dress doesn't fit me.
10:motorcycle is cheap than car.
11:This window is clear.
12:the symbol '*' is represented as start.
15:You are the best is mean you are the no. 1.
16:The world  is the same with "glad".
17:I like dog.
18:google is the best tools for search keyword.


特别注意到,因为小数点具有其它意义(底下会介绍),所以必须要使用跳脱字符(\)来加以解除其特殊意义! 不过,您或许会觉得奇怪,但是第 5~9 行最后面也是 . 啊~怎么无法打印出来?? 这里就牵涉到 Windows 平台的软件对于断行字符的判断问题了!我们使用 cat -A 将第五行拿出来看, 您会发现:
[root@test root]# cat -A regular_express.txt
However, this dress is about $ 3183 dollars.^M$


注意到了没?最后面的断行字符应该是 $ 才对,但是,因为 Windows 的 nodepad 会主动加上 ^M 作为断行的判断,因此,那个 . 自然就不是紧接在 $ 之前喔!这样可以了解 ^ 与 $ 的意义吗? 好了,先不要看底下的解答,自己想一想,那么如果我想要找出来,哪一行是『空白行』, 也就是说,该行并没有输入任何数据,该如何搜寻??
[root@test root]# grep -n '^$' regular_express.txt
21:


因为只有行首跟行尾( ^$ ),所以,这样就可以找出空白行啦!再来, 假设您已经知道在一个批次脚本 (shell script) 或者是设定档当中, 空白行与开头为 # 的那一行是批注,因此如果您要将资料列出给别人参考时, 可以将这些数据省略掉,以节省保贵的纸张,那么,您可以怎么作呢? 我们以 /etc/syslog.conf 这个档案来作范例,您可以自行参考一下输出的结果:
[root@test root]# cat /etc/syslog.conf
[root@test root]# grep -v '^$' /etc/syslog.conf | grep -v '^#'


是否节省很多版面啊??

例题四、任意一个字符 . 与重复字符 *
在 bash 的章节当中,我们知道万用字符 * 可以用来代表任意(0或多个)字符, 但是正规表示法并不是万用字符,两者之间是不相同的! 至于正规表示法当中的『 . 』则代表『绝对有一个任意字符』的意思!这样讲不好懂, 我们直接做个练习吧!假设我需要找出 g??d 的字符串,亦即共有四个字符, 起头是 g 而结束是 d ,我可以这样做:
[root@test root]# grep -n 'g..d' regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
9:Oh! The soup taste good.
16:The world  is the same with "glad".


因为强调 g 与 d 之间一定要存在两个字符,因此,第 13 行的 god 与第 14 行的 gd 就不会被列出来啦!再来,如果我想要列出有 oo, ooo, oooo 等等的数据, 也就是说,至少要有两个 o 以上,该如何是好??是 o* 还是 oo* 还是 ooo* 呢? 虽然您可以试看看结果, 不过结果太占版面了 @_@ ,所以,我这里就直接说明。

因为 * 代表的是『重复 0 个或多个前面的 RE 字符』的意义, 因此,『o*』代表的是:『拥有空字符或一个 o 以上的字符』, 特别注意,因为允许空字符(就是有没有字符都可以的意思),因此, grep -n 'o*' regular_express.txt 将会把所有的数据都打印出来屏幕上!

那如果是『oo*』呢?则第一个 o 肯定必须要存在,第二个 o 则是可有可无的多个 o , 所以,凡是含有 o, oo, ooo, oooo 等等,都可以被列出来~

同理,当我们需要『至少两个 o 以上的字符串』时,就需要 ooo* ,亦即是:
[root@test root]# grep -n 'ooo*' regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
9:Oh! The soup taste good.
18:google is the best tools for search keyword.
19:goooooogle yes!


这样理解 * 的意义了吗?!好了,现在出个练习,如果我想要字符串开头与结尾都是 g, 但是两个 g 之间仅能存在至少一个 o ,亦即是 gog, goog, gooog.... 等等, 那该如何?
[root@test root]# grep -n 'goo*g' regular_express.txt
18:google is the best tools for search keyword.
19:goooooogle yes!


如此了解了吗?好,再来一题,如果我想要找出 g 开头与 g 结尾的字符串, 当中的字符可有可无,那该如何是好?是『g*g』吗?
[root@test root]# grep -n 'g*g' regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
3:Football game is not use feet only.
9:Oh! The soup taste good.
13:Oh!  My god!
14:The gd software is a library for drafting programs.
16:The world  is the same with "glad".
17:I like dog.
18:google is the best tools for search keyword.
19:goooooogle yes!


但测试的结果竟然出现这么多行??太诡异了吧? 其实一点也不诡异,因为 g*g 里面的 g* 代表『空字符或一个以上的 g』 在加上后面的 g ,因此,整个 RE 的内容就是 g, gg, ggg, gggg , 因此,只要该行当中拥有一个以上的 g 就符合所需了!

那该如何得到我们的 g....g 的需求呢?呵呵!就利用任意一个字符『.』啊! 亦即是:『g.*g』的作法,因为 * 可以是 0 或多个重复前面的字符,而 . 是任意字符,所以: 『.* 就代表零个或多个任意字符』的意思啦!
[root@test root]# grep -n 'g.*g' regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
14:The gd software is a library for drafting programs.
18:google is the best tools for search keyword.
19:goooooogle yes!


因为是代表 g 开头与 g 结尾,中间任意字符均可接受,所以,第 1 与第 14 行是可接受的喔! 这个 .* 的 RE 表示任意字符是很常见的,希望大家能够理解并且熟悉!

再出一题,如果我想要找出『任意数字』的行列呢?因为仅有数字,所以就成为:
[root@test root]# grep -n '[0-9][0-9]*' regular_express.txt
5:However, this dress is about $ 3183 dollars.
15:You are the best is mean you are the no. 1.


虽然使用 grep -n '[0-9]' regular_express.txt 也可以得到相同的结果, 但鸟哥希望大家能够理解上面指令当中 RE 表示法的意义才好!

那么,如果我想要一个字符串里面开头是 g 而结尾是 d 时,

例题五、限定连续 RE 字符范围 {}
在上个例题当中,我们可以利用 . 与 RE 字符及 * 来设定 0 个到无线多个重复字符, 那如果我想要限制一个范围区间内的重复字符数呢?举例来说,我想要找出两个到五个 o 的连续字符串,该如何作?这时候就得要使用到限定范围的字符 {} 了。 但因为 { 与 } 的符号在 shell 是有特殊意义的,因此, 我们必须要使用跳脱字符 \ 来让他失去特殊意义才行。

至于 {} 的语法是这样的,假设我要找到两个 o 的字符串,可以是:
[root@test root]# grep -n 'o\{2\}' regular_express.txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
9:Oh! The soup taste good.
18:google is the best tools for search keyword.
19:goooooogle yes!


这样看似乎与 ooo* 的字符没有什么差异啊?因为第 19 行有多个 o 依旧也出现了! 好,那么换个搜寻的字符串,假设我们要找出 g 后面接 2 到 5 个 o ,然后再接一个 g 的字符串, 他会是这样:
[root@test root]# grep -n 'go\{2,5\}g' regular_express.txt
18:google is the best tools for search keyword.


嗯!很好!第 19 行终于没有被取用了(因为 19 行有 6 个 o 啊!)。 那么,如果我想要的是 2 个 o 以上的 goooo....g 呢?除了可以是 gooo*g ,也可以是:
[root@test root]# grep -n 'go\{2,\}g' regular_express.txt
18:google is the best tools for search keyword.
19:goooooogle yes!


呵呵!就可以找出来啦~

--------------------------------------------------------------------------------
重要特殊字符(characters)

经过了上面的几个简单的范例,我们可以将基础的正规表示法特殊字符汇整如下:

RE 字符 意义与范例
^word 待搜寻的字符串(word)在行首!
范例:grep -n '^#' regular_express.txt
搜寻行首为 # 开始的那一行!
word$ 待搜寻的字符串(word)在行尾!
范例:grep -n '!$' regular_express.txt
将行尾为 ! 的那一行打印出来!
. 代表『任意一个』字符,一定是一个任意字符!
范例:grep -n 'e.e' regular_express.txt
搜寻的字符串可以是 (eve) (eae) (eee) (e e), 但不能仅有 (ee) !亦即 e 与 e 中间『一定』仅有一个字符,而空格符也是字符!
\ 跳脱字符,将特殊符号的特殊意义去除!
范例:grep -n \' regular_express.txt
搜寻含有单引号 ' 的那一行!
* 重复零个或多个的前一个 RE 字符
范例:grep -n 'ess*' regular_express.txt
找出含有 (es) (ess) (esss) 等等的字符串,注意,因为 * 可以是 0 个,所以 es 也是符合带搜寻字符串。另外,因为 * 为重复『前一个 RE 字符』的符号, 因此,在 * 之前必须要紧接着一个 RE 字符喔!例如任意字符则为 『.*』 !
\{n,m\} 连续 n 到 m 个的『前一个 RE 字符』
若为 \{n\} 则是连续 n 个的前一个 RE 字符,
若是 \{n,\} 则是连续 n 个以上的前一个 RE 字符!
范例:grep -n 'go\{2,3\}g' regular_express.txt
在 g 与 g 之间有 2 个到 3 个的 o 存在的字符串,亦即 (goog)(gooog)
[] 字符集合的 RE 特殊字符的符号
[list]
范例:grep -n 'g[ld]' regular_express.txt
搜寻含有 (gl) 或 (gd) 的那一行~
需要特别留意的是,在 [] 当中『谨代表一个待搜寻的字符』,
例如: a[afl]y 代表搜寻的字符串可以是 aay, afy, aly
亦即 [afl] 代表 a 或 f 或 l 的意思!

[ch1-ch2]
范例:grep -n '[0-9]' regular_express.txt
搜寻含有任意数字的那一行!需特别留意,在字符集合 [] 中的减号 - 是有特殊意义的,他代表两个字符之间的所有连续字符!但这个连续与否与 ASCII 编码有关, 因此,您的编码需要设定正确(在 bash 当中,需要确定 LANG 与 LANGUAGE 的变量是否正确!) 例如所有大写字符则为 [A-Z]

[^]
范例:grep -n 'oo[^t]' regular_express.txt
搜寻的字符串可以是 (oog) (ood) 但不能是 (oot) ,那个 ^ 在 [] 内时, 代表的意义是『反向选择』的意思~例如,我不要大写字符,则为 [^A-Z] ~ 但是,需要特别注意的是,如果以 grep -n [^A-Z] regular_express.txt 来搜寻, 却发现该档案内的所有行都被列出,为什么?因为这个 [^A-Z] 是『非大写字符』的意思, 因为每一行均有非大写字符,例如第一行的 "Open Source" 就有 p,e,n,o.... 等等的小写字符, 以及双引号 (") 等字符,所以当然符合 [^A-Z] 的搜寻!  

请特别留意的是,『正规表示法的特殊字符』 与一般在指令列输入指令的『万用字符』并不相同, 例如,在万用字符当中,* 代表的是 0 ~ 无限多个字符的意思,但是在正规表示法当中, * 则是重复 0 到多个的前一个 RE 字符的意思~使用的意义并不相同,不要搞混了! (鸟哥我一开始摸正规表示法时就很容易搞混!因为这里是新手最容易搞错的地方,特别小心啊!)

举例来说,不支持正规表示法的 ls 这个工具中,若我们使用 『ls -l * 』 代表的是任意档名的档案,而 『ls -l a* 』代表的是以 a 为开头的任何档名的档案, 但在正规表示法中,我们要找到含有以 a 为开头的档案,则必须要这样:(需搭配支持正规表示法的工具)
ls | grep -n '^a.*'
另外,例如万用字符的反向选择,为 [!range] ,至于正规表示法则是 [^range] 。 这样是否了解正规表示法与万用字符的差异啦??


--------------------------------------------------------------------------------
延伸正规表示法

事实上,一般读者只要了解基础型的正规表示法大概就已经相当足够了,不过,某些时刻, 为了要简化整个指令操作,了解一下使用范围更广的延伸型正规表示法的表示式,会更方便呢! 举个简单的例子好了,在上节的例题三的最后一个例子中,我们要去除空白行与行首为 # 的行列, 使用的是
grep -v '^$' regular_express.txt | grep -v '^#'
需要使用到管线命令来搜寻两次! 那么如果使用延伸型的正规表示法,我们可以简化为:
egrep -v '^$|^#' regular_express.txt
利用支持延伸型正规表示法的 egrep 与特殊字符 | 来区隔两组字符串,如此一来,是否方便很多呢?

这里必须要特别强调, grep 支持的是基础型的正规表示法,而 egrep 支持延伸正规表示法。 事实上, egrep 是 grep -E 的命令别名,为了方便使用,我们还是以 egrep 来跟 grep 区分吧!

熟悉了正规表示法之后,到这个延伸型的正规表示法,您应该也会想到, 不就是多几个重要的特殊符号吗? ^_^y 是的~所以,我们就直接来说明一下,延伸型正规表示法有哪几个特殊符号?

RE 字符 意义与范例
+ 重复『一个或一个以上』的前一个 RE 字符
范例:egrep -n 'go+d' regular_express.txt
搜寻 (god) (good) (goood)... 等等的字符串。 那个 o+ 代表『一个以上的 o 』所以,上面的执行成果会将第 1, 9, 13 行列出来。
? 『零个或一个』的前一个 RE 字符
范例:egrep -n 'go?d' regular_express.txt
搜寻 (gd) (god) 这两个字符串。 那个 o? 代表『空的或 1 个 o 』所以,上面的执行成果会将第 13, 14 行列出来。
有没有发现到,这两个案例( 'go+d' 与 'go?d' )的结果集合与 'go*d' 相同? 想想看,这是为什么喔! ^_^
| 用或( or )的方式找出数个字符串
范例:egrep -n 'gd|good' regular_express.txt
搜寻 gd 或 good 这两个字符串,注意,是『或』! 所以,第 1,9,14 这三行都可以被打印出来喔!那如果还想要找出 dog 呢?就这样啊:
egrep -n 'gd|good|dog' regular_express.txt
( ) 找出『群组』字符串
范例:egrep -n 'g(la|oo)d' regular_express.txt
搜寻 (glad) 或 (good) 这两个字符串,因为 g 与 d 是重复的,所以, 我就可以将 la 与 oo 列于 ( ) 当中,并以 | 来分隔开来,就可以啦!
此外,这个功能还可以用来作为『多个重复群组』的判别喔!举例来说:
echo 'AxyzxyzxyzxyzC' | egrep 'A(xyz)+C'
上面的例子当中,意思是说,我要找开头是 A 结尾是 C ,中间有一个以上的 "xyz" 字符串的意思~  

以上这些就是延伸型的正规表示法的特殊字符。另外,要特别强调的是,那个 ! 在正规表示法当中并不是特殊字符, 所以,如果您想要查出来档案中含有 ! 与 > 的字行时,可以这样:
grep -n '[!>]' regular_express.txt
这样可以了解了吗?!常常看到有陷阱的题目写:『反向选择这样对否? '[!a-z]'?』, 呵呵!是错的呦~要 '[^a-z] 才是对的!
 
--------------------------------------------------------------------------------
格式化打印: printf

在很多时候,我们可能需要将输出的数据给他格式化输出的~ 举例来说,考试卷分数的输出,姓名与科目及分数之间,总是可以稍微作个比较漂亮的版面配置吧? 例如我想要输出底下的样式:
Name     Chinese   English   Math    Average
DmTsai        80        60     92      77.33
VBird         75        55     80      70.00
Ken           60        90     70      73.33


分成五个字段,各个字段分配到正确的位置去!但是因为每个字段的原始数据其实并非是如此固定的, 而我就是想要如此表示出这些数据,此时,就得需要打印格式管理员 printf 的帮忙了! printf 可以帮我们将资料输出的结果格式化,而且而支持一些特殊的字符~底下我们就来看看!
[root@linux ~]# printf '打印格式' 实际内容
参数:
关于格式方面的几个特殊样式:
      \a    警告声音输出
      \b    退格键(backspace)
      \f    清除屏幕 (form feed)
      \n    输出新的一行
      \r    亦即 Enter 按键
      \t    水平的 [tab] 按键
      \v    垂直的 [tabl] 按键
      \xNN  NN 为两位数的数字,可以转换数字成为字符。
关于 C 程序语言内,常见的变数格式
      %ns   那个 n 是数字, s 代表 string ,亦即多少个字符;
      %ni   那个 n 是数字, i 代表 integer ,亦即多少整数字数;
      %N.nf 那个 n 与 N 都是数字, f 代表 floating (浮点),如果有小数字数,
            假设我共要十个位数,但小数点有两位,即为 %10.2f 啰!
范例:

范例一:将刚刚上头的数据变成档案,仅列出姓名与成绩:(用 [tab] 分隔
[root@linux ~]# printf '%s\t %s\t %s\t %s\t %s\t \n' `cat printf.txt`
Name     Chinese         English         Math    Average
DmTsai   80      60      92      77.33
VBird    75      55      80      70.00
Ken      60      90      70      73.33
# 假设我将上面的档案存成 printf.txt 档案档名,则可利用上面的案例,
# 将每个单字中间以 [tab] 按键隔开。由上面的输出来看,虽然第二行以后是 OK 的,
# 但是第一行则因为某些单字长度较长,所以就无法对齐了!而 %s 表示以字符串 (string)
# 的方式来展现该内容。而每个内容则以 \t 即 [tab] 来隔开啊!

范例二:将上述资料关于第二行以后,分别以字符串、整数、小数点来显示:
[root@linux ~]# printf '%10s %5i %5i %5i %8.2f \n' `cat printf.txt |\
> grep -v Name`
   DmTsai    80    60    92    77.33
    VBird    75    55    80    70.00
      Ken    60    90    70    73.33
# 这个时候的输出可就有趣了!我将几个内容分成不同的数据格式来输出,
# 最有趣的应该是 %8.2f 这个项目了!我可以针对不同的小数字数来进行格式输出,
# 例如变成底下的样子时,您自己试看看,会是输出什么结果喔!
# printf '%10s %5i %5i %5i %8.1f \n' `cat printf.txt | grep -v Name`

范例三:列出数值 45 代表的字符为何?
[root@linux ~]# printf '\x45\n'
E
# 这东西也很好玩~他可以将数值转换成为字符,如果您会写 script 的话,
# 可以自行测试一下,由 20~80 之间的数值代表的字符是啥喔! ^_^


printf 的使用相当的广泛喔!包括等一下后面会提到的 awk 以及在 C 程序语言当中使用的屏幕输出, 都是利用 printf 呢!鸟哥这里也只是列出一些可能会用到的格式而已, 有兴趣的话,可以自行多作一些测试与练习喔! ^_^

Tips:
打印格式化这个 printf 指令,乍看之下好像也没有什么很重要的~ 不过,如果您需要自行撰写一些软件,需要将一些数据在屏幕上头漂漂亮亮的输出的话, 那么 printf 可也是一个很棒的工具喔!  


--------------------------------------------------------------------------------
sed 工具简介

在了解了一些正规表示法的基础应用之后,再来呢?呵呵~两个东西可以玩一玩的,那就是 sed 跟 awk 了! 这两个家伙可是相当的有用的啊!举例来说,鸟哥写的 logfile.sh 分析登录文件的小程序, 绝大部分分析关键词的取用、统计等等,就是用这两个宝贝蛋来帮我完成的! 那么你说,要不要玩一玩啊?! ^_^

我们先来谈一谈 sed 好了,基本上, sed 可以分析 Standard Input (STDIN) 的数据, 然后将数据经过处理后,再将他输出到 standrad out (STDOUT) 的一个工具。 至于处理呢?可以进行取代、删除、新增、撷取特定行等等的功能呢!很不错吧~ 我们先来了解一下 sed 的用法,再来聊他的用途好了!
[root@linux ~]# sed [-nefr] [动作]
参数:
-n  :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN
     的数据一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过
     sed 特殊处理的那一行(或者动作)才会被列出来。
-e  :直接在指令列模式上进行 sed 的动作编辑;
-f  :直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的
     sed 动作;
-r  :sed 的动作支持的是延伸型正规表示法的语法。(预设是基础正规表示法语法)

动作说明:  [n1[,n2]]function
n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作
        是需要在 10 到 20 行之间进行的,则『 10,20[动作行为] 』

function 有底下这些咚咚:
a   :新增, a 的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行)~
c   :取代, c 的后面可以接字符串,这些字符串可以取代 n1,n2 之间的行!
d   :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i   :插入, i 的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行);
p   :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运作~
s   :搜寻,不但可以搜寻,还能够进行取代的工作哩!通常这个 s 的动作可以搭配
     正规表示法!例如 1,20s/old/new/g 就是啦!
范例:

范例一:将 /etc/passwd 的内容列出,并且我需要打印行号,同时,请将第 2~5 行删除!
[root@linux ~]# nl /etc/passwd | sed '2,5d'
    1  root:x:0:0:root:/root:/bin/bash
    6  sync:x:5:0:sync:/sbin:/bin/sync
    7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
.....(后面省略).....
# 看到了吧?因为 2-5 行给他删除了,所以显示的数据中,就没有 2-5 行啰~
# 另外,注意一下,原本应该是要下达 sed -e 才对,没有 -e 也行啦!
# 同时也要注意的是, sed 后面接的动作,请务必以 '' 两个单引号括住喔!
# 而,如果只要删除第 2 行,可以使用 nl /etc/passwd | sed '2d' 来达成,
# 至于第 3 到最后一行,则是 nl /etc/passwd | sed '3,$d' 的啦!

范例二:呈上题,在第二行后(亦即是加在第三行)加上『drink tea?』字样!
[root@linux ~]# nl /etc/passwd | sed '2a drink tea'
    1  root:x:0:0:root:/root:/bin/bash
    2  bin:x:1:1:bin:/bin:/sbin/nologin
drink tea
    3  daemon:x:2:2:daemon:/sbin:/sbin/nologin
# 嘿嘿!在 a 后面加上的字符串就已将出现在第二行后面啰!那如果是要在第二行前呢?
# nl /etc/passwd | sed '2i drink tea' 就对啦!

范例三:在第二行后面加入两行字,例如『Drink tea or .....』『drink beer?』
[root@linux ~]# nl /etc/passwd | sed '2a Drink tea or ......\
> drink beer ?'
    1  root:x:0:0:root:/root:/bin/bash
    2  bin:x:1:1:bin:/bin:/sbin/nologin
Drink tea or ......
drink beer ?
    3  daemon:x:2:2:daemon:/sbin:/sbin/nologin
# 这个范例的重点是,我们可以新增不只一行喔!可以新增好几行~
# 但是每一行之间都必须要以反斜线 \ 来进行新行的增加喔!所以,上面的例子中,
# 我们可以发现在第一行的最后面就有 \ 存在啦!那是一定要的喔!

范例四:我想将第2-5行的内容取代成为『No 2-5 number』呢?
[root@linux ~]# nl /etc/passwd | sed '2,5c No 2-5 number'
    1  root:x:0:0:root:/root:/bin/bash
No 2-5 number
    6  sync:x:5:0:sync:/sbin:/bin/sync
# 没有了 2-5 行,嘿嘿嘿嘿!我们要的数据就出现啦!

范例五:仅列出第 5-7 行
[root@linux ~]# nl /etc/passwd | sed -n '5,7p'
    5  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    6  sync:x:5:0:sync:/sbin:/bin/sync
    7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
# 为什么要加 -n 的参数呢?您可以自行下达 sed '5,7p' 就知道了!(5-7行会重复输出)
# 有没有加上 -n 的参数时,输出的数据可是差很多的喔!

范例六:我们可以使用 ifconfig 来列出 IP ,若仅要 eth0 的 IP 时?
[root@linux ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:51:FD:52:9A:CA
         inet addr:192.168.1.12  Bcast:192.168.1.255  Mask:255.255.255.0
         inet6 addr: fe80::250:fcff:fe22:9acb/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
.....(以下省略).....
# 其实,我们要的只是那个 inet addr:..那一行而已,所以啰,利用 grep 与 sed 来捉
[root@linux ~]# ifconfig eth0 | grep 'inet ' | sed 's/^.*addr://g' | \
> sed 's/Bcast.*$//g'
# 您可以将每个管线 (|) 的过程都分开来执行,就会晓得原因啰!
# 去头去尾之后,就会得到我们所需要的 IP 亦即是 192.168.1.12 啰~

范例七:将 /etc/man.config 档案的内容中,有 MAN 的设定就取出来,但不要说明内容。
[root@linux ~]# cat /etc/man.config | grep 'MAN'| sed 's/#.*$//g' | \
> sed '/^$/d'
# 每一行当中,若有 # 表示该行为批注,但是要注意的是,有时候,
# 批注并不是写在第一个字符,亦即是写在某个指令后方,如底下的模样:
# 『shutdown -h now # 这个是关机的指令』,批注 # 就在指令的后方了。
# 因此,我们才会使用到将 #.*$ 这个正规表示法!


总之,这个 sed 不错用啦!而且很多的 shell script 都会使用到这个指令的功能~ sed 可以帮助系统管理员管理好日常的工作喔!要仔细的学习呢!



--------------------------------------------------------------------------------
awk 工具简介

相较于 sed 常常作用于一整个行的处理, awk 则比较倾向于一行当中分成数个『字段』来处理。 因此,awk 相当的适合处理小型的数据数据处理呢!awk 通常运作的模式是这样的:
[root@linux ~]# awk '条件类型1{动作1} 条件类型2{动作2} ...' filename


awk 可以处理后续接的档案,也可以读取来自前个指令的 standard output 。 但如前面说的, awk 主要是处理『每一行的字段内的数据』,而预设的『字段的分隔符为 "空格键" 或 "[tab]键" 』!举例来说,我们用 last 可以将登入者的数据取出来, 结果如下所示:
[root@linux ~]# last
dmtsai   pts/0        192.168.1.12     Mon Aug 22 09:40   still logged in
root     tty1                          Mon Aug 15 11:38 - 11:39  (00:01)
reboot   system boot  2.6.11           Sun Aug 14 18:18         (7+15:41)
dmtsai   pts/0        192.168.1.12     Fri Aug 12 12:07 - 12:08  (00:01)


若我想要取出账号与登入者的 IP ,且账号与 IP 之间以 [tab] 隔开,则会变成这样:
[root@linux ~]# last | awk '{print $1 "\t" $3}'
dmtsai  192.168.1.12
root    Mon
reboot  boot
dmtsai  192.168.1.12


因为不论哪一行我都要处理,因此,就不需要有 "条件类型" 的限制!我所想要的是第一栏以及第三栏, 但是,第二行及第三行的内容怪怪的~这是因为数据格式的问题啊!所以啰~使用 awk 的时候,请先确认一下您的数据当中,如果是连续性的数据,请不要有空格或 [tab] 在内,否则,就会像这个例子这样,会发生误判喔!

另外,由上面这个例子您也会知道,在每一行的每个字段都是有变量名称的,那就是 $1, $2... 等变量名称,以上面的例子来说, dmtsai 是 $1 ,因为他是第一栏嘛!至于 192.168.1.12 是第三栏, 所以他就是 $3 啦!后面以此类推~呵呵!还有个变数喔!那就是 $0 ,$0 代表『一整列资料』的意思~ 以上面的例子来说,第一行的 $0 代表的就是『dmtsai pts/0.... 』那一行啊! 由此可知,刚刚上面四行当中,整个 awk 的处理流程是:
读入第一行,并将第一行的资料填入 $0, $1, $2.... 等变数当中;
依据 "条件类型" 的限制,判断是否需要进行后面的 "动作";
做完所有的动作与条件类型;
若还有后续的『行』的数据,则重复上面 1~3 的步骤,直到所有的数据都读完为止。
经过这样的步骤,您会晓得, awk 是『以行为一次处理的单位』, 而『以字段为最小的处理单位』。好了,那么 awk 怎么知道我到底这个数据有几行?有几栏呢?这就需要 awk 的内建变量的帮忙啦~

变量名称 代表意义
NF 每一行 ($0) 拥有的字段总数
NR 目前 awk 所处理的是『第几行』数据
FS 目前的分隔字符,预设是空格键

我们继续以上面例子来做说明,如果我想要列出每一行的账号,并且列出目前处理的行数, 并且说明,该行有多少字段,则可以这样 (注意, awk 后续的所有动作以 ' 括住, 所以,内容如果想要以 print 打印时,记得,非变量的文字部分,包含上一小节 printf 提到的格式中,都需要使用双引号来定义出来喔!)
[root@linux ~]# last | awk '{print $1 "\t lines: " NR "\t columes: " NF}'
dmtsai   lines: 1        columes: 10
root     lines: 2        columes: 9
reboot   lines: 3        columes: 9
dmtsai   lines: 4        columes: 10


这样可以了解 NR 与 NF 的差别了吧?好了,底下来谈一谈所谓的 "条件类型" 了吧!


--------------------------------------------------------------------------------
awk 的逻辑运算字符

既然有需要用到 "条件" 的类别,自然就需要一些逻辑运算啰~例如底下这些:

运算单元 代表意义
>  大于
<  小于
>=  大于或等于
<= 小于或等于
==  等于
!=  不等于

值得注意的是那个 == 的符号,因为在『逻辑运算』上面, 就是所谓的大于、小于、等于等等的判断式上面,我们习惯上是以 == 来表示,而如果是直接给予一个值,例如变量设定时,就直接使用 = 而已。 好了,我们实际来运用一下逻辑判断吧!举例来说,在 /etc/passwd 当中是以冒号 ":" 来作为字段的分隔,那假设我要查阅,第三栏小于 10 以下的数据,并且仅列出账号与第三栏, 那么可以这样做:
[root@linux ~]# cat /etc/passwd | \
> awk '{FS=":"} $3 < 10 {print $1 "\t " $3}'
root:x:0:0:root:/root:/bin/bash
bin      1
daemon   2
......(以下省略)......


有趣吧!不过,怎么第一行没有正确的显示出来呢?这是因为我们读入第一行的时候, 那些变数 $1, $2... 预设还是以空格键为分隔的,所以虽然我们定义了 FS=":" 了, 但是却仅能在第二行后才开始生效。那么怎么办呢?我们可以预先设定 awk 的变量啊! 利用 BEGIN 这个关键词喔!这样做:
[root@linux ~]# cat /etc/passwd | \
> awk 'BEGIN {FS=":"} $3 < 10 {print $1 "\t " $3}'
root     0
bin      1
daemon   2
......(以下省略)......


很有趣吧!而除了 BEGIN 之外,我们还有 END 呢!另外,如果要用 awk 来进行『计算功能』呢?以底下的例子来看, 假设我有一个薪资数据表,内容是这样的:
Name    1st     2nd     3th
VBird   23000   24000   25000
DMTsai  21000   20000   23000
Bird2   43000   42000   41000


如何帮我计算每个人的总额呢?而且我还想要格式化输出喔! 你可以将上面的数据储存成一个名称为 pay.txt 的档案,则:
[root@linux ~]# cat pay.txt | \
> awk 'NR==1{printf "%10s %10s %10s %10s %10s\n",$1,$2,$3,$4,"Total" }
NR>=2{total = $2 + $3 + $4
printf "%10s %10d %10d %10d %10.2f\n", $1, $2, $3, $4, total}'
     Name        1st        2nd        3th      Total
    VBird      23000      24000      25000   72000.00
   DMTsai      21000      20000      23000   64000.00
    Bird2      43000      42000      41000  126000.00


上面的例子有几个重要事项应该要先说明的:
所有的动作,亦即在 {} 内的动作,如果有需要多个指令辅助时,可利用分号『;』间隔, 或者直接以 [Enter] 按键来隔开每个指令,例如上面的 NR>=2 后面接的动作, 利用 total = ... 那个指令来指定加总,而后续则以 printf 来格式化输出!
逻辑运算当中,如果是『等于』的情况,则务必使用两个等号『==』!
格式化输出时,在 printf 的格式设定当中,务必加上 \n ,才能进行分行!
与 bash shell 的变量不同,在 awk 当中,变量可以直接使用,不需加上 $ 符号。
利用 awk 这个玩意儿,就可以帮我们处理很多日常工作了呢!真是好用的很~ 此外, awk 的输出格式当中,常常会以 printf 来辅助,所以, 最好您对 printf 也稍微熟悉一下比较好啦!另外, awk 的动作内 {} 也是支持 if (条件) 的喔! 举例来说,上面的指令可以修订成为这样:
[root@linux ~]# cat pay.txt | \
> awk '{if(NR==1) printf "%10s %10s %10s %10s %10s\n",$1,$2,$3,$4,"Total"}
NR>=2{total = $2 + $3 + $4
printf "%10s %10d %10d %10d %10.2f\n", $1, $2, $3, $4, total}'


你可以仔细的比对一下上面两个输入有啥不同~从中去了解两种语法吧! 我个人是比较倾向于使用第一种语法,因为会比较有统一性啊! ^_^

除此之外, awk 还可以帮我们进行循环计算喔!真是相当的好用! 不过,那属于比较进阶的单独课程了,我们这里就不再多加介绍。如果您有兴趣的话, 可以到中研院的网站查询喔:http://phi.sinica.edu.tw/aspac/reports/94/94011/,鸟哥这里也有一份 pdf 档的备份: http://linux.vbird.org/linux_basic/0330regularex/awk.pdf。 您可以自行参阅一下该文章的内容,里头可以好好的查阅一下关于数组与循环方面的介绍, 我认为该文章写的很棒喔!该介绍的都介绍了!很好~我喜欢~ ^_^

--------------------------------------------------------------------------------
文件数据比对与打印的相关功能

正规表示法是相当有用的工具,当然,那个 sed 还有 awk 也是很棒的工具程序, 不过,除此之外,我们其实还有很多可以使用的工作来处理文件数据喔! 举例来说,假如我有两个档案,一个档案是原始档,一个则是经过一些时间累积处理后的档案, 我想要知道这两个档案之间的差别,该如何运用正规表示法?呼呼~可能要透过所谓的循环来一行一行比对检查呢~ 但是,我们可以透过 Linux 提供的 diff 及 cmp 指令来进行比对即可喔!很棒的啊!


--------------------------------------------------------------------------------
档案比对

什么时候会用到档案的比对啊?通常是『同一个软件包的不同版本之间,比较设定档与原始档的差异』, 所以啰,很多时候所谓的档案比对,通常是用在 ASCII 纯文字文件的比对上的! 那么比对档案的指令有哪些?最常见的就是 diff 啰!


--------------------------------------------------------------------------------

diff
diff 就是用在比对两个档案之间的差异的,一般是用在 ASCII 纯文字文件的比对上。 我们先预处理一下一个档案好了。假设我要将 /etc/passwd 的内容,将第四行删除, 第六行则取代成为『no six line』,新的档案放置到 /tmp/test 里面, 那么应该怎么做?
[root@linux ~]# mkdir -p /tmp/test
[root@linux ~]# cat /etc/passwd | \
> sed -e '4d' -e '6c no six line' > /tmp/test/passwd
# 注意一下, sed 后面如果要接超过两个以上的动作时,每个动作前面得加 -e 才行!


接下来讨论一下关于 diff 的用法吧!
[root@linux ~]# diff [-bBi] from-file to-file
参数:
from-file :一个档名,作为原始比对档案的档名;
to-file   :一个档名,作为目的比对档案的档名;
注意,from-file 或 to-file 可以 - 取代,那个 - 代表『Standard input』之意。

-b  :忽略一行当中,仅有多个空白的差异(例如 "about me" 与 "about     me" 视为相同
-B  :忽略空白行的差异。
-i  :忽略大小写的不同。
范例:

范例一:比对 /tmp/test/passwd 与 /etc/passwd 的差异:
[root@linux ~]# diff /etc/passwd /tmp/test/passwd
4d3    <==这里是说,左边档案(/etc/passwd)第四行被删除 (d)
< adm:x:3:4:adm:/var/adm:/sbin/nologin
6c5    <==这里是说,左边档案的第六行被取代成右边档案(/tmp/test/passwd)的第五行
< sync:x:5:0:sync:/sbin:/bin/sync
---
> no six line
# 很聪明吧!用 diff 就把我们刚刚的处理给比对完毕了!


用 diff 比对档案真的是很简单喔!另外, diff 也可以比对整个目录下的差异喔! 举例来说,我们将两个目录比对一下:
[root@linux ~]# diff /etc /tmp/test
......(前面省略).....
Only in /etc: paper.config
diff /etc/passwd /tmp/test/passwd
4d3
< adm:x:3:4:adm:/var/adm:/sbin/nologin
6c5
< sync:x:5:0:sync:/sbin:/bin/sync
---
> no six line
Only in /etc: passwd-
......(后面省略).....


我们的 diff 很聪明吧!还可以比对不同目录下的相同文件名的内容, 这样真的很方便喔~



--------------------------------------------------------------------------------

cmp
相对于 diff 的广泛用途, cmp 似乎就用的没有这么多了~ cmp 主要也是在比对两个档案,他主要利用『位』单位去比对,因此, 当然也可以比对 binary file 啰~(还是要再提醒喔, diff 主要是以『行』为单位比对, cmp 则是以『位』为单位去比对,这并不相同!)
[root@linux ~]# cmp [-s] file1 file2
参数:
-s  :将所有的不同点的位处都列出来。因为 cmp 预设仅会输出第一个发现的不同点。
范例:

范例一:用 cmp 比较一下 /etc/passwd 与 /tmp/test/passwd
[root@linux ~]# cmp /etc/passwd /tmp/test/passwd
/etc/passwd /tmp/test/passwd differ: byte 106, line 4


看到了吗?第一个发现的不同点在第四行,而且位数是在第 106 个位处! 这个 cmp 也可以用来比对 binary 啦! ^_^



--------------------------------------------------------------------------------

patch
patch 这个指令与 diff 可是有密不可分的关系啊!我们前面提到, diff 可以用来分辨两个版本之间的差异,举例来说,刚刚我们所建立的 /tmp/test/passwd 与 /etc/passwd 就是两个不同版本之间的档案。那么,如果要『升级』呢? 就是『将旧的档案升级成为新的档案』时,应该要怎么做呢? 举例来说,我们可以这样做测试:
[root@linux ~]# mkdir /tmp/old; cp /etc/passwd /tmp/old
[root@linux ~]# mkdir /tmp/new; cp /tmp/test/passwd /tmp/new
[root@linux ~]# cd /tmp ; diff -Naur old/ new/ > test.patch


此时,在 /tmp/test.patch 档案之中,就记录了新旧的档案之间的差异, 对了!您必须要了解的是,用 diff 制作这个档案时,旧的档案必须是在前面,亦即是 diff oldfile newfile 才行喔!此外,新旧档案的『相对目录位置』最好也是一样比较好喔! OK!那么如何将旧的内容 (/tmp/old/passwd) 更新到新版 (/tmp/new/passwd) 的内容呢? 简单的说,可以用这样:
[root@linux ~]# patch -pN < patch_file
参数:
-p  :后面可以接『取消几层目录』的意思。
范例:

范例一:将刚刚制作出来的 patch file 用来更新旧版数据
[root@linux ~]# cd /tmp/old
[root@linux ~]# patch -p1 < /tmp/test.patch
patching file passwd
# 为什么这里会使用 -p1 呢?因为我们在比对新旧版的数据时,是在 /tmp 底下,
# 而实际的数据是在 /tmp/old 里面,因此,当我们进入到 /tmp/old 时,
# 再查阅 /tmp/test.patch 的第一行如下:
# diff -Naur old/passwd new/passwd (用 head -n 1 /tmp/test.patch)
# 发现到,我们所在的目录其实是 old 里面,所以,就必须要减去一层目录。


更详细的 patch 用法我们会在后续的第五章跟大家介绍, 这里仅是介绍给您,呵呵!我们可以利用 diff 来比对两个档案之间的差异, 更可进一步利用这个功能来制作修补档案 (patch file) ,让大家更容易进行比对与升级呢! 很不赖吧! ^_^

--------------------------------------------------------------------------------
档案打印准备: pr

如果您曾经使用过一些图形接口的文字处理软件的话,那么很容易发现, 当我们在打印的时候,可以同时选择与设定每一页打印时的标头吧! 也可以设定页码呢!那么,如果我是在 Linux 底下打印纯文字文件呢 可不可以具有标题啊?可不可以加入页码啊?呵呵!当然可以啊! 使用 pr 就能够达到这个功能了。不过, pr 的参数实在太多了, 我也说不完,一般来说,我都仅使用最简单的方式来处理而已。 举例来说,如果想要打印 /etc/man.config 呢?
[root@linux ~]# pr /etc/man.config


2003-02-10 23:20                 /etc/man.config                  Page 1


#
# Generated automatically from man.conf.in by the
# configure script.
.....以下省略......


上面特殊字体那一行呢,其实就是使用 pr 处理后所造成的标题啦~ 标题中会有『档案时间』、『档案档名』及『页码』三大项目。 更多的 pr 使用,请参考 pr 的说明啊! ^_^

--------------------------------------------------------------------------------
重点回顾

使用 grep 或其它工具进行正规表示法的字符串比对时,因为编码的问题会有不同的状态,因此, 您最好将 LANG 及 LANGUAGE 等变量设定为 C 或者是 en 等英文语系!
正规表示法 ( Regular Expression ) 的用途主要是用来做为『搜寻』字符串之用,还可以用来过滤特殊讯息等用途;
由于严谨度的不同,正规表示法之上还有更严谨的延伸正规表示法;
正规表示法的处理方式,经常是以『整行』或称为『整段』来进行处理的;
grep 与 egrep 在正规表示法里面是很常见的两支程序,其中, egrep 支持更严谨的正规表示法的语法;

--------------------------------------------------------------------------------
参考资源

洪朝贵老师的网页:http://www.cyut.edu.tw/~ckhung/olbook/gnulinux/regexp.shtml
PCRE 官方网站:http://www.perldoc.com/perl5.8.0/pod/perlre.html
龙门少尉的窝:http://main.rtfiber.com.tw/~changyj/
Study Area:http://www.study-area.org/linux/system/linux_shell.htm
中研院计算中心 ASPAC 计划之 awk 程序介绍:http://phi.sinica.edu.tw/aspac/reports/94/94011/
鸟哥备份:http://linux.vbird.org/linux_basic/0330regularex/awk.pdf
中研院计算中心 ASPAC 计划之 sed 程序介绍:http://phi.sinica.edu.tw/aspac/reports/96/96005/

--------------------------------------------------------------------------------
本章习题练习
( 要看答案请将鼠标移动到『答:』底下的空白处,按下左键圈选空白处即可察看 )
我想要知道某个档案里面含有 boot 的字眼,而这个档案在 /etc/ 底下,我要如何找出这个档案?
既然知道有这个字眼那就好办了!可以直接下达:
grep boot /etc/*
我想要知道,在 /etc 底下,只要含有 XYZ 三个字符的任何一个字符的那一行就列出来,要怎样进行?
『只要』含有 X 或 Y 或 Z 就将该行列出来,因此,我们的范围很很广啦!这个时候就必需要使用到 [] 这个咚咚!还记得中括号的用途吗?那就是『在中括号里面谨代表一个字符而已!』 而这个中括号是一个『代表』,可以是一串字也可以是几个不连续的字!这里我们仅需要 XYZ 其中任何一个,所以可以这样写:
grep [XYZ] /etc/*
则只要在每一行当中,只要发现 X 或 Y 或 Z 任何一个,就会将他印出来!这个与 grep XYZ /etc/* 是『完全不一样』的!请仔细的思考一下ㄟ!
我想要找出在 /etc 底下,档案内容含有 * 的文件名称?
由于 * 是特殊字符,在变量的订定法则里面曾经提过要将特殊字符移除,需要使用跳脱字符,亦即是 \ 符号,所以我可以这样下达指令:
grep \* /etc/*

- 作者: huhu2k 2005年10月17日, 星期一 21:37  回复(0) |  引用(1) 加入博采

自由与爱情
Life is dear, love is dearer. Both can be given up for freedom.
生命诚可贵,爱情价更高,若为自由故,两者皆可抛。
[匈牙利]桑多尔.裴多菲

- 作者: huhu2k 2005年08月28日, 星期日 22:23  回复(0) |  引用(1) 加入博采

在韩国和韩国人说韩战 ZT
作者:孔庆东

  从字面看,“在韩国讲‘韩战’”颇有点“班门弄斧”和“孔夫子门前卖百家姓”的嫌疑。金庸先生到北京大学演讲时,调侃说有三件不自量力之事:草堂题诗、兰亭挥毫和北大讲学。但调侃归调侃,字他也写了,学他也讲了。到人家家里讲人家的事,似乎有点煞风景,但其实往往正是人家求之不得。谦虚点说是旁观者清,实际点说是雪中送炭。医生不就是常常对着我们的口耳鼻舌身大讲我们的心肝脾胃肾吗?电视里不也经常启蒙你应该补钙隆胸买豪宅吗?我们很多渊博的学者不是都到洋鬼子那里宣传过民主自由吗?而所谓“汉学”不也恰恰是洋鬼子发明的吗?那么我到韩国讲讲“韩战”,似乎也不能看作“大话西游”那般罪不容诛,何况咱中国还是“韩战”的主角呢?

  我在韩国客居两年,日常交谈、授课、演讲和接受采访等场合涉及到“韩战”无数次,另外专门给研究生讲过若干次。我感到,在这个问题上,中韩人民的认识有着巨大的差异。这种差异除了民族立场的不同之外,主要是中国人民得到的信息是多渠道的,中国人可以看到并客观看待中国的书、美国的书、英国的书、日本的书、俄国的书和韩国的书,所以能够做到“兼听”。而韩国号称民主国家,其实人民得到的信息主要是来自美国的,甚至是经过美国有意选择的。再加上韩国学生普遍历史地理素质比较低,所以交流之初,是十分艰难的。大部分韩国人关于“韩战”的基本知识是:野蛮落后的共产主义侵略我们繁荣富强的自由世界,英勇的美国人民主持正义,号召全世界人民帮助我们,最后在上帝保佑下,我们消灭了禽兽不如的敌人,民主最终获得了伟大的胜利。我每节课之前先请学生准备材料,概述韩国的官方见解,那官方材料中说,解放军在韩国被打死了90多万。我当时伸了伸舌头:中国军队最多时才来了100多万,光被打死的就90多万,那三八线肯定要划到长江去了。

  为了使讲课能够顺利,我只好多用美国、英国和日本方面的材料,这样学生才会信服。关于谁“侵略”谁的问题,我首先指出,南北双方本是一国,假如没有外国进入,无论南打北还是北打南,都属于内战,不能叫做“侵略”。我们能把美国南北战争叫做谁侵略谁么?能把中国的国共内战叫做谁侵略谁么?使用“侵略”一词,等于在前提上承认南北是两个国家,那你们还搞什各南北统一?北方使用“侵略”一词时始终是指美国侵略,他们可没说你们南方侵略北方。

  韩国官方现在把“韩战”叫做“6。25”战争,这是由于1950年6月25日这一天,朝鲜军队越过三八线南进。韩国故意称之为“6。25”战争,就可以借此把战争定性为“侵略”。我指出,在“6。25”之前,南北之间的军事冲突已经无数,北犯南有几百次,而南犯北达上千次。韩国汉城国立大学社会学教授金贵玉在他最近出版的一本书中披露,早在朝鲜战争爆发前的1949年6月29日,一支隶属于韩国军队的虎林大队--有252名队员的游击队就越过“三八线”,袭击了靠近雪岳山和金刚山的一些朝鲜村庄,有些队员甚至还渗透到位于北纬39的元山市附近的安边地区。他们在朝鲜活动了两个星期后,大部分被歼灭,只有50人回到了韩国。韩国联合通讯社援引韩国一位陆军官员的话证实了金贵玉的说法。这位官员说虎林大队创建于1948年。所以说要追查到底是谁打响了第一枪,就好比要追查是谁先起了杀机一样困难。当时北方的领袖金日成主张“和平统一”、“全民选举”,因为金日成是举国拥戴的抗日英雄,用民主方式肯定会大得人心。直到“韩战”结束后,金日成仍然呼吁全民公决,而美国和南方坚决不同意。与金日成相反,南方的领袖李承晚主张“武力北进”,“军事统一”,因为李承晚在祖国沦陷期间,长期躲在美国当逍遥派,在“二战”期间又曾主张朝鲜由列强托管,因此民愤很大。美国实在找不到更有能力的傀儡,才扶持这个李承晚统治南方的半壁河山。而在南方统治集团中,最有威望的是追随中国国民政府转战各地、颠沛流离、长期致力于祖国光复的金九先生。我在梨大图书馆查到了金九先生多次写给蒋介石的真挚诚恳的信件,展示给学生,学生都大为惊叹。李承晚嫉妒和害怕金九的威望,便派特务把金九暗杀了。蒋介石为金九题写挽词曰:“为国家求独立为民族争自由伟哉斯人兴灭继绝取义成仁见大节于颠沛昭正气于千秋”,这是非常高的评价。美国对李承晚的流氓作风也十分不满,但只有他能够收编那些日本人留下来的兵痞无赖,而且反共态度坚决,所以对他只好敬而远之。美国把朝鲜和台湾都划到了一线防御圈之外,任凭共产党解放台湾,希望三八线保持现状就好。这样,李承晚就必须发动战争才能为自己的政治生涯赢得新生的机会。而且,1945年光复之后的军事对比是南方明显压倒北方的。

  那么,军事实力较弱的北方却怎么能够势如破竹、把李承晚一举打到釜山海边的呢?我向韩国朋友揭示了一个国际学术界皆已知晓、而韩国学者却大都不知的“绝密内幕”。原来,金日成的人民军主力,是从中国调回的中国人民解放军第四野战军的三个“朝鲜师”,是横扫大江南北的林彪的部队!据北京大学历史系兼职研究员和中国史学会理事沈志华先生的介绍,1945年后东北的朝鲜人约有120万,其中大约5万参加了四野(即东野)。金日成迫于南方军事挑衅的形势之严峻,致信毛泽东请求让这些朝鲜师“回国保卫家乡”。毛泽东是共产主义者和国际主义者,而且中国革命即将胜利,解放台湾也用不了那么多人,解放军即将大批复员,便指示林彪把这三个猛虎般的雄师连同全部装备移交朝鲜政府。当1950年4月18日最后一个朝鲜师回到元山时,李承晚还不知深浅地继续向北方进犯。金日成迅速以这三个师为骨干,组建成十五万精锐大军。6月25日,在斯大林的默许下,瞒过毛泽东,一举越过三八线,破汉城、拔水原、克仁川、陷大田,一眨眼的工夫就解放了90%以上的南方,把残余的美韩联军追杀到洛东江以南的狭小区域。那些老八路和四野出身的人民军,曾经打四平、困长春、战锦州、夺营口,曾经31小时拿下天津,让傅作义乖乖交出北平,曾经“宜将剩勇追穷寇”,把小诸葛白崇禧的二百万江南子弟兵打得灰飞烟灭,眼前这点芝麻仗哪够他们打的?金日成兴奋得已经把祖国统一大会都筹备好了。

  然而战略伟人毛泽东闻讯后大为担忧。他知道美国必会插手,三八线突破的不是半岛南北的边界,而是东方与西方的边界,美国岂能袖手旁观?果然美国“二战”名将麦克阿瑟一番慷慨激昂的演讲,打动了国会。年过七旬的麦克阿瑟重披战袍,就任联合国军总司令,要把大韩民国“从共产主义的魔爪下拯救出来”。老麦克冒着五角大楼的一致反对,以1比5000的赌胆,把宝押在了仁川登陆上。因为从军事上看,仁川登陆的成功几率只有1/5000!那里的潮水涨落差最高时达11。2米,是世界上最大的涨落差。退潮时,几百年所淤积的泥滩延伸近4公里。因此登陆冲锋只能在高潮时进行,可仁川的高潮只有早上6时59分和下午7时19分各一次,每次时间不到两小时,如果两小时之内不能突破岸防,那搁浅在泥滩上的舰队就会成为炮火的活靶子。就在这两小时之内,还要攻占控制全港的要地月尾岛,还要冲过潮速达每小时11公里的而且可能布满水雷的飞鱼海峡……然而麦克阿瑟坚定地说:越是不可能,就越会保证奇袭的成功!老夫指挥过11次登陆作战,诸位专家都说不可能,可老夫11次都成功了。关键在于,诸位专家都想不到的,那愚蠢的共产党就更想不到了。休再罗嗦,看老夫马到功成!

  不过,老麦克的诡计,共产党人其实算到了。8月下旬,解放军总参作战室不但料到了仁川登陆,而且把登陆时间精确计算到了9月15日凌晨。毛泽东听完汇报,立即通知了金日成。可惜,“金日成忽视毛的警告,认为不值得考虑,并命令对此保密”。(陈兼《中国走向朝鲜战争之路:中美冲突的形成》)

  9月15日凌晨,成千上万的美国海军陆战队在几百艘舰船、数百架飞机的助攻下,蜂拥上仁川海滩。准备不足的人民军顽强抵抗,无一投降,全部阵亡。麦克阿瑟一刀将朝鲜半岛拦腰截断,形势当即逆转,人民军主力陷入重围。待金日成拼死杀回中朝边境时,手上只剩三个多师,麦克阿瑟向他广播“最后通牒”,命令他“无条件投降”。斯大林此时不但不出兵救援,反而通知中共中央:“金日成同志到中国东北组织流亡政府。”讲到这里,我对学生说:这就是弱国无外交啊。三八线本来就是美国的一个小参谋在地图上轻轻一划问世的,金日成、李承晚,打来打去,都以为自己是为了民族统一大业,实际上都是大国的政治筹码。连当时的中国,在苏联眼里,也不过是个大点的筹码,美国就更不把中国当回事了。毛泽东说得很形象:“让中国人把腰弓起来当座桥,让美国人踩着到苏联,让苏联人踩着到美国。”仰人鼻息的滋味,中国和韩国可都是尝够了的。

  学生问:那你们中国,为什么要来侵略我们呢?

  我说,美国打到了鸭绿江边,尖刀连已经对着中国这边撒尿了,飞机炸了东北,炭疽鼠疫都洒过来了,不打行吗?中国侵略你们干什么?中国是要保卫自己的安全。现在公布的毛泽东给周恩来的电报中说:“……我们不出兵,让敌人压至鸭绿江边,国内国际反动气焰增高,则对各方都不利,首先是对东北更不利,整个东北边防军将被吸住,南满电力将被控制。”中国今天在朝鲜驻扎了一兵一卒吗?美国军事史家约翰·托兰在1989年5月5日说:“中国出兵朝鲜是出于国家利益的考虑,是不得已的。如果苏联打到墨西哥,那么美国在5分钟之内就会决定出兵。”然后我与学生一起回顾了历史上中国军队参与的四次“韩战”。

  中国军队大规模进入朝鲜半岛作战迄今共有四次。第一次是唐朝帮助新罗统一。当时朝鲜半岛分为新罗、百济、高句丽三国,与倭国交好的百济和高句丽不断进攻新罗,阻隔新罗朝贡之路。新罗请求唐朝天子救援,唐高宗先后派遣薛仁贵、苏定方等大将出征。这便是民间传说中有名的“薛仁贵征东”。唐罗联军大败倭寇,灭了百济和高句丽,使朝鲜半岛完成了统一,新罗文化达到了辉煌的高峰,产生了崔致远这样的杰出文豪。

  第二次是朝鲜中期,日本的“关白”丰臣秀吉为实现“直捣大明国,迁都北京城,远征天竺”这一吞并世界的民族梦想,首先吞并朝鲜,史称壬辰战争。已经二百年没有战乱的朝鲜号称“小中华”,歌舞升平,文恬武嬉,两月之间,连陷三京。朝鲜国王逃到中朝边境,准备过江“死于天子之国”。明朝政府闻奏朝鲜求援,马上认识到:“关白之图朝鲜,意实在中国”,“而我兵之救朝鲜实所以保中国”。这话实际上就是:“抗倭援朝,保家卫国。”明朝万历皇帝派大军水陆并进,痛歼倭寇,朝鲜各路“义军”也奋起抵抗,战争前后进行了七年。朝鲜老将李舜臣和明朝大将邓子龙都在激战中殉国。最后倭寇大败溃逃,丰臣秀吉气病而死,朝鲜重整河山,视大明为再生父母。儒家文化从此在朝鲜半岛被尊奉到无与伦比的程度。朝鲜国王宣祖说:“中国父母也,我国与日本同是外国也,如子也。以言其父母之于子,则我国孝子也,日本贼子也。”(《宣祖实录》卷37)中国军队的胜利,又一次维护了朝鲜半岛人民的和平,促进了朝鲜半岛文化的发展。

  第三次是清末甲午战争,大家都清楚。腐败的清朝军队一败牙山,二败汉城,三败平壤,最后北洋水师也全军覆没。不要说保卫朝鲜,连中国自己都保不了,赔款割地,丧权辱国。当时等于是把朝鲜和台湾拱手割让给了日本。中国的失败,导致朝鲜人民当了50年的亡国奴。韩国在政治上可以说自古就是独立国家,但在民族命运上,从来就是与中国的兴衰息息相关的。二战末期西方列强企图阻挠韩国独立,要联合国“托管”韩国,是蒋介石先生和毛泽东先生不谋而合地力主韩国独立,要求还朝鲜人民以自由,这才结束了朝鲜半岛半个世纪的殖民地历史。

  第四次就是“抗美援朝”。金日成越过三八线,美国不答应。那么麦克阿瑟不但越过三八线,而且打到了鸭绿江,东北是全中国的工业基地,中国以后怎么搞建设?中国能答应吗?美国前国务卿基辛格博士在《大外交》中写道:“毛泽东有理由认为,如果他不在朝鲜阻挡美国,他或许将会在中国领土上和美国交战;最起码,他没有理由去做出相反的结论。”按实力,中国根本不是美国的对手,国家满目创痍,百废待兴。1950年6月30日,即美国决定全面介入朝鲜战争的当天,中国颁布了《土地改革法》,同一天,中央下达了毛泽东和周恩来共同签署的《军委、政务院关于1950年复员工作的决定》,土改、复员、剿匪、稳定物价、恢复生产、解放台湾,哪件事都不容许中国与美国开战。是美国,逼得中国非战不可了。志愿军总司令彭德怀出征前对中国军官们说:“咱们叫志愿军,其实我也不是志愿的。要不是美国军队压到了鸭绿江边,我也不会是志愿的。现在他打到了咱们家门口,我志愿挂帅出征,你们志愿不志愿?”中国军官们齐声呐喊:“志愿!”这志愿是不愿也得愿。美国兰德公司的研究员乔纳森·波拉克在一篇论文中指出:“北京决定参加朝鲜战争是受形势的支配,而不是按计划。”要是按计划,1950年四野的任务是解放台湾,然后回家娶媳妇,生儿子,种庄稼。所以朝鲜战争的爆发,最高兴的人是谁?是蒋介石。朝鲜战争不仅保住了台湾的蒋家天下,而且使台湾成为军需后勤基地,直接带动了台湾的经济复苏。

  可是中国不出兵则罢,一出兵就震惊了世界。两次战役就把“美李匪帮”推过了三八线,解放了整个北方,五次战役就让美国打消了胜利的希望。美国三易主帅,一个比一个更气馁。美国前国防部长马歇尔坦白承认:“神话揭穿了。别人以为我们是一个强国,而事实证明,我们并不是。”美国不可战胜的历史终结了。

  我逐次讲过了大小战役后,有的学生说,中国就靠人海战术,是用死人获得的胜利,而我们是民主国家,最珍惜人的生命。我说,那我们算算账吧,看谁死的人多。1953年10月25日美联社发布的联合国军被歼数为147万余人,韩国国防部编写的《韩国战争史》和日本《军事史杂志》公布的被歼数为116万余人,1988年出版的《中国人民志愿军抗美援朝战史》统计数字为,中朝军队共歼敌109万余人(含朝鲜人民军独立作战歼敌13。6万余人),其中美军39万余人,韩军66万余人,其他仆从军2万余人。无论根据美国、英国、日本、韩国和中国的统计数字,联合国军方面都损失了100多万,而志愿军的伤亡共36万余人(其中阵亡11。5万余人,战伤22。1万余人,事故伤亡和病故等非战斗死亡2。5万余人),失踪、被俘2。9万余人。无论怎么夸大,也不超过50万。加上朝鲜人民军的数字,中朝一方共损失大约六七十万。比美韩等17个国家组成的联合国军一方少得多。中国的多数伤亡不是由于战斗不利,而是由于后勤太差。比如长津湖一战,溃逃的美军已经进入了志愿军的伏击圈,可是志愿军却一个也站不起来,整整一个连的志愿军全部冻死在零下40多度的阵地上。后来志愿军改善了后勤,想了很多办法,武器也越来越好,经验也越来越多,伤亡就越来越少了。

  韩国的战争纪念馆中有一幅战场油画,画的是共产党用铁镣把土兵固定在战壕内,所以士兵只好拼命。我笑着说共产党真傻,这幅画的作者更傻,用这样的办法让士兵拼命,土兵还不先拼了你的命?当时中国的参军热潮是你们无法想象的,100人报名,只要1个,老百姓说“比挑女婿还严”。士兵的勇敢、机智和献身精神,是上帝都要感动的。我讲了黄继光、邱少云、杨根思、李家发和一人俘虏了63个英国兵的刘光子、一人打退6次冲锋的孤胆英雄高守余以及奇袭白虎团等战例。我说,认为中国武器差就会使用人海战术,这是军事上的无知,是美国为了遮掩自己的失败而散布的自欺欺人的谎言。面对现代化的火力,再大的人海有什么用?那不是集体自杀吗?上甘岭战役联合国军的伤亡是志愿军的两倍多,其中70%是被志愿军的准确炮火所杀伤的,这是人海还是火海?中国军队最讲究战术,最讲究杀敌效率。中国军队擅长的包围、穿插、伏击、近战、夜战,都是通过灵活地利用时间空间来以最小的伤亡消灭最多的敌人。特别是战争后期,志愿军越战越勇,也越战越油,加上人民军也恢复了元气,中国经济也有了好转,苏联看到形式大好,军事援助也到位了,美国如果再不讲和,那就连三八线这个面子也不给你们了,用志愿军的话说,是“从北到南,一推就完。”根据现在公布的资料,美国也早想和了,是李承晚非要打到底,节外生枝地策划战俘事件,还声称美国投降了他也不降,逼得双方打个没完,结果又多死了十几万人。上甘岭战役之后,联合国军已经再占不到什么便宜了。美国人是聪明的,虽然第一次在没有胜利的协定上签了字,但这总比彻底失败、在那丧权辱国的条约上签字要好啊。

  学生们说,这么说我们不是胜利者呀?

  我说,什么叫胜利?从军事学上讲,战争胜利包括两个要素,一是有没有达到战争目的,二是付出的代价是否过大。抗美援朝战争中,中国的目的就是把美军打回到三八线,恢复朝鲜的独立,保卫中国的和平建设,这个目的完整地达到了。而美国的目的只达到了一半。那么付出的代价呢,无论人、钱、物,中朝一方都比对方要少,都比预料要少,而且少得不成比例。美军在战争中消耗各种作战物资7300多万吨,开支战费830多亿美元。而中朝军队消耗各种物资560多万吨,开支战费62。5亿元人民币。全国5亿人民平均每人12块钱,基本没有影响中国的经济建设。还有另外的无法换算的价值,这一战打出了中国人民的信心,洗刷了中国的百年耻辱,高涨的爱国热情转化成巨大的生产力,大大促进了国民经济的恢复,东北成为国家建设的总基地,使新中国奠定了工业化的基础。中国恢复了大国的国际地位,中国人也开始在世界上扬眉吐气。新加坡前总理李光耀回忆说,朝鲜战争前他在欧洲旅行,到处遭受歧视,可是新中国出兵朝鲜并连获胜利后,西欧海关人员一见华人都肃然起敬,李光耀从此开始认真学习汉语。所以说中国是大大地胜利了。

  最后一次课上,学生们说,现在我们明白了,“韩战”三年,中国胜利了,美国也不算失败,还是第一强国,就算是花钱买个教训,苏联也得到了好处,日本和台湾都发了战争财。只有我们“南韩”和“北韩”,什么目的也没达到,死了一百多万人,满街是残疾和乞丐,家家没有男的,每天到美军的垃圾堆里去拣剩饭。战后是几十年的军事独裁,打倒了李承晚,又来了朴正熙、全斗焕,直到80年代的光州事件还屠杀了那么多人民。现在虽然民主了,可是还有三万多美军驻扎在韩国。听说“北韩”还要侵略我们呢。

  我说,你们还用“侵略”这个词,那美军怎么能不驻扎在你们这里呢?人家是帮你们“打击侵略者”呢。最后,我给你们讲一首李承晚博士的诗吧。我参观大韩民国首任大总统李承晚故居“梨花庄”的时候,抄了一首他赠给美军司令范弗里特的五绝:“半岛苍黄际,将军万里来。三师声势壮,胡虏自崩颓。”李承晚博士年轻时中过秀才,汉诗写得不错,书法也很漂亮。他这首五绝写得气韵威猛,笔法纯熟。诗中深情歌颂了美国大军在南方生死危亡的紧要关头拯救了他们。但该诗在观念上似乎有些问题。诗中用了“胡虏”一词,请问胡虏是谁?岳飞的《满江红》说“壮志饥餐胡虏肉,笑谈渴饮匈奴血”,那胡虏指的是异族的侵略者。而美军帮助李承晚打败的是金日成。金日成虽然被打得“崩颓”过,可他是“胡虏”吗?李承晚和金日成,南方和北方,不是同文同种的一个民族的同胞吗?用了胡虏一词,不但包含着“非我族类”的意思,而且还有种族歧视的韵味。其实,如果尊重词义的话,美军才是“胡虏”。这位李大总统,为了讨好大救星,连民族立场都搞错了。这种观念,我觉得才是南北统一最大的障碍啊。

  学生们说是的,提到共产主义的北方,虽然是一个民族,总觉得有些凶神恶煞的恐怖。而美军虽然可恨,可看惯了也觉得毕竟是个人。我说关键就在这里啊,看惯了就什么都能接受,宣传惯了也就不去反思。鲁迅说,要吃人必先宣传那人是恶人,妖魔化从来就是战争的前奏啊。自从抗美援朝一战,我们东亚已经和平了半个多世纪了,但谁能保证哪一天不会再来一场战争呢?你们是基督教学校,愿上帝保佑这三千里锦绣河山吧!

- 作者: huhu2k 2005年08月26日, 星期五 22:22  回复(0) |  引用(1) 加入博采

这两天怎么使劲下雨

人不是神,难免犯错,知道错了就不要硬着头皮,和谁赌气似的错下去。自己心里不舒服,也直接影响到周围的人。生活,时间不等人,岁月不饶人,上天给予我们的时间太少太少了,所以我们要珍惜每一天。

- 作者: huhu2k 2005年08月17日, 星期三 19:46  回复(0) |  引用(1) 加入博采

朝唐乐队历史

  中国古代,历史上公元618-907年这段时间的朝代为“唐”,这是中国历史上的鼎盛时期。自唐高宗开国以来,历经贞观之治,开元盛世,其时中土英才代出,万国朝唐,丝绸之路连系了东方与西方,一切的一切在这里交流、包容、融合,终于汇凝成灿烂的“唐文化”。
,下载,论坛,BT论坛,FTP,动漫Vgx7Xp
  现代中国北京,有这样一支由四位长发飘逸、高大挺拔的北方汉子组成的摇滚乐队,他们追思盛唐古风,用音乐诠释历史、张扬生命与个性,劈裂陈朽的框架,席卷纷扬的心绪。他们高唱着“梦里回到唐朝”、“太阳,我在这里”!挟豪侠之气从幽幽古梦里切入现代生活,他们的名字叫做――“唐朝”。
  在今天看来,本世纪80年代无疑是中国历史上又一次风云转折的起点。北京这座当代的“长安城”,同样开始汇聚来自各地的文化思潮和精英人物。1986年前后,北京已经逐渐形成了各具不同文化色彩的艺术圈,摇滚乐做前卫文化的代表形式,甚至吸引了来自其他领域的优秀人物,丁武便是其中最突出的一位。
晓风下载论坛kK0EW        f`q

  丁武,北京人,少年时习画,毕业于北京工艺美术学校,后到北京市132中学任美术教员,在习画同时接触到摇滚音乐,从此一发不可收,一年后,丁武辞去公职,步入动荡的音乐人生活,并结识了更多的朋友,当时只有17岁的张炬也是其中的一位。1988年,美籍华人KAISER(郭怡广)来中国留学,同行的还有他在加州柏克莱大学的校友SARPO(萨保),早在几年前,他俩在美期间参组的FREEBALL(自由落体)乐队就已经录制了自己的数首作品,KAISER是吉它手,SARPO是鼓手,两人在音乐理念和演奏技艺上已颇有功力。因此,当一个偶然的机会下丁武和张炬见到他们时,所感受到的震憾和刺激是如此强烈,而同时,KAISER和SARPO也为丁武、张炬执着、自信的风采折服。在迅速成为好友之后,他们决定组织一支梦想中的乐队,源于对“唐”文化的尊崇,KAISER替乐队取名为“唐朝”,一支了不起的乐队就此诞生了。

  当时,摇滚圈的基地是曹平所在的西三旗宾馆,新组建的“唐朝”也住在那里,他们整日整夜地听音乐,练琴,并试着弹一些自己的动机,尝试着自己的风格。KAISER和SARPO带来的音乐资迅使他们眼界大开,技艺精进。在一般时间的排练之后,他们参加了在“安乐居”举办的一次PARTY演出,虽然那时还没有正式的作品,但大家都隐隐感到了蕴含在他们身上的能量和“不一样”的感觉。但可惜的是,早期“唐朝”的活动时间只有3个月左右的时间,89年6月之后,KAISER和SARPO回国,丁武远走新疆,张炬则去了大连,乐队暂时解散了。5P9j M%r5Ne3X]
N#Th


  从新疆回来之后,丁武带着对生命,生活新的感悟与张炬一起继续创作,并找寻新的合作伙伴。终于,他们与同样在寻找机会的吉它手刘义君(老五)相遇了。虽然几年前他们已然相识,但此时老五的演奏技艺已非同小可,那是每天12小时苦练的回报,至今新一代乐手中仍然着他练琴不停,又累又饿以至昏死的感人故事。老五凶猛、快速的演奏风格正是丁武所苦苦寻觅的,他们一拍即合,并找来经验丰富的鼓手赵年,“唐朝”终于又组织起来并开始排练、创作。同时也开始了乐队生涯中最为艰难困苦的一段时期。

  那时候,位于王府井煤渣胡同的中央美术学院,是北京前卫艺术界的中心,丁武在这所中国美术界的最高学府里有许多朋友,其中就有后来在词作及生活上给予协助的好朋友――杨军,当时的杨军就读于美院油画系。由于朋友的帮助,“唐朝”在美院宿舍的12层租到了一间大画室,吃、住、排练全在一起。他们以惊人的精神克服着生活上的极端贫困,风格标新的作品相继问世,他们的乐器残破不堪,鼓具不全,音箱是自己做的,四个人一天有时只有一包方便面,其间的艰难困苦非常人所能想及。但他们从不抱怨环境与命运,因为“从来就没有什么救世主”,一切只能考自己。血泪和汗水浇铸成的一首首作品终于在现实的检验中得到了认可。

.163down.com@#hubY!R#us;r
  89年末,新成军不久的“唐朝”乐队应邀参加了北京首都体育馆举办的“90现代音乐会”,在中国摇滚乐发展史上,那是一次足以与“69伍斯托克”相提的一次盛会,从此北京的摇滚音乐得以浮出水面,并取得长足发展的机会。在那晚的演出中,“唐朝”虽只有2首作品出演,但以其桀骜不驯、锐利逼人的外形气质,富有传奇色彩的经历,丰富浓重的音乐底蕴和前所未有的前卫音乐语言,令听众及同行激动莫名,反应疯狂。90年5月,他们终于得到了台湾“滚石唱片”的一纸合约,开始录制自己的专辑。1992年底,“唐朝”乐队在西单音像大世界举行首发式,他们的首张专辑唱片―――《梦回唐朝》终于面世。

晓风,下载,论坛(V#B.h(c
Mr#||:B

  专辑发行后,其歌曲中所蕴含的巨大音乐能量迅速在大陆、港台掀起风暴狂潮。他们的名字与新闻在各媒体上出现,他们的歌曲在各地电台排行榜上雄居不下,“唐朝”不鸣则已、一鸣惊人!他们成为当年“亚洲最值得注意的文化现象”。的确,他们的音乐滑翔于历史的回廊,游弋于破碎的文明边缘,沉浸在生命的反思与自我放逐的深刻思辩中。丁武辽远、高亢的嗓音倾泻对繁华盛世的追忆,饱含凄楚的悲鸣和呐喊,他们的词作极其诗化,如同他们的音乐一样富于民族色彩,而一切又都是在本能状况下创作而成的,回想当年友人留下的磨去三分之一琴颈的吉它,回想木头圆板包上粗布制成的鼓具发出的沉闷声响,血泪与汗水交汇的成功景象,激励着他们并不满足自负,继续向悠久历史积淀下的民族文化深处追溯。 晓风,下载,论坛,BT论坛,FTP,动漫2J$N2G ])?:JOY`

  专辑发行后的一段日子里,乐队在生活上得到了公司提供的一些帮助,也有了自己称心的乐器,他们便把主要精力放在各类演出方面。除在国内大、中城市进行了一系列的巡回演出外,1993年2月,“唐朝”与国内其他几支乐队一起,赴德国柏林参加当地举办的“中国文化艺术节”,在得到热烈反应后,他们又随演出参加了在德国四个城市的巡回演出。1994年10月,乐队又应日本文化部的邀请,赴日本参加国际文化节,代表中国现代文化及新音乐领域的成就,在福岗市做了专场演出,同年12月底,香港红勘体育馆举行了“中国摇滚乐势力”音乐会,“唐朝”与好友张楚、何勇、窦唯同台演出,令数万观众为之疯狂,媒体佳评如潮……

晓风,下载,论坛,BT论坛,FTP,动漫N
UC!tZ#E

  而,就在乐队事业逐渐走向鼎盛,并得到越来越多支持热爱的时候,不幸降临了:1995年5月11日,乐队的初创成员之一,贝司手张炬遭遇车祸离开了我们。那是一段“昏天黑地”的日子,它带给乐队打击如此之巨,以至于每个人都无法正视每一个早晨!

  张炬,祖籍湖南,年纪虽轻,却已是北京摇滚圈的元老,他音乐悟性极高,学习乐器时间很短但很快成为出众的乐手,而且他人缘极好,圈里几乎没有人不把他当做最好的朋友,大家心折于他天真的笑容、坦诚的胸怀,他也同样爱所有的朋友们。尤其是乐队四位成员之间,更是亲如兄弟,感情至深。他的离去令丁武几至崩溃,伤心欲绝!乐队受此重创,创作、排练都无法正常进行,乐队骤然跳入了低谷,同时由于种种原因,乐队再次面临解体的危机。数月后,乐队吸收了原“呼吸”乐队的贝司手顾忠入队,恢复了排练,并参加了在深圳的小型热身演出,状态逐渐好转,一直到KAISER回到中国。

,下载,论坛,BT论坛,FTP,动漫2n;w"jz7S+H,XRO
  自此,新的“唐朝”乐队阵容确立,他们是:主唱、吉它――丁武,吉它――KAISER,贝司手――顾忠,鼓及打击乐――赵年。

  新的“唐朝”再次恢复了创作和排练,并从失去张炬的悲痛中站起来,因为他们知道,完成未竟的事业才是对朋友最好的祈念。由於顾忠、KAISER的加盟,乐队在音乐上更加丰富、完美,更富想象力和艺术性。乐队在紧张的摩登、排练之后,进行了一系列的演出,他们惊喜地发现,周围的朋友和观众依然热烈地反应和支持他们,喜爱他们的音乐。他们有了充分的自信和充足的实力做好音乐,做好“唐朝”。

  98年9月份经过乐队不断对自己的音乐期许,与北京京文音像公司达成第二张专辑的合作,也经过六年的累积在短短地三个月于同年的12月份发行第二张专辑[唐朝、演义],在专辑发行期间不但受到媒体关注外,更奠定了唐朝未来的走向。

- 作者: huhu2k 2005年08月14日, 星期日 07:47  回复(0) |  引用(1) 加入博采

已经退役的航天飞机--亚特兰蒂斯号

“亚特兰蒂斯”号航天飞机发射情景

1985年,“亚特兰蒂斯”号成为美国宇航局的第四架航天飞机。“亚特兰蒂斯”号是以美国第一艘远洋船舶的名字命名的,这艘轮船从1930年到1966年在马萨诸塞州的伍兹霍尔海洋研究所被用来进行研究。“亚特兰蒂斯”号航天飞机重77.7吨,它在1985年10月和1996年3月之间进行了16次飞行。

“亚特兰蒂斯”号航天飞机的第一次飞行是美国空军的一次机密行动,它把两颗国防通信卫星送入太空。这架航天飞机一些更加引人注目的飞行行动包括1989年将“伽利略”号和“麦哲伦”号行星探测器送入太空和1991年将康普顿伽马射线观测台送入太空。1996年,“亚特兰蒂斯”号航天飞机将美国宇航员莎朗·露西德送到俄罗斯的“和平”号空间站,露西德在空间站上停留了6个月,打破了太空停留时间的记录,之后“亚特兰蒂斯”号航天飞机又把她接回了地面。

- 作者: huhu2k 2005年08月9日, 星期二 08:34  回复(0) |  引用(1) 加入博采

[原创]父亲的朝鲜之行

这次父亲的朝鲜两日游回来传达给我们很多值得思考的现象,他说,看过朝鲜人和他们的生活之后,就知道我们现在有多么的幸福,我们的国家是多么的好。

朝鲜,法定国名为:朝鲜民主主义人民共和国,朝鲜和我国一直是友好睦邻关系的国家。朝鲜现有人口2200万,其中1/3是男性(约770万),也就是说女多男少,都够每一个男性娶两个老婆的了。全国只有两个较大的城市和一个自由贸易开发区,一个是平壤,另一个是新义州,还有罗津自由贸易开发区,平壤的人口最多约200万。全国经济主要依靠农业和冶金、机械、建材和纺织等工业,木材出口也占有很大比重,主要出口到中国等亚洲国家。

朝鲜现在实行义务教育,小学4年、中学6年,国家承担所有费用,但是学校主要是灌输。因为男性人口少,所以每个人都要服兵役,一般中学毕业需要服兵役7~8年,然后才能上大学,大学毕业还有3~4年兵役要服。

朝鲜人民人月平均收入不到五千朝鲜元,国家规定的人民币与朝元汇率是1:30,但是在银行是兑换不到的,只有罗津的黑市能够换到汇率为1:300,也就是说五千朝元兑换成人民币只有16.67元左右。在罗津的贸易市场上一市斤的面粉的售价是800朝元,一市斤大米则需要600朝元,一个人工作一个月的收入只够买不到五公斤大米。除了工资国家为每一个人提供免费住房,每月每人配给10市斤陈年的粮食(主要是杂粮),也就是说大多数人是吃不饱的,因为没有人能够买得起黑市粮食。

下面的图片是一张最大面值的朝元,这张500元的朝元,只值1.6元人民币。除了500元还有5元、10元、50元、100元和200元面额的钞票。从朝方一侧出境人员最多只能携带总价值50元的朝元出境,在罗津开发区人民币是最受当地人喜欢的外币,几乎所有商家都按照1:300的汇率换算商品价格。在对外免税商店里,所有的商品都以欧元标价,而且在免税商店和罗津的市场里不收美元,因为朝鲜一直与美国在政治上和经济上表现出敌对。

朝元

 朝元

朝鲜自1971年实现了电气化后,在大众中普及家电及电话,可是全国由于发电能力有限,除平壤之外的城市电力供应极为短缺,有一些政府机关和博物馆经常停电,这次参观一个伟大领袖金日成同志的纪念馆时,就发生过短暂的停电。每家每户的家电和电话几乎成为摆设,电话几乎是没人用得起的,电话的座机费是每月15000朝元,是人均月收入的3倍。在朝鲜全国只有一座电视台和一座广播电台,只有在每天下午的6点开始播出节目,为时一个小时,在朝鲜境内不允许接受外国电视节目和广播。

在朝鲜境内旅游只有很少一部分地方可以参观拍照,而且必须有朝鲜导游和特务在场,导游和游客不可以谈论政治问题,特务在一旁监视导游的言行和游客的行为。在朝鲜的很多地方是不允许拍照的,不可拍当地人的生活和生活环境,也不可以拍士兵和警察,只有在导游或者特务说可以拍照的地方才能拍照,就连在娱乐场所也不可以拍当地的服务员和小姐。

唯一可以在罗津买到的朝鲜生产的高档商品,就是叫做金刚山牌的香烟。后面附上烟盒正面和背面的照片。

 正面

 背面

这种香烟在罗津的商店里售价是5元人民币,而且没有标注朝元的售价。商店里还销售一些中国产的小食品和方便面等食品,这在当地是无人问津的--太贵了。

(待续。。。。。。)

- 作者: huhu2k 2005年07月31日, 星期日 10:36  回复(0) |  引用(1) 加入博采

[浪漫]一个女人对老公的要求

1.老公,你要努力挣钱。钱这个东西,不能少得来让我们整日为生计发愁, 最好也不能多得来需要别的女人帮着花。
    2.请给我关爱、信任、尊重和自由。
    3.你要加强锻炼,强健身体,好在我们共同返家的夜晚,一口气抱我上到五 楼的家门,我渴望每天都能做你的新娘。
    4.请善待我的家人,一如对你自己的亲人。
    5.至少每天对我说三次"我爱你!",在清晨醒来时、下班回家时、晚上钻进被窝时。
    6.在我身体不适的时候,你要扮成一个大夫,摸摸我的额头、量量我的体温, 然后再把我送到真正的大夫那里去吃药、打针。
    7.突然把礼物送到我的单位,让所有人都知道你对我的爱。
    8.在我心情遭透,蛮横发脾气的时候,老公,请拥吻我,而不是和我理论。
    9.永远不要对我有破口大骂的样子,因为你说过我是你最疼爱的人。
    10.请在你有空的时候,为我做一顿香喷喷的饭菜,并在桌子那端深情款款地把我凝望。
    11.每天下班后尽量回家吧,公事需要应酬,老婆也同样需要。
    12.你出差时,希望不会出现传呼、手机同时没电的现象,如果能频频主动打电话问我"吃了没有?"并随时汇报行踪则更好。
    13. 周末和我一起做做家务吧!我喜欢两个人挽起衣袖,一边做事、一边唱歌的感觉。
    14.请你记住5大纪念日:老婆的生日、初次见面纪念日、结婚纪念日、情人节和三八妇女节。
    15.请你记住3大纪念地:初识纪念地、第一次亲密接触纪念地、求婚纪念地。
    16.请你记住5件大事:老婆最爱吃的食物、老婆最喜欢的颜色、老婆最爱的花卉、 老婆最常用的香水、老婆最爱听的歌。
    17.请每周陪我做一次远距离散步:每两周带我去茶楼或酒吧会一会朋友;每两月和我手拉手去看一场电影;每年至少安排和我旅游一次。
    18. 让我每晚枕着你的情话入眠。
    19. 或者在半夜三更搂紧我讲鬼故事。
    20.向新朋友介绍我时,请搂着我的腰,而不是站在一旁用手指点。
    21.在街上遇见美女凝视时间不超过5秒,并迅速指出那位美女与我相比较的美中不足。
    22.看过电影《一声叹息》,请谈谈对男主角这段表白的深刻体会:"婚外恋这事儿,哪怕对方是个小仙女,也千万别去碰!"
    23.我身上有很多缺点,我已经够苦恼了,请不必随时向我提醒。
    24.我身上有很多优点,有些连自己也不清楚,请随时大声地告诉我。
    25.没有我的父母,哪回有我?所以,你对他们要心存感激和尊敬。
    26.逛街时请不要恶意地把商场说成铁钩工厂,因为你自己也有被家电部或体育部长时间钩住的时候。
    27.虽然你对那些美丽迷人的女明星们了如指掌,但在我问到你时,仍然希望得到这样的回答:"舒奇是谁?布兰妮是不是打网球的那个?"
    28.请不要偷看我过去的日记和情书,那些与你无关,更不要因此吃飞醋,这无异与自己往醋缸里跳。
    29、请不要反对我看肥皂剧,如果我流泪,不能嘲笑,因为你看中国足球队比赛输了时,眼眶红红,我也没有嘲笑。
    30、请不要自做多情,觉得很多女人对你有意思,还拿到我面前炫耀。就像对面新搬来的 那个漂亮女孩,你总说别人爱趴在阳台上看你,后来我们都知道了,她是个斗鸡眼,这次 教训请你记牢。
    31、虽然你有裸睡的习惯,但这也不能成为一条内裤可以穿两天的理由。
    32、希望你还保留一些厚颜,领着我看了一场又一场电影,就是不让我回家。
    33、如果我做错了事,心里已经很难过,请主动承担起你应该甚至不应该承担的责任吧,你宽广的胸怀才是我永远停伤心的港湾。
    34、老婆工作不顺心,你要循循善诱、帮忙分析,提出建设性方案若干。
    35、老婆取得进步,获得表扬或晋升,你要欢呼雀跃、与我同庆,并指出老婆取得成功的内因若干,极尽赞美。
    36、请记住老婆烫的一头栗色头发是时尚而不是麦穗。
    37、老婆穿上透视装是性感而不是发烧。
    38、老婆涂脂抹粉是艳惊四座而不是妖魔鬼怪。
    39、老婆穿厚底鞋是锦上添花而不是先天不足。
    40、老婆说粗话是率直可爱而不是没教养。
    41、老婆不讲理是撒娇发嗲而不是撒野耍泼。
    42、老婆粉拳打来是爱你而不是扁你。
    43、老婆财权大揽是善于管理而不是抠门小气。
    44、最主要一点,老婆永远是对的,因为老婆爱你! 

- 作者: huhu2k 2005年07月27日, 星期三 14:23  回复(3) |  引用(1) 加入博采

好几天不上来了!
前一段时间太忙,忙各种各样的事情,没有时间上来看看,就连周六日都没有空闲。

- 作者: huhu2k 2005年07月25日, 星期一 11:44  回复(0) |  引用(1) 加入博采

十二星座电影伊甸园

成长的脚步越行越快。许多新奇有趣的风景让年轻的我们为之兴奋。风景过后,唯独那段对两性真谛无知而又向往的岁月能够久久不忘。情色片如伊甸园的蛇果一般成为心头抹不去的诱惑。但当某一天,情色片终于神秘不再,我们却困惑了。如何选择一部对味的情色片,不妨看看我们结合十二星座给您做出的推荐。



  白羊座

  《体热》

  Body Heat(1981)

  主演:威廉赫特、凯萨琳透纳

  白羊座一贯喜欢速战速决。不论多么精致优雅的情色片,只要开场稍显沉闷,在白羊的眼中已经等同于垃圾片。把《体热》推荐给这个火热的星座缘于电影与片名相呼应的激情内容。《体热》正如它的名字一般,刚刚开场就让体温与情欲不自觉的升温。它一反情色片通常把激情集中在后半段的模式,不过开场20分钟,已经高潮迭起。如果这样的情色片还不能让白羊们全情投入,那我也无话可说了。

  金牛座

  《爱你九周半》

  91/2 Weeks(1986)

  主演:米基洛克、金贝辛格

  请恕我直言,看似忠厚老实得金牛们,对于性却绝对称得上是“色胆包天”,猪八戒算个典型。鉴于金牛们对性的强烈喜好,我强烈推荐这部号称“情色经典冠军”的《爱你九周半》。闷骚的艺廊女助理(疑为金牛女)迷恋上迷样的性感男人,两人以天为床、以地为铺,好一对“亚当夏娃”。整部片中,只见男主角米奇洛克不停的将各种带着性暗示的食物,塞到女主角金贝辛格的嘴里,或涂抹在女主角的身上。美味的食谱加上活色生香的美人,如此双重诱惑,真正的金牛又如何能够抗拒。

  双子座

  《百万金臂》

  Bull Durham(1988)

  主演:凯文科斯特纳、苏珊莎兰登

  聪慧滑黠的双子座,具有极其旺盛的好奇心,每分钟都在探索。对双子来说,不论是剧情片或情色片,信息量大都是必要条件。三分钟内还没有新鲜内容出现,双子座一定会自动消失。所以推荐给双子座这部堪称情色史上最富有变化的《百万金臂》。当年还未出名的凯文和苏珊莎兰登的激情场面,精彩示范如何从“一垒安打”,最后漂亮“攻占本垒”!每一步皆不相同,一定能吸引双子们的眼球。

  巨蟹座

  《大开眼界》

  Eyes Wild Shut(1999)

  主演:汤姆克鲁斯、妮可基得曼

  有些谨慎、有些保守的巨蟹座最感兴趣的题材基本都与家庭有关。给巨蟹们推荐这部超完美夫妻心理戏。沉迷于嗑药酗酒的妮可毫不讳言对别的男人心存不轨,心理失衡的汤姆克鲁斯则一怒之下暗夜外出寻欢不归。情色男女耽溺于城市中的性爱游戏无法自拔,充满了世纪末的黑色情调,着实能让惯于小心翼翼的巨蟹们“大开眼界”。事过境迁,汤姆克鲁斯和妮可这对当年的神仙眷侣,现在也已劳燕纷飞。光是这点,又能巨蟹们好好怀旧一番。

  狮子座

  《罗马帝国艳情史》

  Caligula美国/意大利1980

  声势浩大、场面壮观是狮子们一贯的最爱。普通的小制作情色片只会被王者的狮子嗤之以鼻,所以推荐给狮子们的情色片自然非《罗马帝国艳情史》这部情色片史上最不得了的大手笔。故事取材于古罗马帝国历史,历史上的卡里古拉王荒淫无度,残暴成性,长期与其妹妹保持不伦之情,并患有精神病。影片中百味性爱让人眼花缭乱,甚至还有令人瞠目的百人大战场面。如果这样宏伟的场面还不能令狮子们满意,建议不如从此放弃情色片。

  处女座

  《夜间守门人》

  (the Night Porter)

  演员:夏洛特.兰普琳

  处女座的自律是其他星座难以比拟的,但是这道防线一旦崩溃,任何将都成为可能。推荐给处女座的《夜间守门人》是一部备受争议的描写受虐与性虐关系的影片。该片别出心裁的构思是令人震惊的,女主角二战结束后仍无法摆脱在集中营里受虐待的梦厣,直到发现了当年虐待她的那个纳粹军官,在复杂的心理作用下竟然继续这一段危险而变态恋情。该片富有的探索精神一定能够吸引心思慎密的处女座。

  天秤座

  性感枕边书(the Pillow Book英国1996年)

  演员:邬君梅、翁倩玉

  优雅、唯美是天秤座终身追求的方向标。所以推荐给秤子们的是一部画面精致、高雅的情色片——《性感枕边书》。这是国外情色片中少有的以探讨东方性文化为主题的。在西方人眼中,中国人对于性的态度是含蓄、内敛的。没有过激的动作,只是若隐若现的女性身躯。影片中,邬君梅的身材令人印象深刻,那满布书法的、具有优美曲线的背让更多的人触摸到隐藏在东方古老文化中深层的性。

  天蝎座

  《爱奴》

  中国香港1972

  导演:楚原

  主演:何莉莉、贝蒂、岳华

  复仇,这个在电影中因泛滥而腻味的主题,只有在天蝎精神的完美演绎下才能焕发出奇光异彩。推荐给天蝎座既是一部用香艳手段完美体现复仇的情色电影。少女爱奴被绑架,竭力反抗不成终难逃妓女的命运。妓院老板春姨因爱奴太像自己而爱上爱奴,还教爱奴武功。不想爱奴其实是伺机报复,她要将过去的嫖客一一杀死。影片情节引人入胜,场景极尽华丽,动作场面亦是精彩纷呈,入选当年世界十大名片之列。

  射手座

  《烈火情人》

  Damage(1992)

  主演:杰瑞米艾朗、茱丽叶毕诺许

  射手座总是在不遗余力的追逐自己的梦想。有梦就去追当然是件好事,但如果遇上的是噩梦呢?推荐给射手的《烈火情人》就颇有点为情欲扑火自焚的味道。年近半百的英国内阁官员,偶然“触电”迷般的冰山美女,未料到这个美女,竟是自己未来的儿媳妇。思前想后的老头终于抗拒不了色欲的诱惑,甘冒着毁誉、乱伦的后果,深陷其中不可自拔。最后儿子终于发现老爹与未婚妻的隐秘,吓得从楼上摔死,上演一幕家庭悲剧。

  摩羯座

  《毕业生》

  The Graduate(1968)

  主演:达斯汀霍夫曼、安妮班克劳馥

  印象中的摩羯座都是十分务实的,工作起来认真而专注,唯独对风花雪月似乎少了一点触觉。《毕业生》算是一部带些黑色幽默的情色片。初入社会的达斯汀霍夫曼遇上性欲不满、说起话来又沙哑挑逗的风骚丈母娘。虽然他吓得发起口吃,不知所措,但摩羯仅有的有关情欲的那根神经却被挑动了。情欲与现实,务实的摩羯会怎样选择呢?

  水瓶座

  《野东西》

  Wild Things(1998)

  主演:丹尼丝理察斯、妮芙坎贝尔、麦特狄伦

  一切不够另类的东西都会被水瓶们拒绝。《野东西》胜在内容的出人意料。号称Y世代必看的校园悬疑情色片《野东西》,由跃升为邦德女郎的丹尼丝理察斯、妮芙坎贝尔和麦特狄伦,大搞淫乱的三角关系。该片以校园为背景,清新中诱惑无限,三人最后还来个香艳火辣的床上三人行,光是介绍已经引人遐想无限。电影中两女傲人的身材,即使不喜欢内容,也不应错过!

  双鱼座

  《情人》

  the Lover(1992)

  主演:简-玛尔奇、梁家辉

  这部电影大家耳熟能详。碧波微荡的湄公河、淡蓝的天空、悠然劳作的船工,一切的画面都能符合双鱼们对浪漫的致高要求。金发碧眼的法国少女在湄公河畔遇见了自己终身难忘的来之中国北方的情人。他们疯狂相爱,抵死缠绵,最终却逃不过现实的阻隔。伤感忧郁的情绪,痛苦无望的爱情,是热爱的悲情主义的双鱼们不可错过的情色精品。

- 作者: huhu2k 2005年07月25日, 星期一 00:29  回复(0) |  引用(1) 加入博采

【转贴】影史十大经典情色电影
摘要:【转贴】影史十大经典情色电影 查看全文

- 作者: huhu2k 2005年07月25日, 星期一 00:10  回复(0) |  引用(1) 加入博采

最近太忙,心里事情太多需要想的也太多!
前天的晚上就是一场噩梦,错误,太多的错误。自己怎么是这样的,自己骂自己了很多遍,现在后悔当初做的事情。

- 作者: huhu2k 2005年07月13日, 星期三 15:20  回复(0) |  引用(1) 加入博采

我们还能婚几次(ZT)
我们还能婚几次

文/落樱飘飘

    一段婚姻势必要从刚开始时的激情澎湃降温到平和,在这段过程中,有的人将爱情消耗光了,有的人觉得爱情丢了,也有的人没能熬过这段时间以“了解”为借口逃逸了……面对太多的诱惑与迟疑,我们,还能婚几次?

    与朋友谈起磨合期的时候,他指责我的过于浪漫与不切实际,我知道他是为我好,却忍不住为他描绘的那副平淡而琐繁的婚姻生活而心寒。或许是因为还没有走出热恋的庇护吧,总感觉婚姻就该是我与老公现在的状态,觉得与他所说的无奇比我们的状态才是幸福。

    吃西瓜的时候总喜欢偎在老公的身边,然后不时的喂老公几口西瓜,看着他自然而然地吃掉我勺中的西瓜如同自己在动手时,满满的幸福就那样充溢心间,我熟悉他的每个举动就如同他对我的了解一样,我实在没有办法想象,磨合期过后我与他会放弃这样的亲密。

    我对老公说:“其实我感觉我除了懒以外,还挺符合中国典型劳动妇女性格的!”老公伸手拍了一下我的头,笑着说“得了吧你,就你这火暴性格,就你这任性,你快别糟蹋劳动妇女的形象了,还除了懒以外,懒都懒了还什么劳动妇女啊!”

    相处三年了,他有时虽然不知道我生气的理由,但却会在我生气的时候默不作声听我数落;他会在醉酒后明明生我气的时候理智的说“我喝酒了,我不和你说”来控制自己可能爆发的不满;他在我撒娇耍赖的时候像个长者一样包容我的任性……我不能想象如此相爱的两个人会走不出磨合期这样一个婚姻的陷阱。

    一有女同事打电话给老公,我便揶揄他说“和女同志交往要注意尺度,散发魅力要注意分寸”,老公则哭笑不得的说“我偏不注意尺度,偏不控制分寸,看你怎么办!”呵呵,然后两个人笑成一团,用怀疑的态度去对待猜疑,然后用幸福化解误会,所谓的磨合便是如此吧!

    有太多的幸福细节提醒着我们,用太多的幸福细节暗示着我们,即使有一天我们的婚姻走向了平淡,甚至面临用离别来保全曾经的爱情,我想我都不会后悔,我真真切切的爱过了,我和我自己爱的人用婚姻的形式成全了爱情!而对于我自己来讲,可以用死亡来成全爱情,却不会用离婚的形式背叛爱情!

    或许是因为现在还爱着的缘故,总觉得离婚是件很不可思议的事情,当所有的誓言与承诺都可以用“离婚”来修改,再婚又意味着什么?我们的爱情可以经受得住一次又一次的背叛与修改吗?我们的婚姻经受得住一次又一次的重复建设吗?

    太阳下山明天一样爬上来,花儿谢了明年还是一样的开,可是爱情不会,婚姻也不会!与我们朝夕相处的枕边人无论到了什么时候都会在我们生命里留下最浓重的一笔,即使枕边人换了,心里还是有个角落只保留过去的点点滴滴。这样的我们,还能婚几次?

    或许一句“磨合期”而引发这么多莫名其妙的感慨有点无趣,但还是忍不住心中压抑的念头,我其实很害怕如果不乱七八糟的说上一堆,自己真的会被他为我描绘的未来生活的画面而打击到。我只好拼命的告诉我自己,即使我身边的人换了,我也不会如自己假想般享福。芸芸众生,我能牵的手不过那一双,我能珍惜的人,不过那一个!眼前的,便是最好的!

    即使我可以在另一个人身上再次体验激情澎湃,即使我可以在另一个人身上看到爱的火花四射,但我想,我应该明白,激情澎湃总有平静的时候,而爱的火花不会永远燃烧,一辈子,婚一次,够了!即使以后我们会因为琐碎的家务吵架,即使以后我们会因为这样那样的事情彼此不开心,但人生的真实不过如此,学会以爱包容,才是我的当务之急!


[狐摘本文] 原贴地址:http://club.women.sohu.com/read-zhufu0-26898-0-7.html

- 作者: huhu2k 2005年07月13日, 星期三 13:20  回复(1) |  引用(1) 加入博采

早上第一帖!

周六、周日实在有些无聊,在网上逛游了两天,周日下午去阳光小区附近游泳。那个地方是阳光小区的会所,叫做“丽水假日”。水质不好、泳池只有20*20米左右而且很多孩子,下午2:30去的不到4:00就出来了,都是人没法游。

- 作者: huhu2k 2005年07月11日, 星期一 08:46  回复(1) |  引用(1) 加入博采

后舍男生作品全集

后舍男生假唱:《分开旅行》

http://y.sina.com.cn/news/2005-06-29/172838410.html

后舍男生假唱:I want it that way

http://y.sina.com.cn/e/2005-06-29/173138412.html

后舍男生最新假唱作品:《童话》

http://y.sina.com.cn/news/2005-07-05/135738747.html

后舍男生假唱:As long as you love me

http://y.sina.com.cn/news/2005-06-29/172938411.html

Get Down 后舍男生第四力作

http://hongdou.gxnews.com.cn/hongdou/forumcenter/forumview.asp?td=0&topic_id=907809&pagenum=1

- 作者: huhu2k 2005年07月8日, 星期五 12:48  回复(1) |  引用(1) 加入博采

不让我说话好难
今天早上,blog又一次不能使用,真是的,有一种被封嘴的感觉。这是第二次我发现这种现象了!

- 作者: huhu2k 2005年07月8日, 星期五 11:40  回复(0) |  引用(1) 加入博采

proc文件系统
proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。它的目录结构如下:

目录名称 目录内容
apm 高级电源管理信息
cmdline 内核命令行
Cpuinfo 关于Cpu信息
Devices 可以用到的设备(块设备/字符设备)
Dma 使用的DMA通道
Filesystems 支持的文件系统
Interrupts 中断的使用
Ioports I/O端口的使用
Kcore 内核核心印象
Kmsg 内核消息
Ksyms 内核符号表
Loadavg 负载均衡
Locks 内核锁
Meminfo 内存信息
Misc 杂项
Modules 加载模块列表
Mounts 加载的文件系统
Partitions 系统识别的分区表
Rtc 实时时钟
Slabinfo Slab池信息
Stat 全面统计状态表
Swaps 对换空间的利用情况
Version 内核版本
Uptime 系统正常运行时间

并不是所有这些目录在你的系统中都有,这取决于你的内核配置和装载的模块。另外,在/proc下还有三个很重要的目录:net,scsi和sys。Sys目录是可写的,可以通过它来访问或修改内核的参数(见下一部分),而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi目录不存在。

除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。Proc文件系统的名字就是由之而起。进程目录的结构如下:

目录名称 目录内容
Cmdline 命令行参数
Environ 环境变量值
Fd 一个包含所有文件描述符的目录
Mem 进程的内存被利用情况
Stat 进程状态
Status 进程当前状态,以可读的方式显示出来
Cwd 当前工作目录的链接
Exe 指向该进程的执行命令文件
Maps 内存映象
Statm 进程内存状态信息
Root 链接此进程的root目录

用户如果要查看系统信息,可以用cat命令。例如:

# cat /proc/interrupts
CPU0
0: 8728810 XT-PIC timer
1: 895 XT-PIC keyboard
2: 0 XT-PIC cascade
3: 531695 XT-PIC aha152x
4: 2014133 XT-PIC serial
5: 44401 XT-PIC pcnet_cs
8: 2 XT-PIC rtc
11: 8 XT-PIC i82365
12: 182918 XT-PIC Mouse
13: 1 XT-PIC fpu PS/2
14: 1232265 XT-PIC ide0
15: 7 XT-PIC ide1
NMI: 0

用户还可以实现修改内核参数。在/proc文件系统中有一个有趣的目录:/proc/sys。它不仅提供了内核信息,而且可以通过它修改内核参数,来优化你的系统。但是你必须很小心,因为可能会造成系统崩溃。最好是先找一台无关紧要的机子,调试成功后再应用到你的系统上。

要改变内核的参数,只要用vi编辑或echo参数重定向到文件中即可。下面有一个例子:

# cat /proc/sys/fs/file-max
4096
# echo 8192 > /proc/sys/fs/file-max
# cat /proc/sys/fs/file-max
8192

如果你优化了参数,则可以把它们写成添加到文件rc.local中,使它在系统启动时自动完成修改。

/proc文件系统中网络参数

在/proc/sys/net/ipv4/目录下,包含的是和tcp/ip协议相关的各种参数,下面我们就对这些网络参数加以详细的说明。

ip_forward 参数类型:BOOLEAN
0 - 关闭(默认值)
not 0 - 打开ip转发

在网络本地接口之间转发数据报。该参数非常特殊,对该参数的修改将导致其它所有相关配置参数恢复其默认值(对于主机参阅RFC1122,对于路由器参见RFC1812)

ip_default_ttl 参数类型:INTEGER
默认值为 64 。表示IP数据报的Time To Live值。

ip_no_pmtu_disc 参数类型:BOOLEAN
关闭路径MTU探测,默认值为FALSE

ipfrag_high_thresh 参数类型:整型
用来组装分段的IP包的最大内存量。当ipfrag_high_thresh数量的内存被分配来用来组装IP包,则IP分片处理器将丢弃数据报直到ipfrag_low_thresh数量的内存被用来组装IP包。

ipfrag_low_thresh 参数类型:整型
参见ipfrag_high_thresh。

ipfrag_time 参数类型:整型
保存一个IP分片在内存中的时间。

inet_peer_threshold 参数类型:整型
INET对端存储器某个合适值,当超过该阀值条目将被丢弃。该阀值同样决定生存时间以及废物收集通过的时间间隔。条目越多﹐存活期越低﹐GC 间隔越短

inet_peer_minttl 参数类型:整型
条目的最低存活期。在重组端必须要有足够的碎片(fragment)存活期。这个最低存活期必须保证缓冲池容积是否少于 inet_peer_threshold。该值以 jiffies为单位测量。

inet_peer_maxttl 参数类型:整型
条目的最大存活期。在此期限到达之后﹐如果缓冲池没有耗尽压力的话(例如﹐缓冲池中的条目数目非常少)﹐不使用的条目将会超时。该值以 jiffies为单位测量。

inet_peer_gc_mintime 参数类型:整型
废物收集(GC)通过的最短间隔。这个间隔会影响到缓冲池中内存的高压力。 该值以 jiffies为单位测量。

inet_peer_gc_maxtime 参数类型:整型
废物收集(GC)通过的最大间隔,这个间隔会影响到缓冲池中内存的低压力。 该值以 jiffies为单位测量。

tcp_syn_retries 参数类型:整型
对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右。

tcp_synack_retries 参数类型:整型
对于远端的连接请求SYN,内核会发送SYN + ACK数据报,以确认收到上一个 SYN连接请求包。这是所谓的三次握手( threeway handshake)机制的第二个步骤。这里决定内核在放弃连接之前所送出的 SYN+ACK 数目。

tcp_keepalive_time 参数类型:整型
当keepalive打开的情况下,TCP发送keepalive消息的频率,默认值是2个小时。

tcp_keepalive_probes 参数类型:整型
TCP发送keepalive探测以确定该连接已经断开的次数,默认值是9。

tcp_keepalive_interval 参数类型:整型
探测消息发送的频率,乘以tcp_keepalive_probes就得到对于从开始探测以来没有响应的连接杀除的时间。默认值为75秒,也就是没有活动的连接将在大约11分钟以后将被丢弃。

tcp_retries1 参数类型:整型
当出现可疑情况而必须向网络层报告这个可疑状况之前﹐需要进行多少次重试。最低的 RFC 数值是 3 ﹐这也是默认值﹐根据RTO的值大约在3秒 - 8分钟之间。

tcp_retries2 参数类型:整型
在丢弃激活的TCP连接之前﹐需要进行多少次重试。RFC1122规定,该值必须大于100秒。默认值为15,根据RTO的值来决定,相当于13-30分钟,

tcp_orphan_retries 参数类型:整型
在近端丢弃TCP连接之前﹐要进行多少次重试。默认值是 7 个﹐相当于 50秒 - 16分钟﹐视 RTO 而定。如果您的系统是负载很大的web服务器﹐那么也许需要降低该值﹐这类 sockets 可能会耗费大量的资源。另外参的考 tcp_max_orphans 。

tcp_fin_timeout 参数类型:整型
对于本端断开的socket连接,TCP保持在FIN-WAIT-2状态的时间。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。默认值为 60 秒。过去在2.2版本的内核中是 180 秒。您可以设置该值﹐但需要注意﹐如果您的机器为负载很重的web服务器﹐您可能要冒内存被大量无效数据报填满的风险﹐FIN-WAIT-2 sockets 的危险性低于 FIN-WAIT-1 ﹐因为它们最多只吃 1.5K 的内存﹐但是它们存在时间更长。另外参考 tcp_max_orphans。

tcp_max_tw_buckets 参数类型:整型
系统在同时所处理的最大timewait sockets 数目。如果超过此数的话﹐time-wait socket 会被立即砍除并且显示警告信息。之所以要设定这个限制﹐纯粹为了抵御那些简单的 DoS 攻击﹐千万不要人为的降低这个限制﹐不过﹐如果网络条件需要比默认值更多﹐则可以提高它(或许还要增加内存)。

tcp_tw_recycle 参数类型:布尔
打开快速 TIME-WAIT sockets 回收。默认值是1。除非得到技术专家的建议或要求﹐请不要随意修改这个值。

tcp_max_orphans 参数类型:整型
系统所能处理不属于任何进程的TCP sockets最大数量。假如超过这个数量﹐那么不属于任何进程的连接会被立即reset,并同时显示警告信息。之所以要设定这个限制﹐纯粹为了抵御那些简单的 DoS 攻击﹐千万不要依赖这个或是人为的降低这个限制

tcp_abort_on_overflow 参数类型:布尔
当守护进程太忙而不能接受新的连接,就象对方发送reset消息,默认值是false。这意味着当溢出的原因是因为一个偶然的猝发,那么连接将恢复状态。只有在你确信守护进程真的不能完成连接请求时才打开该选项,该选项会影响客户的使用。

tcp_syncookies 参数类型:整型
只有在内核编译时选择了CONFIG_SYNCOOKIES时才会发生作用。当出现syn等候队列出现溢出时象对方发送syncookies。目的是为了防止syn flood攻击。默认值是false。

注意:该选项千万不能用于那些没有收到攻击的高负载服务器,如果在日志中出现synflood消息,但是调查发现没有收到synflood攻击,而是合法用户的连接负载过高的原因,你应该调整其它参数来提高服务器性能。参考: tcp_max_syn_backlog, tcp_synack_retries, tcp_abort_on_overflow.

syncookie严重的违背TCP协议,不允许使用TCP扩展,可能对某些服务导致严重的性能影响(如SMTP转发)。

tcp_stdurg 参数类型:整型
使用 TCP urg pointer 字段中的主机请求解释功能。大部份的主机都使用老旧的 BSD解释,因此如果您在 Linux 打开它﹐或会导致不能和它们正确沟通。默认值为为﹕FALSE

tcp_max_syn_backlog 参数类型:整型
对于那些依然还未获得客户端确认的连接请求﹐需要保存在队列中最大数目。对于超过 128Mb 内存的系统﹐默认值是 1024 ﹐低于 128Mb 的则为 128。如果服务器经常出现过载﹐可以尝试增加这个数字。警告﹗假如您将此值设为大于 1024﹐最好修改 include/net/tcp.h 里面的 TCP_SYNQ_HSIZE ﹐以保持 TCP_SYNQ_HSIZE*16 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(如果tcp_adv_win_scale 128Mb 32768-61000
0)则系统将忽略所有发送给自己的ICMP ECHO请求或那些广播地址的请求。

icmp_destunreach_rate - 整数
icmp_paramprob_rate - 整数
icmp_timeexceed_rate - 整数
icmp_echoreply_rate - 整数(not enabled per default)
限制发向特定目标的ICMP数据报的最大速率。0表示没有任何限制,否则表示jiffies数据单位中允许发送的个数。

icmp_ignore_bogus_error_responses - 布尔类型
某些路由器违背RFC1122标准,其对广播帧发送伪造的响应来应答。这种违背行为通常会被以告警的方式记录在系统日志中。如果该选项设置为True,内核不会记录这种警告信息。默认值为False。

(1) Jiffie: 内核使用的内部时间单位,在i386系统上大小为1/100s,在Alpha中为1/1024S。在/usr/include/asm/param.h中的HZ定义有特定系统的值。

conf/interface/*:
conf/all/*是特定的,用来修改所有接口的设置,is special and changes the settings for all interfaces.
Change special settings per interface.

log_martians - 布尔类型
记录带有不允许的地址的数据报到内核日志中。

accept_redirects - 布尔类型
收发接收ICMP重定向消息。对于主机来说默认为True,对于用作路由器时默认值为False。

forwarding - 布尔类型
在该接口打开转发功能

mc_forwarding - 布尔类型
是否进行多播路由。只有内核编译有CONFIG_MROUTE并且有路由服务程序在运行该参数才有效。

proxy_arp - 布尔类型
打开proxy arp功能。

shared_media - 布尔类型
发送(路由器)或接收(主机) RFC1620 共享媒体重定向。覆盖ip_secure_redirects的值。默认为True。

secure_redirects - 布尔类型
仅仅接收发给默认网关列表中网关的ICMP重定向消息,默认值是TRUE。

send_redirects - 布尔类型
如果是router,发送重定向消息,默认值是TRUE

bootp_relay - 布尔类型
接收源地址为0.b.c.d,目的地址不是本机的数据报。用来支持BOOTP转发服务进程,该进程将捕获并转发该包。默认为False,目前还没有实现。

accept_source_route - 布尔类型
接收带有SRR选项的数据报。对于主机来说默认为False,对于用作路由器时默认值为True。

rp_filter 参数类型
1 - 通过反向路径回溯进行源地址验证(在RFC1812中定义)。对于单穴主机和stub网络路由器推荐使用该选项。
0 - 不通过反向路径回溯进行源地址验证。
默认值为0。某些发布在启动时自动将其打开。'

- 作者: huhu2k 2005年07月7日, 星期四 08:43  回复(0) |  引用(1) 加入博采

今天的报道贴有些晚了
早上事情者的还很多,发现古代的哪吒有三头六臂,不过估计我有三头六臂也不能把事情都一起办了!今天特殊在要在linux下编译软件,编译这个软件必须十分小心,前一天要斋诫,净身沐浴祈求神灵保佑第二天能够顺利编译成功。想起昨晚没有如此办理今天心里还真有点虚!

- 作者: huhu2k 2005年07月5日, 星期二 12:44  回复(0) |  引用(1) 加入博采