转自 http://homewj.spaces.live.com/Blog/cns!1pav0HyE-t7RIT4zpRdid3PQ!113.entry
cygwin 汉化即其他新特性
使用cygwin的原因
最近在研究java的源码,源码官方的编译文档里提到一个unix环境到windows移植的
工具包MKS,在网上百觅不得,于是想起了久违的cygwin,使用之后居然能启动java
那庞大makefile系统,于是觉得有必要写点东西向大家推介推介。
安装
从http://www.cygwin.com/下载网络安装setup.exe,该安装程序会一步步提示,只
是选取安装包的那一节自己注意点,针对自己的需要看看有什么要额外装的。比如
编译java源码时就要多选取几个:perl、gawk、make、binutils(好像就这几个,
反正编译时会有提示找不到那个执行程序,届时用setup.exe到网上再下就可以了。
),另外vim这个包是linux下编辑文本必备的,在windows下的cygwin中也是如此。
cygwin环境汉化
修改三个文件:
1、~/.bashrc BASH的配置文件
# base-files version 3.4-2
# WARNING
#
# IF THIS .bashrc IS MODIFIED IT WILL NOT BE UPDATED BY THE CYGWIN
# SETUP PROGRAM. IT BECOMES YOUR RESPONSIBILITY.
#
# The latest version as installed by the Cygwin Setup program can
# always be found at /etc/defaults/etc/skel/.bashrc
# User dependent .bashrc file
# See man bash for more options...
# Don't wait for job termination notification
# set -o notify
# Don't use ^D to exit
# set -o ignoreeof
# Don't put duplicate lines in the history.
# export HISTCONTROL=ignoredups
# Ignore some controlling instructions
# export HISTIGNORE="[ ]*:&:bg:fg"
# Some example alias instructions
# If these are enabled they will be used instead of any instructions
# they may mask. For example, alias rm='rm -i' will mask the rm
# application. To override the alias instruction use a \ before, ie
# \rm will call the real rm not the alias.
# Interactive operation...
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
# Default to human readable figures
# alias df='df -h'
# alias du='du -h'
# Misc
# alias less='less -r' # raw control characters
# alias whence='type -a' # where, of a sort
# alias grep='grep --color' # show differences in colour
# Some shortcuts for different directory listings
# alias ls='ls -hF --color=tty' # classify files in colour
# alias dir='ls --color=auto --format=vertical'
# alias vdir='ls --color=auto --format=long'
# alias ll='ls -l' # long list
# alias la='ls -A' # all but . and ..
# alias l='ls -CF' #
# Some example functions
# function settitle() { echo -n "^[]2;$@^G^[]1;$@^G"; }
###################### 以下为添加部分 ################################
# cygwin中取\usr\share\locale\zh_CN\LC_MESSAGES中*.mo文件,如果提示信息中
# 的字符集为utf8则会显示有误(不知何解?,magiclinux无类似情况),为gb2312
# 则正常,大概与gettext这个模块有关,这个模块的作用是使linux程序提示信息
# 区域话,即不同地区用不同语言,即常说的i18n;像我们设置的zh_CN.GBK,“.”
# 之前部分“zh_CN”表示地区即“中国大陆”,后面部分“GBK”表示字符集编码,
# 像我们下面的设置,当程序调用时会到\usr\share\locale\目录中查找,发现地
# 区为“zh_CN”则到该目录中查找程序对应的*.mo文件,*.mo文件的名称是在调用
# 的程序中设置了的。然后取该语种的对应提示,然后按编码(在mo文件中指明了)
# 处理该文字。
# 当然这些不是自动处理的,要在程序中调用像setlocale、textdomian、gettext
# 这样的函数处理。
# 在cygwin中有些程序,做了下面的设置,因为对应的mo文件中编码为utf8而无法
# 显示,我是直接将它删除,之后程序会因为找不到mo文件而用默认的英文来显示
# 的。(下面的编码设置并没有错,应该是cygwin程序中的BUG,只是设置了LC_ALL
# 就没必要设LANG了,有的文档上面这样写的:))
export set LC_ALL=zh_CN.GBK
export set LANG=zh_CN.GBK
#export set LC_CTYPE=zh_CN.UTF-8
#export set CHARSET=UTF-8
# 解决ls中文显示问题
alias ls='ls --show-control-chars'
alias dir='ls --show-control-chars'
alias less='less --raw-control-chars'
# 添加清屏处理
alias clear='clearn'
alias clr='clearn'
# 添加whereis的别名
alias whereis='which'
2、~/.inputrc BASH中命令行输入出控制的配置文件
# base-files version 3.4-2
# WARNING
#
# IF THIS .inputrc IS MODIFIED IT WILL NOT BE UPDATED BY THE CYGWIN
# SETUP PROGRAM. IT BECOMES YOUR RESPONSIBILITY.
#
# The latest version as installed by the Cygwin Setup program can
# always be found at /etc/defaults/etc/skel/.inputrc
# don't beep at me
# set bell-style visible
# the following line is actually
# equivalent to "\C-?": delete-char
"\e[3~": delete-char
# VT
"\e[1~": beginning-of-line
"\e[4~": end-of-line
# kvt
"\e[H":beginning-of-line
"\e[F":end-of-line
# rxvt and konsole (i.e. the KDE-app...)
"\e[7~":beginning-of-line
"\e[8~":end-of-line
###################### 以下为添加部分 ################################
# 关闭bash命令行8字节字符转义符的转换
set convert-meta off
# 使bash命令行支持8字节字符输入
set input-meta on
# 使bash命令行支持8字节字符输出
set output-meta on
# 让bash的命令行已vi模式执行,屏蔽掉下面一行,BASH的命令行操作
# 就像vi中编辑文本一样,默认为INSERT模式,可以在BASH启动后直接
# 输入:set -o vi,来启动该开关,set +o vi关闭该模式,但在cygwin
# 中调用set +o vi关闭时会出现一些乱码,估计也是一个BUG
#set editing-mode vi
3、~/.vimrc vim的资源控制文件
" 显示语法高亮度
:syntax on
" 设置字符编码,可使显示中文光标移动和字符删除操作变为双字节
:set encoding=cp936
" 设置vim中TAB缩进为4个空格
:set ts=4
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为同一个目录。
相关推荐
2. **设置权限**:虽然不是必需的,但为了安全起见,可以为新创建的`root`目录设置适当的权限,以限制其他用户对其的访问。 ##### 步骤三:重启Cygwin 1. **重启Cygwin**:完成上述步骤后,关闭当前的Cygwin窗口,...
更新可能包括性能优化、新的库支持、对Windows新版本的兼容性增强,以及对已知问题的修复。对于Hadoop开发者来说,这意味着他们可以获得更稳定、功能更全面的开发环境。 Hadoop是一个开源的分布式计算框架,主要...
Cygwin的许多特性都依赖于环境变量的正确设置。例如,通过设置`PATH`环境变量,可以让系统知道如何查找可执行文件。 **调整Cygwin的最大内存** 某些情况下,可能需要增加Cygwin可以使用的最大内存量。这通常通过...
cygwin64 最新cygwin64 net release setup program 联网自动下载 2.917 cygwin64 最新cygwin64 net release setup program 联网自动下载 2.917 cygwin64 最新cygwin64 net release setup program 联网自动下载 2.917...
1. **模拟环境**:Cygwin通过在Windows系统上构建一个类似于Linux的运行时环境,使得命令行工具、编译器、shell脚本以及许多其他Linux应用能够正常运行。它提供了POSIX接口,让开发者可以在Windows环境下使用Unix...
cygwin-最新网络版本,csdn上好像都是比较老的,方便各位!
这个版本的Cygwin可能包含了各种基础工具、开发库、编译器、脚本解释器和其他实用程序,例如bash shell、gcc编译器、gdb调试器、git版本控制系统、vi/vim编辑器、Perl、Python等。 离线安装包意味着所有的组件都...
cygwin_lite, 小巧的cygwin虚拟机
这个是目前最新版本的cygwin安装程序。cygwin 是一个运行在windows下的一个linux模拟环境。
cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的...
Cygwin也有64位版本,即“cygwin64”,但在这个案例中,我们关注的是32位版本。 **压缩包子文件的文件名称列表:setup-x86.exe** "setup-x86.exe" 是Cygwin的安装程序,它是为32位(x86)Windows系统设计的。这个...
有时,`cygwin1.dll` 可能会因为版本不匹配或其他原因导致程序运行错误。遇到这类问题时,通常需要检查以下几点: 1. **更新Cygwin**:确保所有Cygwin组件都是最新版本,包括`cygwin1.dll`。 2. **正确配置环境...
4. **系统集成**:Cygwin可以与其他Windows应用程序交互,例如通过批处理脚本调用Cygwin命令,或者使用Cygwin工具处理Windows文件。 ### 注意事项 - **权限问题**:由于Cygwin是在Windows上运行的,因此可能会遇到...
Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发的著名工具还有eCos,不过现已被Redhat收购)。它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序...
2. **环境设置**:安装完成后,Cygwin会在Windows中创建一个新的shell环境。你可以通过开始菜单或桌面快捷方式启动Cygwin Terminal。确保你的PATH环境变量包含了Cygwin的bin目录,以便在任何地方运行Cygwin命令。 3...
通常,升级到较新的Cygwin版本可以获取更好的性能和更多的功能。 在提供的压缩包文件列表中,有以下几个关键文件: 1. `setup-x86-2.874.exe`:这是Cygwin的安装程序,用于在Windows XP上下载并安装所需组件。这个...
由于Windows XP和Windows Server 2003已经停止了官方支持,并且新版本的Cygwin可能不再兼容这些老系统,`setup-x86_64-2.874.exe`成为了一个重要的回溯选项。这个旧版本确保了在这些老操作系统上仍能享受到Cygwin...
Cygwin是一个在Windows操作系统上运行的开源软件项目,它提供了一个类Unix的环境,使得开发者可以在Windows上使用类似于Linux或Unix的命令行工具、编译器和其他应用程序。"Cygwin-setup-x86_64"是Cygwin的安装程序,...