什么是babun

babun是windows上的一个第三方shell,在这个shell上面你可以使用几乎所有linux,unix上面的命令,他几乎可以取代windows的shell。用官方的题目说就是A Windows shell you will love!

babun的几个特点

使用babun无需管理员权限
先进的安装包管理器(类似于linux上面的apt-get或yum)
预先配置了Cygwin和很多插件
拥有256色的兼容控制台
HTTP(S)的代理支持
面向插件的体系结构
可以使用它来配置你的git
集成了oh-my-zsh
自动升级
支持shell编程,内置VIM等

Cygwin

babun的核心包括一个预配置的Cygwin。cygwin是一个非常好的工具,但有很多使用技巧,使你能够节省大量的时间。babun解决了很多问题,它里面包含了很多重要的软件包,是你能够第一时间能够使用它们。

包的管理:
babun的包管理在shell输入:pact,这类似于:apt-get或yum,来非常方便的管理软件包,安装、升级、搜索和删除,让你省区很多麻烦,shell输入pact —help能够获得帮助信息。

shell

babun的shell通过调整,已达到最佳的用户体验,babun有两个配置之后马上使用的shell(默认使用zsh),babun的shell具有以下的特点

语法高亮
具有unix的工具
软件开发工具
git-语义提示
自定义脚本和别名
等等………

Console

babun支持HTTP代理,只需添加地址和HTTP代理服务器的凭据。babunrc文件所在文件夹执行源babunrc启用HTTP代理。目前还不支持SOCKS代理。

开发者工具

babun提供多种方便的工具和脚本,是你的开发工作更轻松,具有的功能如下

编程语言(python,Perl, etc等)
git(各种各样的别名调整)
UNIX工具((grep, wget, curl, etc)
vcs (svn, git)
oh-my-zsh
自定义脚本(pbcopy, pbpaste, babun, etc)

babun官网链接:http://babun.github.io/

什么是cmder

cmder是window下的多标签命令行工具,可以方便的新建cmd、cmd admin、powershell、powershell admin多种命令行,设置很多,功能强大。

安装

cmder安装

下载:http://cmder.net/

cmder是开箱即用的软件就不在详述了,具体使用可参考官网说明。

babun安装

下载:http://babun.github.io/

默认安装

下载完成之后解压babun,直接双击目录中install.bat脚本(需管理员权限)进行安装。几分钟之后自动安装完成,默认会被安装在%userprofile%\.babun目录下。

自定义安装位置

通过cmd命令行在执行install.bat时指定参数/t或/target指定安装的目录。

执行:babun.bat /t c:\babun

安装好之后会在c:\babun目录下生成一个.babun的目录,babun所有文件都在这个目录中。注意安装目录最好不要有空格,这是cygwin要求的。

测试安装成功

安装完毕后,一般需要以下两个命令检查

babun check(用于判断环境是否正确)
babun update(用于判断是否有新的更新包)

Babun配置

默认根目录

%userprofile%\.babun\cygwin\home\Mike

windows cmd内置命令显示中文

babun默认编码是UTF-8的,而windows的cmd命令输出是GBK编码的,所以在Babun里面运行ipconfig等windows命令时,中文会是一大堆乱码。

解决:在babun自带的shell(mintty)右上角右键options-text,在character set选择default或者GBK,之后执行ipconfig等cmd内置的命令时就正常显示中文了。

如果把Babun的编码改成GBK的话,命令的中文输出倒是正常了,PS1却会出现一个乱码字符。

去掉命令提示符乱码

babun内置两个shell,默认是zsh,另一个是bash,设置成中文后命令提示符最后会有一个乱码字符,看着很不爽,要修改PS1变量去掉。把乱码字符替换为:>>

bash

vi /usr/local/etc/babun.bash
PS1="\[\033[00;34m\]{ \[\033[01;34m\]\W \[\033[00;34m\]}\[\033[01;32m\] \$( git rev-parse --abbrev-ref HEAD 2> /dev/null || echo "" ) \[\033[01;31m\]>>\[\033[00m\]"

zsh

vi ~/.oh-my-zsh/custom/babun.zsh-theme

PROMPT='%{$fg[blue]%}{ %c } \
%{$fg[green]%}$(  git rev-parse --abbrev-ref HEAD 2> /dev/null || echo ""  )%{$reset_color%} \
%{$fg[red]%}%(!.#.>>)%{$reset_color%} '

这样改好后命令提示符就变成: { ~ } >>

注:将编码修改成GBK后,ls命令中文文件名的会出现乱码。最好在Babun环境中使用UTF-8编码,ipconfig等windows指令用cmder或默认cmd执行就行了。

将Babun整合到ConEmu/cmder

在cmder窗口右上角右键Settings>Startup>Tasks,点+号添加一个新task,命名为babun。

在Task parameters中填入

/icon "%userprofile%\.babun\cygwin\bin\mintty.exe" /dir "%userprofile%"

在Commands中填入以下任意一种都可以

#默认使用ZSH
%userprofile%\.babun\cygwin\bin\mintty.exe /bin/env CHERE_INVOKING=1 /bin/zsh.exe #使用自定义mintty配置
%userprofile%\.babun\cygwin\bin\mintty.exe -t "%userprofile%\.babun\cygwin\etc\minttyrc"

保存后,建立一个新终端时选Babun就可用了。

配置个性化的mintty

vim ~/.minttyrc

CursorType=block
Term=xterm-256color
Font=Source Code Pro Semibold
FontHeight=10

开发环境配置

pip

Babun内置了Python、Perl等解释器。cygwin自带的python没有pip,需手动安装。

直接执行下面这个命令就好了。

wget https://bootstrap.pypa.io/get-pip.py -O - | python

有了pip就可以自由的安装诸如ipython之类的东西,还有包罗万象的类库。

常用插件

Babun默认是安装了Oh My ZSH的,这里可以根据自身情况安装一些插件。具体可参考利用Oh-My-Zsh打造你的超级终端一文

包管理器使用

babun提供一个叫pact包管理工具,类似于linux上面的apt-get或yum的包管理工具。

pact使用语法

pact: Installs and removes Cygwin packages.

Usage:
 "pact install " to install given packages
 "pact remove " to remove given packages
 "pact update " to update given packages
 "pact show" to show installed packages
 "pact find " to find packages matching patterns
 "pact describe " to describe packages matching patterns
 "pact packageof " to locate parent packages
 "pact invalidate" to invalidate pact caches (setup.ini, etc.)
Options:
 --mirror, -m : set mirror
 --invalidate, -i       : invalidates pact caches (setup.ini, etc.)
 --force, -f : force the execution
 --help
 --version

pact使用比较简单,不在详述了!

常用软件安装

#安装tmux
pact install tmux         #安装screen
pact install screen #安装zip
pact install zip #安装svn
pact install subversion #安装lftp命令
pact install lftp #安装p7zip命令
pact install p7zip #基于openssh的socks https代理
pact install connect-proxy #安装linux基础命令行工具more/col/whereis等命令
pact install util-linux     #安装dig命令
pact install bind-utils #安装Telnet等常用网络命令
pact install inetutils   #安装python环境
pact install python        
pact install python-crypto

这个包管理很方便,用法也简单,按照自己需要安装吧!

windows下的命令行工具babun的更多相关文章

  1. Windows下SVN命令行工具使用详解

    根据我的记忆,似乎Windows 7下自自带一个svn命令行工具.如果你的机器没有,不必担心.你可以从http://subversion.tigris.org获 取subversion for win ...

  2. windows 下的命令行工具。。

    1.powershell window自带..右下角搜索..powershell 2.conemu https://code.google.com/p/conemu-maximus5/wiki/Dow ...

  3. Tools - Windows系统下的命令行工具Cmder

    cmder简介 官网:http://cmder.net/ GitHub:https://github.com/cmderdev/cmder Cmder是一个windows下的命令行工具,用来替代win ...

  4. 如何让 Windows 上的命令行工具更好用

    侯爵老师视频详解:如何让 Windows 上的命令行工具更好用 很多 Windows 用户在打开这个小黑窗时,都会情不自禁的感慨,「实在是太丑了--」 实际上如果你用的是 Windows 8 或 Wi ...

  5. windows下cmd命令行显示UTF8字符设置(CHCP命令)

    本文由 www.169it.com 收集整理 在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容.在默认情况下 ...

  6. SNMP WINDOWS系统的命令行工具下载

    SNMP windows系统的命令行工具snmputil.exe下载链接:请点击

  7. Windows下的命令行终端 cmder

    Windows下有很多比系统自带的cmd或者PowerShell好用的命令行工具,cmder是最为推荐的一款. 1.从cmder官网直接下载,一般下载full版本,下载完成后解压文件到自己指定的目录, ...

  8. windows下运行命令行mysql,提示mysql不是内部命令,解决办法

    1. 打开CMD命令行,连接本地mysql数据库:mysql -u root -p 提示‘mysql’不是本地命令,解决办法如下: 找到你安装的mysql的目录,打开当前目录下的bin文件夹,你可以看 ...

  9. Windows下使用命令行编译Qt项目(解决DLL丢失问题)

    一.前言 我之前用Qt做了个hello world,结果各种报错,一大堆DLL找不到,今天用命令行编译就通过了 二.准备工作 1.Visual Studio(有nmake就行) 2.Qt 3.把qma ...

随机推荐

  1. 聊聊Unity项目管理的那些事:Git-flow和Unity

    0x00 前言 目前所在的团队实行敏捷开发已经有了一段时间了.敏捷开发中重要的一个话题便是如何对项目进行恰当的版本管理.项目从最初使用svn到之后的Git One Track策略再到现在的GitFlo ...

  2. JavaScript性能优化

    如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度. 这种情况下决定程序速度的另一个重要因素就是代码本身. 在这里我们会分门别类的介绍J ...

  3. 算法与数据结构(八) AOV网的关键路径

    上篇博客我们介绍了AOV网的拓扑序列,请参考<数据结构(七) AOV网的拓扑排序(Swift面向对象版)>.拓扑序列中包括项目的每个结点,沿着拓扑序列将项目进行下去是肯定可以将项目完成的, ...

  4. Tesseract-OCR字符识别简介

    OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程.Tesseract:开源的OCR识别引擎,初期Tesseract引擎 ...

  5. 【Reading Note】Python读书杂记

    赋值 >>> list=[] >>> app=[list,list,list] >>> app [[], [], []] >>> ...

  6. 【踩坑速记】二次依赖?android studio编译运行各种踩坑解决方案,杜绝弯路,总有你想要的~

    这篇博客,只是把自己在开发中经常遇到的打包编译问题以及解决方案给大家稍微分享一下,不求吸睛,但求有用. 1.大家都知道我们常常会遇到dex超出方法数的问题,所以很多人都会采用android.suppo ...

  7. Nested Loops join时显示no join predicate原因分析以及解决办法

    本文出处:http://www.cnblogs.com/wy123/p/6238844.html 最近遇到一个存储过程在某些特殊的情况下,效率极其低效, 至于底下到什么程度我现在都没有一个确切的数据, ...

  8. C++内联函数

    在C语言中,我们使用宏定义函数这种借助编译器的优化技术来减少程序的执行时间,那么在C++中有没有相同的技术或者更好的实现方法呢?答案是有的,那就是内联函数.内联函数作为编译器优化手段的一种技术,在降低 ...

  9. centos安装nodejs

    1.下载安装nodejs wget http://nodejs.org/dist/v0.10.25/node-v0.10.25.tar.gz compat--c++ tar -xf node-v0.1 ...

  10. Linux实战教学笔记02:计算机系统硬件核心知识

    标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 互联网企业常见服务器介绍 1.1 互联网公司服务器品牌 - DELL(大多数公司,常用) - HP - IBM(百度在用) 浪潮 联想 航天联 ...