Skip navigation.

Posts tagged with "kernel"

今天是7:00 ME: 新的活物,乌龟; LINUX: Wificard; USEFUL; KERNEL; PLAN

, , ,

LINUX: Wificard; USEFUL
终于,搞定了无限网卡了。原来是我没有装automake,autoconfig和m4。。。。
现在已经能在linux下用无限上网了,爽阿~~~~~~终于可以在校内用linux“嚣张”拉~~~~~哇哈哈哈~~~~~~~~~~:devil:

关于网卡设置,有几个东西要记:
dhclient wlan0 //取得动态ip
iwlist wlan0 scan //取得ap信息列表


KERNEL, PLAN
有了一个想法,莫非我的内核问题也是因为没有automake等???有时间试一下,明天吧。哈哈

yuelang@1[~]$ date
2006年 03月 30日 星期四 22:37:06 CST

##################################################################################3
ME 新的活物,乌龟
妈妈刚才来短信,家里新添了一个小动物,乌龟。说是有巴掌那么大。说的我也想养一只了,可是我的房间是阴面,看不到太阳,乌龟是喜欢晒太阳的。。。。。自从去年养死了两只乌龟后,再也没有心情养动物了,算了,不养了,万一养死了,就太难受了。

赫赫,今天似乎是高兴的一天。。。。唉~~~~~~~~~~~

yuelang@2[~]$ date
2006年 03月 30日 星期四 23:06:06 CST

今天是8:00 荒了几天,终于更新了 TAG: Me, Kernel, Useful, Linux, E17,

, , , ...

终于好好想了想.现在我的系统基恢复了重装前的样子.还是不错的.这两个星期来
我的事情还是挺多的.只不过一直没有整理出来.现在,终于有了点头绪了,把这几天写的
东西也整理了一下,一同贴到这个贴子里了,对时间感兴趣的话,看后面的date吧

yuelang@1[~]$ date
2006年 03月 19日 星期日 23:33:55 CST


#############################################################################
关于这次重装的原因和重装后对显卡驱动问题
在重装前试用elive,发现里面一个小游戏很好玩,在debian中也装上,结果显示效果不一般的
差,想到可能是没有装显卡驱动.再一想,恍然大悟:平时每打开有flash的网页都极度占资源,
原来是没有显卡驱动的问题.好,决定坚决解决显卡问题.
都怪我当初没有作好准备就装显卡驱动,结果搞的系统又慢又乱,只得重装了.让人郁闷的是,
等我在看显卡驱动的文章的时侯,竟然发现只要在xorg.config中的显卡配置一处指定我的显
卡是用的i810.ko模块就可以了....
我的xorg.config中关于显卡和显示器配置的一节:
Section "Device"
Identifier"Generic Video Card"
Driver"i810"
VideoRam 16384
Option "DRI" "true"
Option "Composite" "Enable"
Option "RENDER" "Enable"
#Option"UseFBDev""true"
EndSection

Section "Monitor"
Identifier"Generic Monitor"
Option"DPMS"
HorizSync30-60
VertRefresh43-75
EndSection

显示器的刷新率也作了改动,现在屏幕不抖了,养眼阿
以下两篇文章帮了大忙:
http://www.linuxsir.org/bbs/showthread.php?t=210659&highlight=intel+%E6%98%BE%E5%8D%A1+%E5%8D%A1
────《我被我的这个Intel 82852/82855显卡快搞疯了!! 》
http://www.linuxsir.org/bbs/showthread.php?t=187838&highlight=intel+%E6%98%BE%E5%8D%A1+%E5%8D%A1
────《总结一下Intel 845/865/915等版载显卡的驱动安装》

yuelang@1[~]$ date
2006年 03月 19日 星期日 02:41:42 CST

#################################################################
关于鼠标的
重装系统,然后用apt升级,把xfree86换成了xorg,重启后鼠标的滚轮就不能用了。郁闷,
因为要用滚轮作窗口的快速转换的。google,加文档。发现mouse是在xorg.config里设置的。
鼠标的设置还是相对简单的。看下选项就知道是怎么回事了。要是有不懂的,看这里
http://www.xfree86.org/4.2.0/mouse7.html
我的问题的解决是把Option "Protocol" "PS/2"改为Option "Protocol" "IMPS/2"就可以了。

关于opera的
字体,只要是用字体设置三把斧配出来的字体,基本就没有问题,我的是所有都用AR PL Ne
wSung[unkown],粗体也解决的很好(如果同时装上上海宋就会出问题,不知道是不是所有人
都这样),如果在menu上也用这个的话,英文的间距会很大,menu我是用的Bitstream Vera
Sans Mono,竟然也能显示中文,我想是和我的fontconfig有关。这个我就不会了,fontco
nfig从来就没有理解过。如果实在解决不了间距问题,可以用英文的界面:D,反正中文网页能看就行。
──我用的是opera9.0preview2 static,share版打死也用不了输入法,还好这个static版没有广告条。。。

yuelang@3[yuelang]$ date
2006年 03月 17日 星期五 02:00:12 CST
################################################################
关于我这几天用过的系统。
本来是想把elive装到硬盘上,然后作一些修改的,因为想省下装显卡驱动(这时候还不知
道装i810那么简单)。可是live-cd就是live-cd,他的好多东西都是为了自己修改过的,仅
仅是装来使用还可以,但要是作一些修改就不知道会出什么问题了。好,继续说elive,eli
ve是用两个窗口管理器的,一个是e16,一个是e17,e17还是不稳定,喜欢崩溃,而且鼠标聚
焦相当不爽,也改不过来,也懒得学怎么改了,就直接用e16吧。e16不错,默认的做的很漂
亮,不过还是装了fvwm,习惯了。。。登录用的是entrance(好像是叫这个),这是一个应该是属于e17项目的东西吧,
不知道是不是和gdm同级的。做的很漂亮,很炫,就是不知道怎么配置,加不上我的fvwm,也没有找到在哪里让他开机不起
动。无奈,改装gdm,结果。。
。进不了x了。。。算了,换系统吧。
转用knoppix,以前在同学的电脑上装过,感觉不错,安装也很简单。不过到我这里就卡了
分区这一步就过不去。。。心经过这几天的折腾懒了,实在是没有心情想为什么了。还是老老试试用hiweed吧,
“免去新手的痛苦 节省老手的时间” 前者说我呢。。。

另:knoppix很好用的,应急很不错,至于elive,喜欢用e16的话可以试试,e17.。。。还
是观赏一下吧。当然,如果你是高手,有很有精力的话,e17也很不错的,有很多人在稳定
且方便的使用e17。

yuelang@2[~]$ date
2006年 03月 19日 星期日 21:44:35 CST
#################################################################

关于我重装后的问题,有两个,其实这俩个问题在重装前就有了,不过因为不是大碍,就没
有在意,这回真是要在意了:
无限网卡不能用了。。。。编译出的ndiswrapper模块不能被挂载,总是说我的模块是个“残
废”搞的我这几天在校内都是用的windows上网。。。。不爽。很有可能是make时侯出错我没
有发现,这两天要好好看看。
新编译的内核不能启动,可是用的是原来的.config阿,曾经是编译出过稳定运行的内核的
阿。。。
出错信息:
VFS:cannot open root device "hda8" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic -- not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

我的grub的menu.list:
titleDebian GNU/Linux, kernel 2.6.15-1-686
root(hd0,7)
kernel/boot/vmlinuz-2.6.15-1-686 root=/dev/hda8 ro 
initrd/boot/initrd.img-2.6.15-1-686
savedefault
boot

titleDebian GNU/Linux, kernel 2.6.14-langer
root(hd0,7)
kernel/boot/vmlinuz-2.6.14-langer root=/dev/hda8 ro 
initrd/boot/initrd.img-2.6.14-langer
savedefault
boot


我的硬盘分区状况:
yuelang@2[~]$ sudo fdisk -l

Disk /dev/hda: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
   /dev/hda1   *           1         637     5116671    7  HPFS/NTFS
   /dev/hda2             638        4864    33953377+   f  W95 Ext'd (LBA)
   /dev/hda5             638        2549    15358108+   7  HPFS/NTFS
   /dev/hda6            2550        4206    13309821    b  W95 FAT32
   /dev/hda7            4834        4864      248976   82  Linux swap / Solaris
   /dev/hda8            4207        4833     5036346   83  Linux
   
   Partition table entries are not in disk order


请相信我,我真的已经把分区格式的支持编进内核了

yuelang@2[~]$ date
2006年 03月 19日 星期日 22:35:32 CST

#######################################################################


最后,说说我自己。这段时间,也许是想给自己一个假期吧,可结果是比平时还忙。忙考试
,忙装系统,忙生病-_-!!我高估了我自己,上次的感冒,到现在也没有好,现在还经常喘
不上气,经常半个身子是麻木的。这几天来,经常想着要把这几天的经历总结一下,可是没
有力气,白天只有力气作,没有力气来总结,甚至这几天的事只是记住了现象,连所以然都
不不能知。。。
现在我已经很累了,希望今天能好好睡一觉。
上上个周五,我去了趟西单,作了个汇款,找了找二丫要我给他买的东西,没有找到。打算
有时间去别的地方找找。最为重要的是,我把圣经买回来了,THE HOLLY BIBLE King James
version,刚看到他的时侯不知道是不是我想要的,而那里的人又不让开封(被透明纸包着
),无奈,又去了趟王府井的外文书店,翻了翻,看和我看过的中文的内容差不多,才敢买
,外文书店的标价比西单的便宜,可是我有西单图书大厦的打折卡,就又回到西单了,可是
人家说“原版图书只积分不打折”,哭死,80阿~~~~~不过回来的路上想通了,上帝的指示怎
么能打折!!
在西单还想买K&R的The C Programming Language,不过只找到了译本,没有英文版的,连
影印版都没有,人家说英文版的2001年就买光了。。。。不等我。。。。
两本圣经只买到了一本,有点不爽,去了趟超市,狂买东西,把这个学期需要的东西都买了
。。。。又花了90~~~~没钱了
基本上要记的就是这些事情了,再有的事情,等我有力气了,写到私人文档里

yuelang@3[~]$ date
2006年 03月 19日 星期日 23:20:32 CST

##################################################3

忘了说了,圣经买到了,不过还没有中文版的,没关系,有这个就行了。要看,要背,要学作人

yuelang@1[~]$ date
2006年 03月 19日 星期日 23:41:47 CST


今天是10:00

, , , ...

刚下了一张ibox,刻盘,试一下

yuelang@1[~]$ date
一 2月 13 10:41:37 CST 2006

#################################################
不爽,重新编译内核玩

yuelang@1[~]$ date
一 2月 13 13:01:53 CST 2006

#################################################

一直都忘了说,在mac上装gaim:

Can I run Gaim on MacOSX? 
Yes you can, but we do not provide a package for it. The reason being that in order to use Gaim on MacOSX, you
 need to install an X server and GTK+, which we are not prepared to support. You can either compile Gaim (and
 its dependencies) yourself, or you can use the fink installer available from http://fink.sf.net. If you would 
like a native aqua interface or a user-friendly installer, we suggest trying Adium.

——来自于gaim的faq,http://gaim.sourceforge.net/faq.php

gnutls on OS X
Disclaimer: This is horribly boring, and probably interests .003% of the population.

Tip: Information for other operating systems can be found at http://gaim.sourceforge.net/gaim-ssl.txt

Since gaim now uses gnutls (or mozilla-nss, depending on who you talk to) to connect to MSN, and since I consider myself a pseudo-documentor of gaim, I thought I should see if I could get it up and running on OS X, specifically, Panther (10.3.1).

Since I managed to get gnutls up and running with a little bit of a struggle, I thought I would document how I did
 it, to make life easier for the next poor bastard who might have to do the same thing.

First, we're going to assume that you have fink up and running on your system. Installing fink is beyond the 
scope of this document, but it's fairly simple. Here is a list of packages that I had previously installed with 
fink. Will you need them all? Definitely not. However, you may need some of them. If you run into trouble, check 
with that list.

First, you'll need to get the software. As of this writing, (11/25/2003) I used all the current versions of each
 piece of software.

libgpg-error (needed by libgcrypt):
ftp://ftp.gnupg.org/gcrypt/alpha/libgpg-error/libgpg-error-0.6.tar.gz

libgcrypt (needed by gnutls):
ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/libgcrypt-1.1.90.tar.gz

opencdk (needed by gnutls):
ftp://ftp.gnutls.org/pub/gnutls/opencdk/opencdk-0.5.3.tar.gz

gnutls (needed by gaim):
ftp://ftp.gnutls.org/pub/gnutls/gnutls-0.9.91.tar.gz

libgpg-error installed right out of the box. I simply did:


$ ./configure --prefix=/sw
$ make
$ sudo make install

It installed just fine. You'll notice I have the software install into /sw, where fink puts all of its stuff. I 
figured this was better than having it lie around in Panther's filesystem.

libgcrypt required a configure script switch which I discovered on the gcrypt-devel mailing list. If you're 
having problems, there's more discussion there.


$ ./configure --disable-asm --prefix=/sw
$ make
$ sudo make install

If you forget to add that --disable-asm, you'll have a problem during make install, if I recall correctly.

opencdk was the only real kludge job. For some reason it couldn't find malloc.h, so I had to sort of help it 
along.


$ sudo cp /usr/include/malloc/malloc.h /sw/include/
$ ./configure --prefix=/sw
$ make
$ sudo make install

I'm not sure why I had to move malloc.h, but once I did, it compiled. There seemed to still be some errors during 
compilation, but nothing that kept it from working. Or, as Anonymous notes below, you may want to try the 
following:


$ CFLAGS="$CFLAGS -I/usr/include/malloc" ./configure --prefix=/sw
$ make
$ sudo make install

I haven't tested that, but it's certainly less sloppy than actually copying the file. Next, onto gnutls itself. 
Once everything else was installed, it compiled just fine out of the box.


$ ./configure --prefix=/sw
$ make
$ sudo make install

The only "errors" that you're likely to notice during gnutls' configure sequence are the following:


checking for asn1_read_tag in -ltasn1... no
configure: WARNING:
***
*** LibtASN1 0.2.x was not found. Will use the included one.
checking whether to use the included minitasn1... yes
checking whether to include zlib compression support... yes
checking for compress in -lz... yes
checking whether to use the included lzo compression library... no
checking for lzo1x_1_compress in -llzo... no
configure: WARNING: ***
*** Liblzo was not found. Will use the included minilzo.

I didn't bother installing these two extenal libraries, and you shouldn't have to either. But according to some 
reports, you definitely need opencdk, so don't skip out on that!

gaim needed a little bit of coaxing to find the gnutls libraries. This step presumes you haven't had any problems compiling gaim already. Again, setting up X11, the X11 SDK, and just plain getting gaim to work on OS X 
are outside the scope of this document. Here's what I did to make it work:


$ CFLAGS="-I/sw/include" LDFLAGS="-L/sw/lib" ./configure --prefix="/sw" --with-gnutls-libs=/sw/lib
$ make
$ sudo make install


It might seem a bit excessive, (and maybe redundant) -- but it worked. Since I don't really -have- any MSN 
buddies, I haven't been able to test it out just yet, but I've been assured that connecting to MSN is proof 
enough.

If you have any questions, feel free to email me at mike at alphamonkey.org, or instant message me at 
mikestyne (AIM) or mike at alphamonkey.org (MSN). I also usually hang out at Freenode, on #gaim. There, I'm 
mstyne.

Posted: Tuesday, November 25th, 2003 at 07:34 EST 
[13 Comments on 'gnutls on OS X'] - [Comment on 'gnutls on OS X']
[Link to 'gnutls on OS X']


来自于
http://alphamonkey.org/view.php?type=notes&id=309

以上再结合
http://my.opera.com/yuelang85/blog/show.dml/139544
——安装gaim和openq
http://my.opera.com/yuelang85/blog/show.dml/140142
——解决声音和不能登录msn和gtalk问题

这样,就可以编译安装gaim和openq了,这些都是在mac上要作的准备,再具体的,要明天看到了鱼酱才能知道。
关于在linux上装gaim+openq,看后两个连接就行了

yuelang@1[~]$ date
一 2月 13 23:34:25 CST 2006

######################################################
两篇关于正则表达式的好文,好好看看:

正则表达式介绍
随着对U N I X和L I N U X熟悉程度的不断加深,需要经常接触到正则表达式这个领域。使用
s h e l l时,从一个文件中抽取多于一个字符串将会很麻烦。例如,在一个文本中抽取一个词,
它的头两个字符是大写的,后面紧跟四个数字。如果不使用某种正则表达式,在s h e l l中将不
能实现这个操作。
本章内容包括:
• 匹配行首与行尾。
• 匹配数据集。
• 只匹配字母和数字。
• 匹配一定范围内的字符串集。
当从一个文件或命令输出中抽取或过滤文本时,可以使用正则表达式( R E),正则表达式
是一些特殊或不很特殊的字符串模式的集合。
为了抽取或获得信息,我们给出抽取操作应遵守的一些规则。这些规则由一些特殊字符
或进行模式匹配操作时使用的元字符组成。也可以使用规则字符作为模式中的一部分进行搜
寻。例如,A将查询A,x将查找字母x。
系统自带的所有大的文本过滤工具在某种模式下都支持正则表达式的使用,并且还包括
一些扩展的元字符集。这里只涉及其中之一,即以字符出现情况进行匹配的表达式,原因是
一些系统将这类模式划分为一组形成基本元字符的集合。这是一个好想法,本书也采用这种
方式。
本章设计的基本元字符使用在g r e p和s e d命令中,同时结合{ \ \ }(以字符出现情况进行匹配
的元字符)使用在a w k语言中。
表7-1 基本元字符集及其含义
^ 只只匹配行首
$ 只只匹配行尾
* 只一个单字符后紧跟*,匹配0个或多个此单字符
[ ] 只匹配[ ]内字符。可以是一个单字符,也可以是字符序列。可以使用-
表示[ ]内字符序列范围,如用[ 1 - 5 ]代替[ 1 2 3 4 5 ]
\ 只用来屏蔽一个元字符的特殊含义。因为有时在s h e l l中一些元字符有
特殊含义。\可以使其失去应有意义
. 只匹配任意单字符
p a t t e r n \ { n \ } 只用来匹配前面p a t t e r n出现次数。n为次数
p a t t e r n \ { n,\ } m 只含义同上,但次数最少为n
p a t t e r n \ { n,m \ } 只含义同上,但p a t t e r n出现次数在n与m之间
现在详细讲解其中特殊含义。
分文本过滤
使用句点匹配单字符
句点“.”可以匹配任意单字符。例如,如果要匹配一个字符串,以b e g开头,中间夹一个
任意字符,那么可以表示为b e g . n,“.”可以匹配字符串头,也可以是中间任意字符。
在ls -l命令中,可以匹配一定权限:
. . . x . . x . . x
此格式匹配用户本身,用户组及其他组成员的执行权限。
假定正在过滤一个文本文件,对于一个有1 0个字符的脚本集,要求前4个字符之后为X C,
匹配操作如下:
. . . .X C. . . .
以上例子解释为前4个字符任意,5,6字符为X C,后4个字符也任意,按下例运行:
注意,“.”允许匹配A S C I I集中任意字符,或为字母,或为数字。
在行首以^匹配字符串或字符序列
^只允许在一行的开始匹配字符或单词。例如,使用ls -l命令,并匹配目录。之所以可以
这样做是因为ls -l命令结果每行第一个字符是d,即代表一个目录。
回到脚本( 1),使用^ 0 0 1,结果将匹配每行开始为0 0 1的字符串或单词:
可以将各种模式结合使用,例如:
^ . . . 4 X C . . . .
结果为:
第二部分文本过滤
以上模式表示,在每行开始,匹配任意3个字符,后跟4 X C,最后为任意4个字符。^在正
则表达式中使用频繁,因为大量的抽取操作通常在行首。
在行首第4个字符为1,匹配操作表示为:
^ . . . 1
结果为:
行首前4个字符为c o m p,匹配操作表示为:
^ c o m p
假定重新定义匹配模式,行首前4个字符为c o m p,后面紧跟两个任意字符,并以i n g结尾,
一种方法为:
^ c o m p . . i n g
以上例子太明显了,不是很有用,但仍讲述了混合使用正则模式的基本概念。
在行尾以$匹配字符串或字符
可以说$与^正相反,它在行尾匹配字符串或字符, $符号放在匹配单词后。假定要匹配以
单词t r o u b l e结尾的所有行,操作为:
t r o u b l e $
类似的,使用1 d $返回每行以1 d结尾的所有字符串。
如果要匹配所有空行,执行以下操作:
^ $
具体分析为匹配行首,又匹配行尾,中间没有任何模式,因此为空行。
如果只返回包含一个字符的行,操作如下:
^ . $
不像空白行,在行首与行尾之间有一个模式,代表任意单字符。
如果在行尾匹配单词j e t 0 1,操作如下:
j e t 0 1 $
使用*匹配字符串中的单字符或其重复序列
使用此特殊字符匹配任意字符或字符串的重复多次表达式。例如:
c o m p u * t
将匹配字符u一次或多次:
另一个例子:
1 0 1 3 3 *
匹配
使用\屏蔽一个特殊字符的含义
有时需要查找一些字符或字符串,而它们包含了系统指定为特殊字符的一个字符。什么
是特殊字符?一般意义上讲,下列字符可以认为是特殊字符:
假定要匹配包含字符“ .”的各行而“,”代表匹配任意单字符的特殊字符,因此需要屏蔽
其含义。操作如下:
\ .
上述模式不认为反斜杠后面的字符是特殊字符,而是一个普通字符,即句点。
假定要匹配包含^的各行,将反斜杠放在它前面就可以屏蔽其特殊含义。如下:
\ ^
如果要在正则表达式中匹配以* . p a s结尾的所有文件,可做如下操作:
\ * \ . p a s
即可屏蔽字符*的特定含义。
使用[]匹配一个范围或集合
使用[ ]匹配特定字符串或字符串集,可以用逗号将括弧内要匹配的不同字符串分开,但并
不强制要求这样做(一些系统提倡在复杂的表达式中使用逗号),这样做可以增加模式的可读
性。
使用“ -”表示一个字符串范围,表明字符串范围从“ -”左边字符开始,到“ -”右边字
符结束。
如果熟知一个字符串匹配操作,应经常使用[ ]模式。
假定要匹配任意一个数字,可以使用:
[ 0 1 2 3 4 5 6 7 8 9 ]
然而,通过使用“-”符号可以简化操作:
[ 0 - 9 ]
或任意小写字母
[ a - z ]
要匹配任意字母,则使用:
[ A - Z a - z ]
表明从A - Z、a - z的字母范围。
如要匹配任意字母或数字,模式如下:
[ A - Z a - z 0 - 9 ]
在字符序列结合使用中,可以用[ ]指出字符范围。假定要匹配一单词,以s开头,中间有
一任意字母,以t结尾,那么操作如下:
s[a-z A-Z]t
上述过程返回大写或小写字母混合的单词,如仅匹配小写字母,可使用:
s [ a - z ] t
如要匹配C o m p u t e r或c o m p u t e r两个单词,可做如下操作:
[ C c ] o m p u t e r
为抽取诸如S c o u t、s h o u t、b o u g h t等单词,使用下列表达式:
[ou] .*t
匹配以字母o或u开头,后跟任意一个字符任意次,并以t结尾的任意字母。
也许要匹配所有包含s y s t e m后跟句点的所有单词,这里S可大写或小写。使用如下操作:
[ S,s ] y s t e m \ .
[ ]在指定模式匹配的范围或限制方面很有用。结合使用*与[ ]更是有益,例如[ A - Z a - Z ] *将
匹配所有单词。
[ A - Z a - z ] *
注意^符号的使用,当直接用在第一个括号里,意指否定或不匹配括号里内容。
[^a-zA-Z]
匹配任一非字母型字符,而
[ ^ 0 - 9 ]
匹配任一非数字型字符。
通过最后一个例子,应可猜知除了使用^,还有一些方法用来搜索任意一个特殊字符。
使用\{\}匹配模式结果出现的次数
使用*可匹配所有匹配结果任意次,但如果只要指定次数,就应使用\ { \ },此模式有三种
形式,即:
pattern\{n\} 匹配模式出现n次。
pattern\{n,\} 匹配模式出现最少n次。
pattern\{n,m} 匹配模式出现n到m次之间,n , m为0 - 2 5 5中任意整数。
请看第一个例子,匹配字母A出现两次,并以B结尾,操作如下:
A \ { 2 \ } B
匹配值为A A B
匹配A至少4次,使用:
A \ { 4 , \ } B
可以得结果A A A A B或A A A A A A A B,但不能为A A A B。
如给出出现次数范围,例如A出现2次到4次之间:
A \ { 2 , 4 \ } B
则结果为A A B、A A A B、A A A A B,而不是A B或A A A A A B等。
假定从下述列表中抽取代码:
格式如下:前4个字符是数字,接下来是x x,最后4个也是数字,操作如下:
[ 0 - 9 ] \ { 4 \ }X X[ 0 - 9 ] \ { 4 \ }
具体含义如下:
1) 匹配数字出现4次。
2) 后跟代码x x。
3) 最后是数字出现4次。
结果为:
在写正则表达式时,可能会有点难度或达不到预期效果,一个好习惯是在写真正的正则
表达式前先写下预期的输出结果。这样做,当写错时,可以逐渐修改,以消除意外结果,直
至返回正确值。为节省设计基本模式的时间,表7 - 2给出一些例子,这些例子并无特别顺序。
表7-2 经常使用的正则表达式举例
^ 对行首
$ 对行尾
^ [ t h e ] 对以t h e开头行
[ S s ] i g n a [ l L ] 对匹配单词s i g n a l、s i g n a L、
S i g n a l、S i g n a L
[Ss]igna[lL]\. 对同上,但加一句点
[ m a y M A Y ] 对包含m a y大写或小写字母的
行
^ U S E R $ 对只包含U S E R的行
[tty]$ 对以t t y结尾的行
\ . 对带句点的行
^ d . . x . . x . . x 对对用户、用户组及其他用户
组成员有可执行权限的目录
^ [ ^ l ] 对排除关联目录的目录列表
[ . * 0 ] 对0之前或之后加任意字符
[ 0 0 0 * ] 对0 0 0或更多个
[ iI] 对大写或小写I
[ i I ] [ n N ] 对大写或小写i或n
[ ^ $ ] 对空行
[ ^ . * $ ] 对匹配行中任意字符串
^ . . . . . . $ 对包括6个字符的行
[a- zA-Z] 对任意单字符
[ a - z ] [ a - z ] * 对至少一个小写字母
[ ^ 0 - 9 \ $ ] 对非数字或美元标识
[ ^ 0 - 0 A - Z a - z ] 对非数字或字母
[ 1 2 3 ] 对1到3中一个数字
[ D d ] e v i c e 对单词d e v i c e或D e v i c e
D e . . c e 对前两个字母为D e,后跟两个
任意字符,最后为c e
\ ^ q 对以^ q开始行
^ . $ 对仅有一个字符的行
^\.[0-9][0-9] 对以一个句点和两个数字开始
的行
' " D e v i c e " ' 对单词d e v i c e
D e [ V v ] i c e \ . 对单词D e v i c e或d e v i c e
[ 0 - 9 ] \ { 2 \ } - [ 0 - 9 ] \ { 2 \ } - [ 0 - 9 ] \ { 4 \ } 对日期格式d d - m m - y y y y
[ 0 - 9 ] \ { 3 \ } \ . [ 0 - 9 ] \ { 3 \ } \ . [ 0 - 9 ] \ { 3 \ } \ . [ 0 - 9 ] \ { 3 \ } 对I P地址格式nnn. nnn.nnn.nnn
[ ^ . * $ ] 对匹配任意行
小结
在s h e l l编程中,一段好的脚本与完美的脚本间的差别之一,就是要熟知正则表达式并学
会使用它们。相比较起来,用一个命令抽取一段文本比用三四个命令得出同样的结果要节省
许多时间。
既然已经学会了正则表达式中经常使用的基本特殊字符,又通过一些例子简化了其复杂
操作,那么现在可以看一些真正的例程了。

来自于: http://bbs.chinaunix.net/viewthread.php?tid=61847&highlight=%D5%FD%D4%F2%B1%ED%B4%EF%CA%BD%BD%E9%C9%DC

正则表达式语法
一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描
述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符
串进行匹配。 

\ 
将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符。例如,'n' 匹
配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 

^ 
匹配输入字符串的开始位置。

$ 
匹配输入字符串的结束位置。

* 
匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。 * 等价于{0,}。 

+ 
匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。 

? 
匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。 

{n} 
n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。 

{n,} 
n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。 

{n,m} 
m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。 "o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。 

? 
当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可
能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。 

. 
匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。 

(pattern) 
匹配pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches
 集合,在Visual Basic Scripting Edition 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 '\(' 或 '\)'。 

(?:pattern) 
匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 "或" 字
符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略
的表达式。 

(?=pattern) 
正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不
需要获取供以后使用。例如, 'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配
 "Windows 3.1" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开
始下一次匹配的搜索,而不是从包含预查的字符之后开始。 

(?!pattern) 
负向预查,在任何不匹配Negative lookahead matches the search string at any point where a string not 
matching pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以
后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中
的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的
搜索,而不是从包含预查的字符之后开始 

x|y 
匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。 

[xyz] 
字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。 

[^xyz] 
负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。 

[a-z] 
字符范围。匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。 

[^a-z] 
负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范围内的任意
字符。 

\b 
匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 
"verb" 中的 'er'。 

\B 
匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。 

\cx 
匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。 x 的值必须为 A-Z 或 a-z 之一。否则,将 
c 视为一个原义的 'c' 字符。 

\d 
匹配一个数字字符。等价于 [0-9]。 

\D 
匹配一个非数字字符。等价于 [^0-9]。 

\f 
匹配一个换页符。等价于 \x0c 和 \cL。 

\n 
匹配一个换行符。等价于 \x0a 和 \cJ。 

\r 
匹配一个回车符。等价于 \x0d 和 \cM。 

\s 
匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。 

\S 
匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 

\t 
匹配一个制表符。等价于 \x09 和 \cI。 

\v 
匹配一个垂直制表符。等价于 \x0b 和 \cK。 

\w 
匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。 

\W 
匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。 

\xn 
匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如, '\x41' 匹配 "A"。
'\x041' 则等价于 '\x04' & "1"。正则表达式中可以使用 ASCII 编码。. 

\num 
匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匹配两个连续的相同字符。 

\n 
标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如
果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。 

\nm 
标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式,
则 nm 为后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不
满足,若  n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。 

\nml 
如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。 

\un 
匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如, \u00A9 匹配版权符号 (?)。

来自于: http://bbs.chinaunix.net/viewthread.php?tid=149723&highlight=%D5%FD%D4%F2%B1%ED%B4%EF%CA%BD%D3%EF%B7%A8

ChinaUnix上的确有不少好文章。好了,睡觉,明天还要找鱼酱。。。。。


yuelang@2[~]$ date
二 2月 14 03:07:01 CST 2006

~~~~天拉~~~~~~~~opera的“[code]”怎么没有纵向滚动条阿,好长。。。。。。。

今天是10:30

, ,

哎,十二点阿,又没达成。今天可不是意志力的问题,今天是人祸,被紫的一个电话 叫起来了,然后就在也睡不着了。。。

yuelang@1[~]$ date
五 1月 6 10:36:34 CST 2006

###################################
又编译了一遍内核,重启问题解决了。同时把内核模认locale设为UTF-8。.config版本号升至0.2.4

config-by-langer-0.2.4

现在u盘挂载有问题,不能看到u盘

yuelang@1[~]$ date
五 1月 6 15:14:32 CST 2006

今天是11:30

, , ,

刚才努力奋斗了一下,还是没有成功睡到12:00。。。。

昨天配了3个小时conky,终于知道怎么用了,今天再花两个小时,争取配出来

yuelang@1[~]$ date
四 1月 5 11:45:13 CST 2006

################################
趁看书的时间,编译一遍内核,上一次关于版本号的问题,现在明白了,CONFIG_LOCALVERSION的值里,不能有大写字母,标点符号没有全试,最好是没有

yuelang@2[~]$ date
四 1月 5 14:20:34 CST 2006

###############################
天,刚才忘了把网卡编入内核,在编译一遍吧

关于LocalVersion,问题多多,在编译生成deb时,他产生的内核版本是内核名(make时指定的)+localVersion,用dpkg安装时产生的moudle的dir也叫内核名+localVersion,而yaird似乎只认内核名,所以在安装时,会出现版本错误的提示,刚才我把moudle目录名该为了内核名,就可以正常安装了,这样,安装完后,会出现两个moudle的目录,一个叫内核名+localVersion,另一个叫内核名。启动是可以正常的,如果删掉叫内核名的目录,不知会怎样,这次编完,要实验一下

还有,localVersion中是不显示空格的,所以现在我的内核版本很难看,这回我要试试用“-”代替内核

内核编译我是用make-kpkg编成.deb的

yuelang@1[~]$ date
四 1月 5 15:47:44 CST 2006

#################################
删掉上面说到的那样的内核时,两个moudle目录都有所涉及,要想正常运行似乎是不可删除

yuelang@1[~]$ date
四 1月 5 15:52:00 CST 2006

#################################
以内核名的目录可以删除,到现在为止还没有问题,新内核出了有点大以外,没什么问题,内存占用比以前的还低2m,不过还是比debian的小,因为砍了好多没用的东西
config-by-langer-0.2.3


还有一段文字,是关于用tar作备份的
Eric Hsu
2005年12月3日 下午12时11分   显示选项

对所有 linux 都通用的, 而且我在用着的就是 gentoo 
的所谓 stage4 的备份啦 (整系统备份) 
很简单: 
1. umount 不需要备份, 或需要单独备份的分区 (比如你的 
win32 分区, 我自己的专门放重要数据的 /mnt/data 分区) 
2. 进到一个有空闲空间较大的分区中, 假设是 /mnt/backup 
3. 用 tar 命令把整个系统打包到这个目录下, 
命令大概如下: 
tar cvjpf ./stage4.tar.bz2 / --exclude=/proc/* --exclude=/sys/* 
--exclude=.... 


其中的几个参数的意思是: 
c - 创建压缩文件 
v - 输出可见信息 
j - 进行 bz2 压缩 
p - 保留文件权限 (非常关键!!) 
f - 压缩到指定文件 (./stage4.tar.bz2) 中 


留心, ./stage4.tar.bz2 紧跟着后面是一个 /, 
也就是我们要备份整个系统 (/ 就是系统的根目录). 


其后跟着的就是一些不需要备份的目录, 
一般这几个都不需要备份: 
/sys 
/proc 
/dev 
/tmp 
/var/tmp 


有的文档里教你用 --exclude=/proc 这样的形式, 
我自己用的是 --exclude=/proc/*, 两者的差别在于, 
前者是忽略了整个 /proc 目录, 也就是说, 在备份出来的 
tar.bz2 包里, 解压缩后, 没有 /proc 这个目录; 
而我的写法的结果是, /proc 目录本身被保留了, 
只是忽略了 /proc 里面的所有东西. 
我个人觉得这样更合适, 到时恢复系统的时候, 
这些目录就不必自己去创建, 
然后还得考虑权限什么的. 


具体细节可以上 gentoo 论坛搜索 stage4, 
有很详细的文档可以参考. 这种备份方式是所有 linux 
通用的. 


如果要进行更复杂的备份, 例如增量备份之类的, 
甚至要对备份后的数据进行加密, 那可以 google 一下 
duplicity 这样的工具, linux 下好多这些好东东的.

摘自" 每日阅读 ": http://groups.google.com/group/nkeric-daily/browse_thread/thread/2ef7e49dd9a429b8

yuelang@1[~]$ date
四 1月 5 19:33:16 CST 2006

######################################################
还有一件事,关于无限网卡的,ndiswrapper是要编译成一个模块的,所以要用到内核源码或头文件。要注意的是:如果是自己编译的内核,编译完成后,相应的moudle目录中,有一个连接两个连接就是指向源码的,这里的源码,不是从网上下下来的那种,而是编译完成后没有作过make clean的。不然,编译模块时会出现找不到内核源码的错误信息。而这个源码有380m,我现在在把他打成.tar.bz2的包,需要时解压出来。不过还有个办法,把那个源码目录中不需要的东西删掉。

yuelang@1[~]$ date
四 1月 5 19:53:11 CST 2006

####################################################
新内核的重启有问题,关闭后不能出现asus的logo,不知道是什么原因。不过我重启的频率不高,先不管了

yuelang@1[~]$ date
四 1月 5 23:05:20 CST 2006

###################################################
忘了说了,桌面几乎完全配好了。还差一个天气预报




yuelang@1[~]$ date
五 1月 6 01:30:47 CST 2006

今天是9:30

, , , ...

从今天起,要开始复习了,还有一星期考试。。。。


e17在前天和昨天奋斗了一晚上后,终于装上了,界面炫得不得了,配置也要比fvwm简单得多,点点鼠标就行了,而又能实现几乎所有fvwm的功能,而且有好多fvwm做不到的东西,大有前途的一个窗口管理器阿,而且现在有桌面环境的苗头了。不过我这里还不稳定,经常出现莫名其妙的崩溃,可是别人说已经很稳定了,可能是我的编译有问题。

yuelang@1[~]$ date
一 1月 2 09:34:43 CST 2006
#########################################
忘了说了,e17是用一个自动安装脚本下载源码包,再手动编译安装的。脚本在这里:
oldinse17.pl
只要运行
$perl oldinse17.pl
即可下载,但是我没有让他自动编译,还是手动的,最好手动,脚本中有些问题
原帖在:http://www.linuxsir.org/bbs/showthread.php?t=229286 (E17自动安装脚本)


另外,这里有一个东西:deborphan
3. 清除系统中的孤儿包

HTML 代码:

$deborphan --guess-all|tr ["\n"] [" "]|sudo xargs apt-get remove --purge - -y


摘自:http://www.linuxsir.org/bbs/showthread.php?t=228856 ([eTony热线]Debian 小贴士(进行中...))

yuelang@1[~]$ date
一 1月 2 10:10:43 CST 2006

##########################################3

无限网卡装上了,装了kernel-head后就装上了,先要编译安装ndiswrapper,然后按照里面的install文件安装驱动就行了。编译安装他会要内核的head文件,如果是自行编译的内核,可能要麻烦一些,可能要改ndiswrapper.spec来指定内核源码的位置。按照install文件一步一步来是上策。最好不要apt现成的包,内核版本不一致,还可能有错误。。。。。我用的是debian的2.9.14.7内核及头文件,ndiswrapper版本1.7
发现一个东西:wlcardconfig,最好是用knoppix的包安装,我没有找到在那里下,找到了他的sh文件源码,也可以用。。。。不过我没有用他,似乎用iwconfig就可以配置无限网卡了,用xfce的xfld似乎也行(这个因为是图形界面的,应该更方便)
wlcardconfig

我可不是没学习阿,我是一不小心发现了问题所在,才又回到安装无限网卡的问题上的。。。。。
yuelang@1[~]$ date
一 1月 2 14:48:31 CST 2006
##############################################

忘了说,ndiswrapper这个东西很强大的,能装上几乎所有的无限网卡驱动,只要能找到那个网卡的windows驱动即可,按照他的原理,应该也能装上别的硬件的驱动的,不过他只为无限网卡,可惜了

看书看书。。。。。。。。学习学习。。。。。。。。。。。

yuelang@2[~]$ date
一 1月 2 14:50:36 CST 2006
#########################################

关于无限网卡和ndiswrapper,还有一些补充,在这里:http://my.opera.com/yuelang85/blog/show.dml/102801

yuelang@1[~]$ date
四 1月 5 19:55:21 CST 2006


发现了个问题

,

这段时间用自己编译的内核,有个问题,一直没怎么注意,刚才好像严重了。有些程序,一上传数据,就会自动关闭,刚才别人用firefox还出现了关不掉的现象,cpu占用100&,cpu温度直飙70C,幸亏我及时发现,要不就出事了。。。。

不知道是不是内核中网络配置的问题,要不这两天先用用旧内核看看?

到现在为止,内核终于算是又编译完了一遍,

,

到现在为止,内核终于算是又编译完了一遍,至于是否稳定,是否好用,还需要时间来检验,剩下的,还需要装无限网卡和Speedstep


基本上,这次重装,最恼人的部分已经过去,该做做应该做的事了。


今天下午去了趟北语,领到了toefl成绩,分数低的不能再低了。作文倒是出乎意料,竟然得了4分,看来是判官可怜我,多给了一分。不过低也就低吧,如果高的话,我会更伤心的,我已经放弃了出国的希望,要这个成绩,实在是没有意义,可怜了我那张人民日报上的照片,如果拿它做绩点,一定不错,不过已经没有用了。现在什么都没有用了,好好学学数学和英语吧,他们对我学习电脑有点用,也就是学习电脑方面的东西现在还能对我有点意义,至少可以麻木我,让我不想别的事。。。。。

今天起晚了,9:30

,

起晚了,北语那边可能要下午去了。。。。

趁现在,检查一下昨天发现的问题吧,也许还真是内核的bug呢
January 2010
S M T W T F S
December 2009February 2010
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30