什么是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. Solr_全文检索引擎系统

    Solr介绍: Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中. Solr ...

  2. solr_架构案例【京东站内搜索】(附程序源代码)

    注意事项:首先要保证部署solr服务的Tomcat容器和检索solr服务中数据的Tomcat容器,它们的端口号不能发生冲突,否则web程序是不可能运行起来的. 一:solr服务的端口号.我这里的sol ...

  3. 富文本编辑器Simditor的简易使用

    最近打算自己做一个博客系统,并不打算使用帝国cms或者wordpress之类的做后台管理!自己处于学习阶段也就想把从前台到后台一起谢了.好了,废话不多说了,先来看看富文本编辑器SimDitor,这里是 ...

  4. UWP开发之Mvvmlight实践九:基于MVVM的项目架构分享

    在前几章介绍了不少MVVM以及Mvvmlight实例,那实际企业开发中将以那种架构开发比较好?怎样分层开发才能节省成本? 本文特别分享实际企业项目开发中使用过的项目架构,欢迎参照使用!有不好的地方欢迎 ...

  5. javascript之闭包理解以及应用场景

    半个月没写博文了,最近一直在弄小程序,感觉也没啥好写的. 之前读了js权威指南,也写了篇博文,但是实话实说当初看闭包确实还是一头雾水.现在时隔一个多月(当然这一段时间还是一直有在看闭包的相关知识)理解 ...

  6. mongodb

    修改所有的记录: > db.t_express_apply.update({},{$set:{"isStatus" : 0}},{multi:true})WriteResul ...

  7. prometheus监控系统

    关于Prometheus Prometheus是一套开源的监控系统,它将所有信息都存储为时间序列数据:因此实现一种Profiling监控方式,实时分析系统运行的状态.执行时间.调用次数等,以找到系统的 ...

  8. ABP领域层

    1.实体Entites 1.1 概念 实体是DDD(领域驱动设计)的核心概念之一. 实体是具有唯一标识的ID且存储在数据库总.实体通常被映射成数据库中的一个表. 在ABP中,实体继承自Entity类. ...

  9. Javascript高性能编程-提高Dom访问速度

    在浏览器中对于Dom的操作和普通的脚本的操作处于两个不同的dll中,两个dll的交互是比较耗时的,优化对Dom的操作可以提高脚本的执行速度.下面是对如何优化的一些总结: 将需要多次操作的节点存储在一个 ...

  10. 【从零开始学BPM,Day3】自定义表单开发

    [课程主题] 主题:5天,一起从零开始学习BPM [课程形式] 1.为期5天的短任务学习 2.每天观看一个视频,视频学习时间自由安排. [第三天课程] 1.课程概要 Step 1 软件下载:H3 BP ...