cygwin下有一些命令,按命令名在setup里搜索不到的,每次安装都要google,汇总记录备忘于此。
telnet, 包名 inetutils ,属于 Net 类
dig, 包名 bind-utils ,属于 Net 类
FreeTDS-devel,替代包名 libsybdb-devel (libraries to connect to MS-SQL and Sybas databases development), 用来安装pymssql时会需要freeTDS开发包的sqlfront.h文件(比如pip install pymssql 时报错 sqlfront.h: No such file or directory ),但cygwin中并没有freetds-devel, 这时安装 libsybdb-devel可通过。事实上,在cygwin里libsybdb 是freetds的依赖包,而libsybdb-devel 并没有随之安装,需要编译时自然是找不到头文件了,这在cygwin官方文档的里有提到的: https://cygwin.com/packages/summary/freetds-src.html
可以使用windows版代替的包
win32默认是ansi/gbk编码,默认输出是乱码,可以使用iconv转换一下
ping,nslookup
中文windows环境下ping乱码方案参看本文后
cygwin里没有,或暂时还没找方案的包
netstat, 好像没有这个工具,使用windows的版本吧….
nslookup
windows版工具输出乱码的解决方案
ping,nslookup等工具只能使用windows版的,但是windows默认是本地化ansi编码,在cygwin下显示为乱码。更麻烦的是,因为乱码内容骗死人不偿命,看下图里的ip地址 看ip地址被煞有其事的显示成什么样子!
解决方案如下:
新建一个文件 /usr/local/bin/ping
#!/usr/bin/env bash echo "## this is windows ping, not cygwin/gnu ping" echo " for help: ping /? " ping.exe $* |iconv -c -f gbk -t utf-8
创建一个符号链接,并赋执行权限
chmod +x /usr/local/bin/pin
重新打开cygwin的shell
netstat, nslookup等可如法炮治。
#!/usr/bin/env bash echo "## this is windows netstat, not cygwin/gnu netstat" echo " for help: netstat /? " netstat.exe $* |iconv -c -f gbk -t utf-8
其他有用软件的包
Scheme解释器(lisp方言Scheme的运行环境):chicken
chicken: A practical and portable scheme system. 在setup中搜索sheme搜不出来中,要搜索chicken. The CHICKEN Scheme interpreter.
GNU common lisp解释器,直接搜索clisp即可搜索出来。