22 Oct 2007

About cygwin

cygwin的新特性
windows驱动器的管理
cygwin启动后,windows中驱动器自动挂接到cygdrive目录。
比如:
wj@wj-server1 ~
$ ls /cygdrive
c d e
cygdrive是一个虚拟目录,它在注册表中设置。
看看这个:
wj@wj-server1 ~
$ regtool get '\HKLM\software\Cygnus Solutions\Cygwin\mounts v2\cygdrive prefix'
/cygdrive
regtool是cygwin中注册表的操作工具,get选项会把上面注册表项的值显示出来。
我们把/cygdrive该成/media试试。
wj@wj-server1 ~
$ regtool set '\HKLM\software\Cygnus Solutions\Cygwin\mounts v2\cygdrive prefix' '/media'
重启cygwin
wj@wj-server1 ~
$ ls /media
c d e
在cygwin中也可以这样操作驱动器,比如我们要进入到E盘
wj@wj-server1 ~
$ cd e:
wj@wj-server1 /media/e
$
wj@wj-server1 /media/e
$ ls
DZSW20050606.rar EDUMS20050606.rar cvs ftp.txt music temp
Downloads Recycled ebook job oracle work
EDUMS20050529.rar ctais film linux rav.rar 全国DNS地址.txt
直接输盘符cd就可以了。等同于下面的操作。
wj@wj-server1 ~
$ cd /media/e
wj@wj-server1 /media/e
$
另外, '\HKLM\software\Cygnus Solutions\Cygwin\mounts v2\'下面的项可以制
定目录的连接关系,比如该项下面有一个项叫‘/’该项中有个值叫‘native’为字
符串‘C:\cygwin’,cygwin启动的时候就会将根目录‘/’指向‘C:\cygwin’本地
目录。所以你无论从那个目录启动bash.exe程序,根目录是不会变的,以前的好像
不是,默认的关联还有‘/usr/bin’指向‘C:\cygwin/bin’所以cygwin中/usr/bin
和/bin其实是同一个目录,因为根目录/为‘C:\cygwin’,‘/usr/lib’指向
‘C:\cygwin/lib’,同理/usr/lib与/lib为同一个目录。

No comments :

Post a Comment